77 lines
2.2 KiB
Python
77 lines
2.2 KiB
Python
"""
|
||
简化版聊天记录总结功能测试
|
||
直接操作现有数据进行测试
|
||
"""
|
||
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()
|