优化目录结构

This commit is contained in:
2026-07-03 20:49:36 +08:00
parent 04fefcf488
commit 8073dd63a7
10 changed files with 220 additions and 238 deletions
+22 -5
View File
@@ -4,19 +4,22 @@ from typing import Any
from openai import APIError, AsyncOpenAI
from models import (
from domain import (
AssistantMessage,
FinalAssistantMessage,
Message,
SendMessageResponse,
Session,
SessionHistoryResponse,
TokenUsage,
ToolCall,
ToolFunctionCall,
ToolMessage,
UserMessage,
)
from schemas import (
CreateSessionResponse,
FinalAssistantMessage,
SendMessageResponse,
SessionHistoryResponse,
TokenUsage,
)
from storage import JsonSessionStorage
from tools import ToolRegistry
@@ -31,6 +34,7 @@ class ChatService:
storage: JsonSessionStorage,
client: AsyncOpenAI,
model: str,
default_system_prompt: str = "You are a helpful assistant.",
tool_registry: ToolRegistry | None = None,
max_tool_rounds: int = 5,
max_tool_calls_per_turn: int = 10,
@@ -40,11 +44,24 @@ class ChatService:
self.storage = storage
self.client = client
self.model = model
self.default_system_prompt = default_system_prompt
self.tool_registry = tool_registry or ToolRegistry()
self.max_tool_rounds = max_tool_rounds
self.max_tool_calls_per_turn = max_tool_calls_per_turn
self._locks: dict[str, asyncio.Lock] = {}
async def create_session(
self, system_prompt: str | None = None
) -> CreateSessionResponse:
session = await self.storage.create(
system_prompt or self.default_system_prompt
)
return CreateSessionResponse(
session_id=session.session_id,
system_prompt=session.system_prompt,
created_at=session.created_at,
)
async def generate_response(
self, session_id: str, content: str
) -> SendMessageResponse: