@@ -323,6 +323,7 @@ async def run(self, message, gen_references=False, message_id=""):
323323 logger .info ("[%s] start processing" , log_prefix )
324324
325325 references = []
326+ related_questions = []
326327 response = ""
327328 vector = self .embedding_model .embed_query (message )
328329 logger .info ("[%s] embedding query end" , log_prefix )
@@ -366,8 +367,11 @@ async def run(self, message, gen_references=False, message_id=""):
366367 yield self .oops
367368 need_generate_answer = False
368369 if self .welcome_question != []:
369- yield KUBE_CHAT_RELATED_QUESTIONS + str (self .welcome_question )
370- need_related_question = False
370+ if len (self .welcome_question )>= 3 :
371+ related_questions = random .sample (self .welcome_question , 3 )
372+ need_related_question = False
373+ else :
374+ related_questions = self .welcome_question
371375
372376 if self .use_related_question and need_related_question :
373377 related_question_prompt = self .related_question_prompt .format (query = message , context = context )
@@ -405,18 +409,20 @@ async def run(self, message, gen_references=False, message_id=""):
405409 await self .add_ai_message (message , message_id , response , references )
406410 logger .info ("[%s] add ai message end and the pipeline is succeed" , log_prefix )
407411
408- if self .use_related_question and need_related_question :
409- related_question = await related_question_task
410- related_question = re .sub (r'\n+' , '\n ' , related_question ).split ('\n ' )
411- for i ,question in enumerate (related_question ):
412- match = re .match (r"\s*-\s*(.*)" , question )
413- if match :
414- question = match .group (1 )
415- match = re .match (r"\s*\d+\.\s*(.*)" , question )
416- if match :
417- question = match .group (1 )
418- related_question [i ] = question
419- yield KUBE_CHAT_RELATED_QUESTIONS + str (related_question [:3 ])
412+ if self .use_related_question :
413+ if need_related_question :
414+ related_question_generate = await related_question_task
415+ related_question = re .sub (r'\n+' , '\n ' , related_question_generate ).split ('\n ' )
416+ for i ,question in enumerate (related_question ):
417+ match = re .match (r"\s*-\s*(.*)" , question )
418+ if match :
419+ question = match .group (1 )
420+ match = re .match (r"\s*\d+\.\s*(.*)" , question )
421+ if match :
422+ question = match .group (1 )
423+ related_question [i ] = question
424+ related_questions .extend (related_question )
425+ yield KUBE_CHAT_RELATED_QUESTIONS + str (related_questions [:3 ])
420426
421427 if gen_references :
422428 yield KUBE_CHAT_DOC_QA_REFERENCES + json .dumps (references )
0 commit comments