ai-business-write/test_scripts/test_ai_logger.py

96 lines
2.7 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.

"""
测试AI日志记录功能
"""
import sys
import os
from pathlib import Path
# 添加项目根目录到路径
project_root = Path(__file__).parent.parent
sys.path.insert(0, str(project_root))
from services.ai_logger import get_ai_logger
def test_logger():
"""测试日志记录器"""
print("=" * 60)
print("测试AI日志记录功能")
print("=" * 60)
# 获取日志记录器
logger = get_ai_logger()
# 测试记录一次对话
print("\n1. 测试记录对话...")
prompt = "请从以下文本中提取信息张三1980年5月出生某公司总经理"
api_request = {
"endpoint": "http://test.example.com/v1/chat/completions",
"model": "test-model",
"messages": [
{"role": "system", "content": "你是一个数据提取助手"},
{"role": "user", "content": prompt}
],
"temperature": 0.2,
"max_tokens": 1000,
"enable_thinking": False
}
api_response = {
"choices": [
{
"message": {
"content": '{"target_name": "张三", "target_gender": ""}'
}
}
]
}
extracted_data = {
"target_name": "张三",
"target_gender": "",
"target_date_of_birth": "1980年05月"
}
log_file = logger.log_conversation(
prompt=prompt,
api_request=api_request,
api_response=api_response,
extracted_data=extracted_data,
error=None,
session_id="test_session_001"
)
if log_file:
print(f"✓ 日志已保存: {log_file}")
else:
print("✗ 日志保存失败")
return
# 测试读取日志
print("\n2. 测试读取日志...")
log_data = logger.read_log(log_file)
if log_data:
print(f"✓ 日志读取成功")
print(f" 时间戳: {log_data['timestamp']}")
print(f" 会话ID: {log_data['session_id']}")
print(f" 成功: {log_data['success']}")
print(f" 提取的字段数: {len(log_data.get('extracted_data', {}))}")
else:
print("✗ 日志读取失败")
return
# 测试获取最近的日志
print("\n3. 测试获取最近的日志...")
recent_logs = logger.get_recent_logs(limit=5)
print(f"✓ 找到 {len(recent_logs)} 条最近的日志")
for i, log_file in enumerate(recent_logs, 1):
print(f" {i}. {Path(log_file).name}")
print("\n" + "=" * 60)
print("测试完成!")
print("=" * 60)
print(f"\n日志目录: {logger.log_dir}")
print(f"日志状态: {'启用' if logger.enabled else '禁用'}")
if __name__ == "__main__":
test_logger()