|
|
@@ -603,26 +603,29 @@ type WebSearchOptions struct {
|
|
|
UserLocation json.RawMessage `json:"user_location,omitempty"`
|
|
|
}
|
|
|
|
|
|
+// https://platform.openai.com/docs/api-reference/responses/create
|
|
|
type OpenAIResponsesRequest struct {
|
|
|
- Model string `json:"model"`
|
|
|
- Input json.RawMessage `json:"input,omitempty"`
|
|
|
- Include json.RawMessage `json:"include,omitempty"`
|
|
|
- Instructions json.RawMessage `json:"instructions,omitempty"`
|
|
|
- MaxOutputTokens uint `json:"max_output_tokens,omitempty"`
|
|
|
- Metadata json.RawMessage `json:"metadata,omitempty"`
|
|
|
- ParallelToolCalls bool `json:"parallel_tool_calls,omitempty"`
|
|
|
- PreviousResponseID string `json:"previous_response_id,omitempty"`
|
|
|
- Reasoning *Reasoning `json:"reasoning,omitempty"`
|
|
|
- ServiceTier string `json:"service_tier,omitempty"`
|
|
|
- Store bool `json:"store,omitempty"`
|
|
|
- Stream bool `json:"stream,omitempty"`
|
|
|
- Temperature float64 `json:"temperature,omitempty"`
|
|
|
- Text json.RawMessage `json:"text,omitempty"`
|
|
|
- ToolChoice json.RawMessage `json:"tool_choice,omitempty"`
|
|
|
- Tools []ResponsesToolsCall `json:"tools,omitempty"`
|
|
|
- TopP float64 `json:"top_p,omitempty"`
|
|
|
- Truncation string `json:"truncation,omitempty"`
|
|
|
- User string `json:"user,omitempty"`
|
|
|
+ Model string `json:"model"`
|
|
|
+ Input json.RawMessage `json:"input,omitempty"`
|
|
|
+ Include json.RawMessage `json:"include,omitempty"`
|
|
|
+ Instructions json.RawMessage `json:"instructions,omitempty"`
|
|
|
+ MaxOutputTokens uint `json:"max_output_tokens,omitempty"`
|
|
|
+ Metadata json.RawMessage `json:"metadata,omitempty"`
|
|
|
+ ParallelToolCalls bool `json:"parallel_tool_calls,omitempty"`
|
|
|
+ PreviousResponseID string `json:"previous_response_id,omitempty"`
|
|
|
+ Reasoning *Reasoning `json:"reasoning,omitempty"`
|
|
|
+ ServiceTier string `json:"service_tier,omitempty"`
|
|
|
+ Store bool `json:"store,omitempty"`
|
|
|
+ Stream bool `json:"stream,omitempty"`
|
|
|
+ Temperature float64 `json:"temperature,omitempty"`
|
|
|
+ Text json.RawMessage `json:"text,omitempty"`
|
|
|
+ ToolChoice json.RawMessage `json:"tool_choice,omitempty"`
|
|
|
+ Tools []map[string]any `json:"tools,omitempty"` // 需要处理的参数很少,MCP 参数太多不确定,所以用 map
|
|
|
+ TopP float64 `json:"top_p,omitempty"`
|
|
|
+ Truncation string `json:"truncation,omitempty"`
|
|
|
+ User string `json:"user,omitempty"`
|
|
|
+ MaxToolCalls uint `json:"max_tool_calls,omitempty"`
|
|
|
+ Prompt json.RawMessage `json:"prompt,omitempty"`
|
|
|
}
|
|
|
|
|
|
type Reasoning struct {
|
|
|
@@ -630,23 +633,23 @@ type Reasoning struct {
|
|
|
Summary string `json:"summary,omitempty"`
|
|
|
}
|
|
|
|
|
|
-type ResponsesToolsCall struct {
|
|
|
- Type string `json:"type"`
|
|
|
- // Web Search
|
|
|
- UserLocation json.RawMessage `json:"user_location,omitempty"`
|
|
|
- SearchContextSize string `json:"search_context_size,omitempty"`
|
|
|
- // File Search
|
|
|
- VectorStoreIds []string `json:"vector_store_ids,omitempty"`
|
|
|
- MaxNumResults uint `json:"max_num_results,omitempty"`
|
|
|
- Filters json.RawMessage `json:"filters,omitempty"`
|
|
|
- // Computer Use
|
|
|
- DisplayWidth uint `json:"display_width,omitempty"`
|
|
|
- DisplayHeight uint `json:"display_height,omitempty"`
|
|
|
- Environment string `json:"environment,omitempty"`
|
|
|
- // Function
|
|
|
- Name string `json:"name,omitempty"`
|
|
|
- Description string `json:"description,omitempty"`
|
|
|
- Parameters json.RawMessage `json:"parameters,omitempty"`
|
|
|
- Function json.RawMessage `json:"function,omitempty"`
|
|
|
- Container json.RawMessage `json:"container,omitempty"`
|
|
|
-}
|
|
|
+//type ResponsesToolsCall struct {
|
|
|
+// Type string `json:"type"`
|
|
|
+// // Web Search
|
|
|
+// UserLocation json.RawMessage `json:"user_location,omitempty"`
|
|
|
+// SearchContextSize string `json:"search_context_size,omitempty"`
|
|
|
+// // File Search
|
|
|
+// VectorStoreIds []string `json:"vector_store_ids,omitempty"`
|
|
|
+// MaxNumResults uint `json:"max_num_results,omitempty"`
|
|
|
+// Filters json.RawMessage `json:"filters,omitempty"`
|
|
|
+// // Computer Use
|
|
|
+// DisplayWidth uint `json:"display_width,omitempty"`
|
|
|
+// DisplayHeight uint `json:"display_height,omitempty"`
|
|
|
+// Environment string `json:"environment,omitempty"`
|
|
|
+// // Function
|
|
|
+// Name string `json:"name,omitempty"`
|
|
|
+// Description string `json:"description,omitempty"`
|
|
|
+// Parameters json.RawMessage `json:"parameters,omitempty"`
|
|
|
+// Function json.RawMessage `json:"function,omitempty"`
|
|
|
+// Container json.RawMessage `json:"container,omitempty"`
|
|
|
+//}
|