# yaml-language-server: $schema=https://promptfoo.dev/config-schema.json description: Function Calling with OpenAI Responses API prompts: - 'What is the weather like in {{location}}?' providers: - id: openai:responses:o1-pro label: o1-pro config: temperature: 0.7 max_output_tokens: 300 tool_choice: auto tools: - type: function name: get_current_weather description: 'Get the current weather in a given location' parameters: type: object properties: location: type: string description: 'The city and state, e.g. San Francisco, CA' unit: type: string enum: ['celsius', 'fahrenheit'] required: ['location', 'unit'] - id: openai:responses:o3 label: o3 config: reasoning_effort: 'medium' max_output_tokens: 300 tool_choice: auto tools: - type: function name: get_current_weather description: 'Get the current weather in a given location' parameters: type: object properties: location: type: string description: 'The city and state, e.g. San Francisco, CA' unit: type: string enum: ['celsius', 'fahrenheit'] required: ['location', 'unit'] - id: openai:responses:o4-mini label: o4-mini config: reasoning_effort: 'low' max_output_tokens: 300 tool_choice: auto tools: - type: function name: get_current_weather description: 'Get the current weather in a given location' parameters: type: object properties: location: type: string description: 'The city and state, e.g. San Francisco, CA' unit: type: string enum: ['celsius', 'fahrenheit'] required: ['location', 'unit'] tests: - vars: location: Boston, MA assert: - type: contains value: 'get_current_weather' - vars: location: San Francisco, CA assert: - type: contains value: 'get_current_weather'