Update app.py
Browse files
app.py
CHANGED
@@ -55,14 +55,28 @@ SYSTEM_PROMPT = (
|
|
55 |
)
|
56 |
|
57 |
# --- Prompt Builder ---
|
58 |
-
def build_prompt(messages, context=""):
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
return prompt
|
65 |
|
|
|
66 |
# --- Embed Uploaded Documents ---
|
67 |
@st.cache_resource
|
68 |
def embed_uploaded_files(files):
|
@@ -125,7 +139,7 @@ if prompt := st.chat_input("Ask something based on uploaded documents..."):
|
|
125 |
|
126 |
# Limit to last 6 messages for memory
|
127 |
recent_messages = st.session_state.messages[-6:]
|
128 |
-
full_prompt = build_prompt(recent_messages, context)
|
129 |
|
130 |
with st.chat_message("assistant", avatar=BOT_AVATAR):
|
131 |
start = time.time()
|
|
|
55 |
)
|
56 |
|
57 |
# --- Prompt Builder ---
|
58 |
+
def build_prompt(messages, context="", model_name="Qwen"):
|
59 |
+
if "Mistral" in model_name:
|
60 |
+
# Alpaca-style prompt
|
61 |
+
prompt = f"You are DigiTwin, an expert in offshore inspection, maintenance, and asset integrity.\n"
|
62 |
+
if context:
|
63 |
+
prompt += f"Here is relevant context:\n{context}\n\n"
|
64 |
+
for msg in messages:
|
65 |
+
if msg["role"] == "user":
|
66 |
+
prompt += f"### Instruction:\n{msg['content'].strip()}\n"
|
67 |
+
elif msg["role"] == "assistant":
|
68 |
+
prompt += f"### Response:\n{msg['content'].strip()}\n"
|
69 |
+
prompt += "### Response:\n"
|
70 |
+
else:
|
71 |
+
# Qwen-style
|
72 |
+
prompt = f"<|im_start|>system\n{SYSTEM_PROMPT}\n\nContext:\n{context}<|im_end|>\n"
|
73 |
+
for msg in messages:
|
74 |
+
role = msg["role"]
|
75 |
+
prompt += f"<|im_start|>{role}\n{msg['content']}<|im_end|>\n"
|
76 |
+
prompt += "<|im_start|>assistant\n"
|
77 |
return prompt
|
78 |
|
79 |
+
|
80 |
# --- Embed Uploaded Documents ---
|
81 |
@st.cache_resource
|
82 |
def embed_uploaded_files(files):
|
|
|
139 |
|
140 |
# Limit to last 6 messages for memory
|
141 |
recent_messages = st.session_state.messages[-6:]
|
142 |
+
full_prompt = build_prompt(recent_messages, context, model_name=model_id)
|
143 |
|
144 |
with st.chat_message("assistant", avatar=BOT_AVATAR):
|
145 |
start = time.time()
|