- 重构目录结构,将配置和日志模块分离到独立目录 - 创建 config/ 目录,统一管理平台配置和 API 密钥 - 创建 core/ 目录,集中管理日志系统功能 - 创建 database/ 目录,添加 SQLite 数据库初始化和管理 - 删除不必要的文件:测试文件、缓存文件、重复代码文件 - 更新所有导入路径,确保模块引用正确 主要变更: - config.py → config/settings.py - utils/logger.py → core/logger.py - init_logging.py → core/init.py - 删除 logging.conf(配置已整合到代码中) - 新增 database/__init__.py 提供数据库连接管理 改进点: - 更清晰的模块划分,便于维护和扩展 - 避免命名冲突(logging 模块与 Python 标准库冲突) - 统一的配置和日志管理接口
53 lines
1.3 KiB
Python
53 lines
1.3 KiB
Python
"""
|
|
通用工具函数
|
|
"""
|
|
|
|
import json
|
|
import os
|
|
import uuid
|
|
from datetime import datetime
|
|
from typing import Dict
|
|
|
|
from core import (log_chat_interaction, log_error_detail, log_request_info,
|
|
log_response_info)
|
|
|
|
|
|
def get_current_timestamp():
|
|
"""获取当前时间戳"""
|
|
return int(datetime.utcnow().timestamp())
|
|
|
|
|
|
def generate_unique_id():
|
|
"""生成唯一ID"""
|
|
return str(uuid.uuid4())
|
|
|
|
|
|
def format_api_response(
|
|
content: str, conversation_id: str = None, model: str = "qwen-plus"
|
|
):
|
|
"""格式化API响应"""
|
|
return {
|
|
"id": generate_unique_id(),
|
|
"conversationId": conversation_id or generate_unique_id(),
|
|
"content": content,
|
|
"model": model,
|
|
"createdAt": get_current_timestamp(),
|
|
}
|
|
|
|
|
|
def log_request(method: str, path: str, client_ip: str = "unknown"):
|
|
"""记录请求日志"""
|
|
log_request_info(method, path, client_ip)
|
|
|
|
|
|
def log_response(status_code: int, process_time: float):
|
|
"""记录响应日志"""
|
|
log_response_info(status_code, process_time)
|
|
|
|
|
|
def extract_delta_content(full_content: str, previous_content: str) -> str:
|
|
"""提取增量内容"""
|
|
if len(full_content) > len(previous_content):
|
|
return full_content[len(previous_content) :]
|
|
return ""
|