添加测试、添加总结、全量、rag(todo)3种历史记录保存方式,流式实现
This commit is contained in:
76
test_chat_summary.py
Normal file
76
test_chat_summary.py
Normal file
@@ -0,0 +1,76 @@
|
||||
"""
|
||||
简化版聊天记录总结功能测试
|
||||
直接操作现有数据进行测试
|
||||
"""
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# 添加backend目录到Python路径
|
||||
backend_root = Path(__file__).parent / "backend"
|
||||
sys.path.insert(0, str(backend_root))
|
||||
|
||||
from services.chat_service import chat_service
|
||||
|
||||
|
||||
def test_simple_summary():
|
||||
"""简单测试:直接操作现有聊天数据"""
|
||||
print("=" * 60)
|
||||
print("聊天记录总结功能简单测试")
|
||||
print("=" * 60)
|
||||
|
||||
# 列出所有现有聊天
|
||||
print("\n现有聊天列表:")
|
||||
all_chats = chat_service.list_all_chats()
|
||||
|
||||
if not all_chats:
|
||||
print(" 没有找到任何聊天,请先创建角色和聊天")
|
||||
return
|
||||
|
||||
for role_name, chats in all_chats.items():
|
||||
print(f"\n 角色: {role_name}")
|
||||
for chat in chats[:3]: # 只显示前3个
|
||||
print(f" - {chat['chat_name']} ({chat['message_count']}条消息)")
|
||||
|
||||
# 选择第一个聊天进行测试
|
||||
first_role = list(all_chats.keys())[0]
|
||||
first_chat = all_chats[first_role][0]['chat_name']
|
||||
|
||||
print(f"\n选择测试: {first_role}/{first_chat}")
|
||||
|
||||
# 获取聊天记录
|
||||
chat_data = chat_service.get_chat(first_role, first_chat)
|
||||
messages = chat_data['messages']
|
||||
|
||||
print(f"总消息数: {len(messages)}")
|
||||
|
||||
if len(messages) < 5:
|
||||
print("消息数量不足,无法测试总结功能")
|
||||
return
|
||||
|
||||
# 显示前5条消息
|
||||
print("\n前5条消息:")
|
||||
for i, msg in enumerate(messages[:5], 1):
|
||||
name = msg.get('name', 'Unknown')
|
||||
mes = msg.get('mes', '')[:50]
|
||||
print(f" L{i}: {name}: {mes}...")
|
||||
|
||||
# 测试总结功能(模拟)
|
||||
print("\n模拟总结 L1-L3:")
|
||||
print(" 原始消息:")
|
||||
for i in range(3):
|
||||
msg = messages[i]
|
||||
print(f" L{i+1}: {msg.get('name')}: {msg.get('mes', '')[:30]}...")
|
||||
|
||||
print("\n 总结后效果:")
|
||||
print(" L1: [空] (is_summarized=true)")
|
||||
print(" L2: [空] (is_summarized=true)")
|
||||
print(" L3: [总结文本] (is_summary=true, summary_range='L1-L3')")
|
||||
print(" L4+: 保持不变")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("✅ 测试完成!请在UI中验证实际效果")
|
||||
print("=" * 60)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_simple_summary()
|
||||
Reference in New Issue
Block a user