# yaml-language-server: $schema=https://promptfoo.dev/config-schema.json # Learn more about building a configuration: https://promptfoo.dev/docs/configuration/guide description: 'Function calling with Google AI Studio Gemini models' prompts: - What is the weather in {{location}}? providers: - id: 'google:gemini-2.5-flash' config: tools: file://tools.json defaultTest: options: # This overrides the default grading providers with Vertex AI models providers: embedding: 'google:embedding:text-embedding-005' text: 'google:gemini-2.5-flash' tests: # Function calling tests - vars: location: San Francisco assert: - type: is-valid-function-call - type: equals value: get_current_weather # Transform is a cleaner way to pick out specific properties transform: output[0].functionCall.name - type: icontains value: '{{location}}' # Transform returns only the parsed location argument. # The model may normalize locations, e.g. "San Francisco, CA". transform: output[0].functionCall.args.location - vars: location: New York assert: - type: is-valid-function-call - type: equals value: get_current_weather transform: output[0].functionCall.name - type: icontains value: '{{location}}' transform: output[0].functionCall.args.location