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

Files changed (1) hide show
  1. api/db/services/dialog_service.py +6 -1
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"%((retrieval_tm-st)*1000, (done_tm-st)*1000)
 
 
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: