0d3cb498a3
CI / Shell Format Check (push) Has been cancelled
CI / Check Ruby (3.4) (push) Has been cancelled
CI / CI Config (push) Has been cancelled
CI / Test on Node ${{ matrix.node }} and ${{ matrix.os }}${{ matrix.shard && format(' (shard {0}/3)', matrix.shard) || '' }} (push) Has been cancelled
CI / Build on Node ${{ matrix.node }} (push) Has been cancelled
CI / Style Check (push) Has been cancelled
CI / Generate Assets (push) Has been cancelled
CI / Check Python (3.14) (push) Has been cancelled
CI / Check Python (3.9) (push) Has been cancelled
CI / Build Docs (push) Has been cancelled
CI / Code Scan Action (push) Has been cancelled
CI / Site tests (push) Has been cancelled
CI / webui tests (push) Has been cancelled
CI / Run Integration Tests (push) Has been cancelled
CI / Run Smoke Tests (push) Has been cancelled
CI / Go Tests (push) Has been cancelled
CI / Share Test (push) Has been cancelled
CI / Redteam (Production API) (push) Has been cancelled
CI / Redteam (Staging API) (push) Has been cancelled
CI / GitHub Actions Lint (push) Has been cancelled
CI / Check Ruby (3.0) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
release-please / build (push) Has been cancelled
release-please / publish-npm (push) Has been cancelled
release-please / publish-npm-backfill (push) Has been cancelled
release-please / docker (push) Has been cancelled
release-please / publish-code-scan-action (push) Has been cancelled
release-please / attest-code-scan-action (push) Has been cancelled
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Has been cancelled
Test and Publish Multi-arch Docker Image / test (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-arm64 platform:linux/arm64 runner:ubuntu-24.04-arm]) (push) Has been cancelled
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Has been cancelled
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Has been cancelled
Validate Renovate Config / Validate Renovate Configuration (push) Has been cancelled
279 lines
8.4 KiB
YAML
279 lines
8.4 KiB
YAML
# yaml-language-server: $schema=https://promptfoo.dev/config-schema.json
|
|
|
|
description: 'Evaluation of Gemini 2.5 models with function calling capabilities'
|
|
|
|
prompts:
|
|
- label: 'Direct Question'
|
|
raw: |
|
|
What's the weather like in {{city}} and what are some good restaurants there?
|
|
|
|
- label: 'Detailed Query'
|
|
raw: |
|
|
I'm planning to visit {{city}}. Could you help me understand:
|
|
1. The current weather conditions
|
|
2. Some recommended places to eat, focusing on {{cuisine}} restaurants
|
|
|
|
providers:
|
|
- id: vertex:gemini-2.5-pro
|
|
config:
|
|
generationConfig:
|
|
temperature: 0.7
|
|
maxOutputTokens: 1024
|
|
toolConfig:
|
|
functionCallingConfig:
|
|
mode: 'AUTO'
|
|
tools:
|
|
- functionDeclarations:
|
|
- name: 'get_weather'
|
|
description: 'Get weather information for a location'
|
|
parameters:
|
|
type: 'OBJECT'
|
|
properties:
|
|
location:
|
|
type: 'STRING'
|
|
description: 'City name'
|
|
required: ['location']
|
|
- name: 'search_places'
|
|
description: 'Search for places of interest'
|
|
parameters:
|
|
type: 'OBJECT'
|
|
properties:
|
|
query:
|
|
type: 'STRING'
|
|
description: 'Search query'
|
|
type:
|
|
type: 'STRING'
|
|
description: 'Type of place'
|
|
enum: ['restaurant', 'hotel', 'attraction']
|
|
required: ['query']
|
|
|
|
- id: vertex:gemini-3.5-flash
|
|
config:
|
|
region: global # Gemini 3.5 Flash is served on Vertex AI's global endpoint
|
|
apiHost: aiplatform.googleapis.com
|
|
generationConfig:
|
|
temperature: 0.7
|
|
maxOutputTokens: 2048
|
|
toolConfig:
|
|
functionCallingConfig:
|
|
mode: 'AUTO'
|
|
tools:
|
|
- functionDeclarations:
|
|
- name: 'get_weather'
|
|
description: 'Get weather information for a location'
|
|
parameters:
|
|
type: 'OBJECT'
|
|
properties:
|
|
location:
|
|
type: 'STRING'
|
|
description: 'City name'
|
|
required: ['location']
|
|
- name: 'search_places'
|
|
description: 'Search for places of interest'
|
|
parameters:
|
|
type: 'OBJECT'
|
|
properties:
|
|
query:
|
|
type: 'STRING'
|
|
description: 'Search query'
|
|
type:
|
|
type: 'STRING'
|
|
description: 'Type of place'
|
|
enum: ['restaurant', 'hotel', 'attraction']
|
|
required: ['query']
|
|
|
|
- id: vertex:gemini-2.5-flash
|
|
config:
|
|
generationConfig:
|
|
temperature: 0.7
|
|
maxOutputTokens: 2048
|
|
toolConfig:
|
|
functionCallingConfig:
|
|
mode: 'AUTO'
|
|
tools:
|
|
- functionDeclarations:
|
|
- name: 'get_weather'
|
|
description: 'Get weather information for a location'
|
|
parameters:
|
|
type: 'OBJECT'
|
|
properties:
|
|
location:
|
|
type: 'STRING'
|
|
description: 'City name'
|
|
required: ['location']
|
|
- name: 'search_places'
|
|
description: 'Search for places of interest'
|
|
parameters:
|
|
type: 'OBJECT'
|
|
properties:
|
|
query:
|
|
type: 'STRING'
|
|
description: 'Search query'
|
|
type:
|
|
type: 'STRING'
|
|
description: 'Type of place'
|
|
enum: ['restaurant', 'hotel', 'attraction']
|
|
required: ['query']
|
|
|
|
- id: vertex:gemini-2.5-flash-lite
|
|
config:
|
|
generationConfig:
|
|
temperature: 0
|
|
maxOutputTokens: 1024
|
|
toolConfig:
|
|
functionCallingConfig:
|
|
mode: 'AUTO'
|
|
tools:
|
|
- functionDeclarations:
|
|
- name: 'get_weather'
|
|
description: 'Get weather information for a location'
|
|
parameters:
|
|
type: 'OBJECT'
|
|
properties:
|
|
location:
|
|
type: 'STRING'
|
|
description: 'City name'
|
|
required: ['location']
|
|
- name: 'search_places'
|
|
description: 'Search for places of interest'
|
|
parameters:
|
|
type: 'OBJECT'
|
|
properties:
|
|
query:
|
|
type: 'STRING'
|
|
description: 'Search query'
|
|
type:
|
|
type: 'STRING'
|
|
description: 'Type of place'
|
|
enum: ['restaurant', 'hotel', 'attraction']
|
|
required: ['query']
|
|
|
|
tests:
|
|
- description: Test with major city
|
|
vars:
|
|
city: 'San Francisco'
|
|
cuisine: 'Italian'
|
|
assert:
|
|
- type: contains-json
|
|
value: |
|
|
{
|
|
"type": "object",
|
|
"required": ["functionCall"],
|
|
"properties": {
|
|
"functionCall": {
|
|
"type": "object",
|
|
"required": ["name", "args"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["get_weather"]
|
|
},
|
|
"args": {
|
|
"type": "object",
|
|
"required": ["location"],
|
|
"properties": {
|
|
"location": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- type: contains-json
|
|
value: |
|
|
{
|
|
"type": "object",
|
|
"required": ["functionCall"],
|
|
"properties": {
|
|
"functionCall": {
|
|
"type": "object",
|
|
"required": ["name", "args"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["search_places"]
|
|
},
|
|
"args": {
|
|
"type": "object",
|
|
"required": ["query", "type"],
|
|
"properties": {
|
|
"query": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["restaurant"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
- description: Test with smaller city
|
|
vars:
|
|
city: 'Boulder, Colorado'
|
|
cuisine: 'Mexican'
|
|
assert:
|
|
- type: contains-json
|
|
value: |
|
|
{
|
|
"type": "object",
|
|
"required": ["functionCall"],
|
|
"properties": {
|
|
"functionCall": {
|
|
"type": "object",
|
|
"required": ["name", "args"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["get_weather"]
|
|
},
|
|
"args": {
|
|
"type": "object",
|
|
"required": ["location"],
|
|
"properties": {
|
|
"location": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- type: contains-json
|
|
value: |
|
|
{
|
|
"type": "object",
|
|
"required": ["functionCall"],
|
|
"properties": {
|
|
"functionCall": {
|
|
"type": "object",
|
|
"required": ["name", "args"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["search_places"]
|
|
},
|
|
"args": {
|
|
"type": "object",
|
|
"required": ["query", "type"],
|
|
"properties": {
|
|
"query": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["restaurant"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|