Add extra field tolerance to API request models for better client compatibility

- Added extra="allow" to ChatCompletionRequest and CompletionRequest
- Added common OpenAI fields: seed, logprobs, top_logprobs, response_format, user, best_of, echo
- This prevents 422 errors when clients send additional fields we don't use

Fixes compatibility issues with KiloCode and other OpenAI-compatible clients
parent 044036e2
...@@ -100,6 +100,15 @@ class ChatCompletionRequest(BaseModel): ...@@ -100,6 +100,15 @@ class ChatCompletionRequest(BaseModel):
frequency_penalty: float = 0.0 frequency_penalty: float = 0.0
tools: Optional[List[Tool]] = None tools: Optional[List[Tool]] = None
tool_choice: Optional[Union[str, Dict]] = "auto" tool_choice: Optional[Union[str, Dict]] = "auto"
# Extra fields that clients may send but we ignore
seed: Optional[int] = None
logprobs: Optional[bool] = None
top_logprobs: Optional[int] = None
response_format: Optional[Dict] = None
user: Optional[str] = None
class Config:
extra = "allow" # Allow extra fields to prevent 422 errors
class CompletionRequest(BaseModel): class CompletionRequest(BaseModel):
...@@ -111,6 +120,18 @@ class CompletionRequest(BaseModel): ...@@ -111,6 +120,18 @@ class CompletionRequest(BaseModel):
max_tokens: Optional[int] = None max_tokens: Optional[int] = None
stream: bool = False stream: bool = False
stop: Optional[Union[str, List[str]]] = None stop: Optional[Union[str, List[str]]] = None
presence_penalty: float = 0.0
frequency_penalty: float = 0.0
# Extra fields that clients may send but we ignore
seed: Optional[int] = None
logprobs: Optional[bool] = None
top_logprobs: Optional[int] = None
best_of: Optional[int] = None
echo: Optional[bool] = None
user: Optional[str] = None
class Config:
extra = "allow" # Allow extra fields to prevent 422 errors
class ModelInfo(BaseModel): class ModelInfo(BaseModel):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment