Kevin Hu
commited on
Commit
·
0a66555
1
Parent(s):
75f6aef
add keyword extraction time elapsed to the little lamp. (#3207)
Browse files### What problem does this PR solve?
### Type of change
- [x] Refactoring
api/db/services/dialog_service.py
CHANGED
|
@@ -196,6 +196,8 @@ def chat(dialog, messages, stream=True, **kwargs):
|
|
| 196 |
questions = [full_question(dialog.tenant_id, dialog.llm_id, messages)]
|
| 197 |
else:
|
| 198 |
questions = questions[-1:]
|
|
|
|
|
|
|
| 199 |
|
| 200 |
rerank_mdl = None
|
| 201 |
if dialog.rerank_id:
|
|
@@ -208,6 +210,7 @@ def chat(dialog, messages, stream=True, **kwargs):
|
|
| 208 |
else:
|
| 209 |
if prompt_config.get("keyword", False):
|
| 210 |
questions[-1] += keyword_extraction(chat_mdl, questions[-1])
|
|
|
|
| 211 |
|
| 212 |
tenant_ids = list(set([kb.tenant_id for kb in kbs]))
|
| 213 |
kbinfos = retr.retrieval(" ".join(questions), embd_mdl, tenant_ids, dialog.kb_ids, 1, dialog.top_n,
|
|
@@ -267,7 +270,9 @@ def chat(dialog, messages, stream=True, **kwargs):
|
|
| 267 |
if answer.lower().find("invalid key") >= 0 or answer.lower().find("invalid api") >= 0:
|
| 268 |
answer += " Please set LLM API-Key in 'User Setting -> Model Providers -> API-Key'"
|
| 269 |
done_tm = timer()
|
| 270 |
-
prompt += "\n\n### Elapsed\n - Retrieval: %.1f ms\n - LLM: %.1f ms"%
|
|
|
|
|
|
|
| 271 |
return {"answer": answer, "reference": refs, "prompt": prompt}
|
| 272 |
|
| 273 |
if stream:
|
|
|
|
| 196 |
questions = [full_question(dialog.tenant_id, dialog.llm_id, messages)]
|
| 197 |
else:
|
| 198 |
questions = questions[-1:]
|
| 199 |
+
refineQ_tm = timer()
|
| 200 |
+
keyword_tm = timer()
|
| 201 |
|
| 202 |
rerank_mdl = None
|
| 203 |
if dialog.rerank_id:
|
|
|
|
| 210 |
else:
|
| 211 |
if prompt_config.get("keyword", False):
|
| 212 |
questions[-1] += keyword_extraction(chat_mdl, questions[-1])
|
| 213 |
+
keyword_tm = timer()
|
| 214 |
|
| 215 |
tenant_ids = list(set([kb.tenant_id for kb in kbs]))
|
| 216 |
kbinfos = retr.retrieval(" ".join(questions), embd_mdl, tenant_ids, dialog.kb_ids, 1, dialog.top_n,
|
|
|
|
| 270 |
if answer.lower().find("invalid key") >= 0 or answer.lower().find("invalid api") >= 0:
|
| 271 |
answer += " Please set LLM API-Key in 'User Setting -> Model Providers -> API-Key'"
|
| 272 |
done_tm = timer()
|
| 273 |
+
prompt += "\n\n### Elapsed\n - Refine Question: %.1f ms\n - Keywords: %.1f ms\n - Retrieval: %.1f ms\n - LLM: %.1f ms" % (
|
| 274 |
+
(refineQ_tm - st) * 1000, (keyword_tm - refineQ_tm) * 1000, (retrieval_tm - keyword_tm) * 1000,
|
| 275 |
+
(done_tm - retrieval_tm) * 1000)
|
| 276 |
return {"answer": answer, "reference": refs, "prompt": prompt}
|
| 277 |
|
| 278 |
if stream:
|