Files
SillyTavern_replica/test_chat_summary.py

77 lines
2.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
简化版聊天记录总结功能测试
直接操作现有数据进行测试
"""
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()