优化目录结构
This commit is contained in:
+22
-5
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user