diff --git a/relaykit/dto/openai_request.go b/relaykit/dto/openai_request.go index 0e4ad043..d54ac0d1 100644 --- a/relaykit/dto/openai_request.go +++ b/relaykit/dto/openai_request.go @@ -106,6 +106,8 @@ type GeneralOpenAIRequest struct { SearchMode json.RawMessage `json:"search_mode,omitempty"` // Minimax ReasoningSplit json.RawMessage `json:"reasoning_split,omitempty"` + // vLLM + ThinkingTokenBudget json.RawMessage `json:"thinking_token_budget,omitempty"` } func (r GeneralOpenAIRequest) MarshalJSON() ([]byte, error) { @@ -859,14 +861,14 @@ type OpenAIResponsesRequest struct { Include json.RawMessage `json:"include,omitempty"` // 在后台运行推理,暂时还不支持依赖的接口 // Background json.RawMessage `json:"background,omitempty"` - Conversation json.RawMessage `json:"conversation,omitempty"` - ContextManagement json.RawMessage `json:"context_management,omitempty"` - Instructions json.RawMessage `json:"instructions,omitempty"` - MaxOutputTokens *uint `json:"max_output_tokens,omitempty"` - TopLogProbs *int `json:"top_logprobs,omitempty"` - Metadata json.RawMessage `json:"metadata,omitempty"` - Moderation json.RawMessage `json:"moderation,omitempty"` - ParallelToolCalls json.RawMessage `json:"parallel_tool_calls,omitempty"` + Conversation json.RawMessage `json:"conversation,omitempty"` + ContextManagement json.RawMessage `json:"context_management,omitempty"` + Instructions json.RawMessage `json:"instructions,omitempty"` + MaxOutputTokens *uint `json:"max_output_tokens,omitempty"` + TopLogProbs *int `json:"top_logprobs,omitempty"` + Metadata json.RawMessage `json:"metadata,omitempty"` + Moderation json.RawMessage `json:"moderation,omitempty"` + ParallelToolCalls json.RawMessage `json:"parallel_tool_calls,omitempty"` // FrequencyPenalty/PresencePenalty are not part of the official OpenAI // Responses API; they are forwarded verbatim for OpenAI-compatible upstreams // (e.g. vLLM) that accept them.