|
|
|
@ -66,15 +66,11 @@ async def h5_chat_stream(request: Request, inp: ChatIn): |
|
|
|
|
|
|
|
|
|
# 获取开启的前4个问题(包含标题和内容) |
|
|
|
|
questions = await QuickQuestion.filter(status="0", ischat="0").order_by("order_num").limit(4).values("title", "subtitle","content") |
|
|
|
|
question_titles = [f"{q['title']} {q['subtitle']}" for q in questions] |
|
|
|
|
question_titles = [f"{q['subtitle']}{q['title']}" for q in questions] |
|
|
|
|
|
|
|
|
|
print("question_titles:", question_titles) |
|
|
|
|
# 检查消息是否在问题列表中 |
|
|
|
|
is_quick_question = inp.message in question_titles |
|
|
|
|
|
|
|
|
|
print("inp.message:", inp.message) |
|
|
|
|
|
|
|
|
|
print("is_quick_question:", is_quick_question) |
|
|
|
|
|
|
|
|
|
# 分类阶段(如果不是快捷问题才执行) |
|
|
|
|
cat = None |
|
|
|
@ -91,7 +87,7 @@ async def h5_chat_stream(request: Request, inp: ChatIn): |
|
|
|
|
try: |
|
|
|
|
if is_quick_question: |
|
|
|
|
# 找到对应的问题内容 |
|
|
|
|
question_content = next(q["content"] for q in questions if q["title"] == inp.message) |
|
|
|
|
question_content = next(q["content"] for q in questions if f"{q['subtitle']}{q['title']}" == inp.message) |
|
|
|
|
# 处理快捷问题,传递content |
|
|
|
|
async for chunk in handle_quick_question(inp, question_content): |
|
|
|
|
yield chunk |
|
|
|
|