| 12345678910111213141516171819202122232425 |
- from typing import List, Optional, Union, Dict, Any, Literal
- from pydantic import BaseModel, Field, AliasChoices
- class ClaudeMessage(BaseModel):
- role: str
- content: Union[str, List[Dict[str, Any]]]
- class ClaudeTool(BaseModel):
- name: str
- description: Optional[str] = ""
- input_schema: Dict[str, Any]
- class ClaudeRequest(BaseModel):
- model: str
- messages: List[ClaudeMessage]
- max_tokens: int = 4096
- temperature: Optional[float] = None
- tools: Optional[List[ClaudeTool]] = None
- stream: bool = False
- system: Optional[Union[str, List[Dict[str, Any]]]] = None
- thinking: Optional[Dict[str, Any]] = None
- conversation_id: Optional[str] = Field(
- default=None,
- validation_alias=AliasChoices("conversation_id", "conversationId")
- )
|