Spaces:
Sleeping
Sleeping
| from pydantic import BaseModel | |
| from typing import List, Optional, Dict, Any | |
| from enum import Enum | |
| class APIType(str, Enum): | |
| OPENAI = "openai" | |
| GEMINI = "gemini" | |
| CLAUDE = "claude" | |
| class Message(BaseModel): | |
| role: str # "user", "assistant", "system" | |
| content: str | |
| timestamp: Optional[str] = None | |
| class ChatRequest(BaseModel): | |
| message: str | |
| api_type: APIType = APIType.CLAUDE | |
| model: Optional[str] = None # 특정 모델 선택 | |
| system_prompt: Optional[str] = None | |
| character_name: Optional[str] = None | |
| session_id: Optional[str] = None | |
| conversation_history: Optional[List[Message]] = None | |
| temperature: float = 0.7 | |
| max_tokens: Optional[int] = None | |
| class ChatResponse(BaseModel): | |
| response: str | |
| api_type: APIType | |
| character_name: str | |
| timestamp: str | |
| usage: Optional[Dict[str, Any]] = None | |
| class CharacterConfig(BaseModel): | |
| name: str | |
| system_prompt: str | |
| api_type: APIType = APIType.OPENAI | |
| temperature: float = 0.7 | |
| max_tokens: Optional[int] = None | |