mirror of
https://github.com/countbot-ai/CountBot.git
synced 2026-09-14 20:46:47 +08:00
92b985ef59
- FastAPI 应用入口与数据库初始化 - 数据模型(会话、消息、设置、任务、定时任务) - REST API 接口(聊天、渠道、设置、工具、技能等) - WebSocket 连接管理与流式推送 - 日志系统与进程管理工具
42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
"""工具调用对话历史数据模型"""
|
|
|
|
from datetime import datetime
|
|
from sqlalchemy import Column, String, Integer, Text, DateTime, Index
|
|
|
|
from backend.database import Base
|
|
|
|
|
|
class ToolConversation(Base):
|
|
"""工具调用对话记录表"""
|
|
|
|
__tablename__ = "tool_conversations"
|
|
|
|
id = Column(String, primary_key=True)
|
|
session_id = Column(String, nullable=False, index=True)
|
|
message_id = Column(Integer, nullable=True, index=True) # 关联的消息ID
|
|
timestamp = Column(String, nullable=False, index=True)
|
|
tool_name = Column(String, nullable=False, index=True)
|
|
arguments = Column(Text, nullable=False) # JSON string
|
|
user_message = Column(Text, nullable=True)
|
|
result = Column(Text, nullable=True)
|
|
error = Column(Text, nullable=True)
|
|
duration_ms = Column(Integer, nullable=True)
|
|
created_at = Column(DateTime, default=datetime.utcnow)
|
|
|
|
def to_dict(self):
|
|
"""转换为字典"""
|
|
import json
|
|
|
|
return {
|
|
"id": self.id,
|
|
"session_id": self.session_id,
|
|
"message_id": self.message_id,
|
|
"timestamp": self.timestamp,
|
|
"tool_name": self.tool_name,
|
|
"arguments": json.loads(self.arguments) if self.arguments else {},
|
|
"user_message": self.user_message,
|
|
"result": self.result,
|
|
"error": self.error,
|
|
"duration_ms": self.duration_ms,
|
|
}
|