1
This commit is contained in:
@@ -231,15 +231,15 @@ class ActionPlanner:
|
|||||||
try:
|
try:
|
||||||
# 检查 conversation_info 是否有 knowledge_list 并且不为空
|
# 检查 conversation_info 是否有 knowledge_list 并且不为空
|
||||||
if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list:
|
if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list:
|
||||||
# 最多只显示最近的 3 条知识,防止 Prompt 过长
|
# 最多只显示最近的 5 条知识,防止 Prompt 过长
|
||||||
recent_knowledge = conversation_info.knowledge_list[-3:]
|
recent_knowledge = conversation_info.knowledge_list[-5:]
|
||||||
for i, knowledge_item in enumerate(recent_knowledge):
|
for i, knowledge_item in enumerate(recent_knowledge):
|
||||||
if isinstance(knowledge_item, dict):
|
if isinstance(knowledge_item, dict):
|
||||||
query = knowledge_item.get('query', '未知查询')
|
query = knowledge_item.get('query', '未知查询')
|
||||||
knowledge = knowledge_item.get('knowledge', '无知识内容')
|
knowledge = knowledge_item.get('knowledge', '无知识内容')
|
||||||
source = knowledge_item.get('source', '未知来源')
|
source = knowledge_item.get('source', '未知来源')
|
||||||
# 只取知识内容的前 2000 个字,避免太长
|
# 只取知识内容的前 2000 个字,避免太长
|
||||||
knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 200 else knowledge
|
knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 2000 else knowledge
|
||||||
knowledge_info_str += f"{i+1}. 关于 '{query}' 的知识 (来源: {source}):\n {knowledge_snippet}\n"
|
knowledge_info_str += f"{i+1}. 关于 '{query}' 的知识 (来源: {source}):\n {knowledge_snippet}\n"
|
||||||
else:
|
else:
|
||||||
# 处理列表里不是字典的异常情况
|
# 处理列表里不是字典的异常情况
|
||||||
|
|||||||
@@ -142,15 +142,15 @@ class ReplyGenerator:
|
|||||||
try:
|
try:
|
||||||
# 检查 conversation_info 是否有 knowledge_list 并且不为空
|
# 检查 conversation_info 是否有 knowledge_list 并且不为空
|
||||||
if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list:
|
if hasattr(conversation_info, "knowledge_list") and conversation_info.knowledge_list:
|
||||||
# 最多只显示最近的 3 条知识
|
# 最多只显示最近的 5 条知识
|
||||||
recent_knowledge = conversation_info.knowledge_list[-3:]
|
recent_knowledge = conversation_info.knowledge_list[-5:]
|
||||||
for i, knowledge_item in enumerate(recent_knowledge):
|
for i, knowledge_item in enumerate(recent_knowledge):
|
||||||
if isinstance(knowledge_item, dict):
|
if isinstance(knowledge_item, dict):
|
||||||
query = knowledge_item.get('query', '未知查询')
|
query = knowledge_item.get('query', '未知查询')
|
||||||
knowledge = knowledge_item.get('knowledge', '无知识内容')
|
knowledge = knowledge_item.get('knowledge', '无知识内容')
|
||||||
source = knowledge_item.get('source', '未知来源')
|
source = knowledge_item.get('source', '未知来源')
|
||||||
# 只取知识内容的前 150 个字
|
# 只取知识内容的前 150 个字
|
||||||
knowledge_snippet = knowledge[:150] + "..." if len(knowledge) > 150 else knowledge
|
knowledge_snippet = knowledge[:2000] + "..." if len(knowledge) > 2000 else knowledge
|
||||||
knowledge_info_str += f"{i+1}. 关于 '{query}' (来源: {source}): {knowledge_snippet}\n" # 格式微调,更简洁
|
knowledge_info_str += f"{i+1}. 关于 '{query}' (来源: {source}): {knowledge_snippet}\n" # 格式微调,更简洁
|
||||||
else:
|
else:
|
||||||
knowledge_info_str += f"{i+1}. 发现一条格式不正确的知识记录。\n"
|
knowledge_info_str += f"{i+1}. 发现一条格式不正确的知识记录。\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user