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
386 lines
12 KiB
JSON
386 lines
12 KiB
JSON
{
|
|
"_resultsLoaded": false,
|
|
"createdAt": 1758065695513,
|
|
"id": "eval-IF3-2025-09-16T23:34:55",
|
|
"config": {
|
|
"prompts": [
|
|
{
|
|
"raw": "Write a haiku about: {{body}}",
|
|
"label": "Write a haiku about: {{body}}"
|
|
},
|
|
{
|
|
"raw": "[{\"role\":\"system\",\"content\":\"You are speaking to a time traveler. Begin your conversation.\"},{\"role\":\"user\",\"content\":\"{{body}}\"}]",
|
|
"label": "[{\"role\":\"system\",\"content\":\"You are speaking to a time traveler. Begin your conversation.\"},{\"role\":\"user\",\"content\":\"{{body}}\"}]"
|
|
},
|
|
{
|
|
"raw": "Write 3 words about {{body}}",
|
|
"label": "prompt.txt: Write 3 words about {{body}}"
|
|
},
|
|
{
|
|
"raw": "(vars) => {\n const genres = ['fantasy', 'sci-fi', 'mystery', 'horror'];\n const characters = {\n fantasy: 'wizard',\n 'sci-fi': 'alien',\n mystery: 'detective',\n horror: 'ghost',\n };\n const genre = genres[Math.floor(Math.random() * genres.length)];\n const character = characters[genre];\n return [\n {\n role: 'system',\n content: `You have encountered a ${character} in a ${genre} setting. Engage with the character using the knowledge typical for that genre.`,\n },\n {\n role: 'user',\n content: '{{body}}',\n },\n ];\n }",
|
|
"label": ""
|
|
}
|
|
],
|
|
"providers": ["openai:gpt-4.1-mini", null],
|
|
"tests": [
|
|
{
|
|
"vars": {
|
|
"body": "Hello world"
|
|
}
|
|
},
|
|
{
|
|
"vars": {
|
|
"body": "I'm hungry"
|
|
},
|
|
"assert": [
|
|
{
|
|
"type": "javascript"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"writeLatestResults": true
|
|
},
|
|
"results": [],
|
|
"prompts": [
|
|
{
|
|
"raw": "Write a haiku about: {{body}}",
|
|
"label": "Write a haiku about: {{body}}",
|
|
"id": "64a38a678decacb9c6c12748f049b7558eaf709be7fe34f2b7120605754a02e6",
|
|
"provider": "openai:gpt-4.1-mini",
|
|
"metrics": {
|
|
"score": 1,
|
|
"testPassCount": 1,
|
|
"testFailCount": 1,
|
|
"testErrorCount": 0,
|
|
"assertPassCount": 0,
|
|
"assertFailCount": 1,
|
|
"totalLatencyMs": 40,
|
|
"tokenUsage": {
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 68,
|
|
"total": 68,
|
|
"numRequests": 2,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
},
|
|
"assertions": {
|
|
"total": 0,
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"numRequests": 0,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
}
|
|
}
|
|
},
|
|
"namedScores": {},
|
|
"namedScoresCount": {},
|
|
"cost": 0.00007280000000000001
|
|
}
|
|
},
|
|
{
|
|
"raw": "[{\"role\":\"system\",\"content\":\"You are speaking to a time traveler. Begin your conversation.\"},{\"role\":\"user\",\"content\":\"{{body}}\"}]",
|
|
"label": "[{\"role\":\"system\",\"content\":\"You are speaking to a time traveler. Begin your conversation.\"},{\"role\":\"user\",\"content\":\"{{body}}\"}]",
|
|
"id": "13fa8ee48f9101367ab54fddbb72cc53eabc1aeacc250503e0023c99635059c7",
|
|
"provider": "openai:gpt-4.1-mini",
|
|
"metrics": {
|
|
"score": 1,
|
|
"testPassCount": 1,
|
|
"testFailCount": 1,
|
|
"testErrorCount": 0,
|
|
"assertPassCount": 0,
|
|
"assertFailCount": 1,
|
|
"totalLatencyMs": 74,
|
|
"tokenUsage": {
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 91,
|
|
"total": 91,
|
|
"numRequests": 2,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
},
|
|
"assertions": {
|
|
"total": 0,
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"numRequests": 0,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
}
|
|
}
|
|
},
|
|
"namedScores": {},
|
|
"namedScoresCount": {},
|
|
"cost": 0.00008560000000000001
|
|
}
|
|
},
|
|
{
|
|
"raw": "Write 3 words about {{body}}",
|
|
"label": "prompt.txt: Write 3 words about {{body}}",
|
|
"id": "16946aa0e5135cee46b889df493c8c8c6033b45b679c47143e94e39ee1854e26",
|
|
"provider": "openai:gpt-4.1-mini",
|
|
"metrics": {
|
|
"score": 1,
|
|
"testPassCount": 1,
|
|
"testFailCount": 1,
|
|
"testErrorCount": 0,
|
|
"assertPassCount": 0,
|
|
"assertFailCount": 1,
|
|
"totalLatencyMs": 55,
|
|
"tokenUsage": {
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 37,
|
|
"total": 37,
|
|
"numRequests": 2,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
},
|
|
"assertions": {
|
|
"total": 0,
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"numRequests": 0,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
}
|
|
}
|
|
},
|
|
"namedScores": {},
|
|
"namedScoresCount": {},
|
|
"cost": 0.000025600000000000002
|
|
}
|
|
},
|
|
{
|
|
"raw": "(vars) => {\n const genres = ['fantasy', 'sci-fi', 'mystery', 'horror'];\n const characters = {\n fantasy: 'wizard',\n 'sci-fi': 'alien',\n mystery: 'detective',\n horror: 'ghost',\n };\n const genre = genres[Math.floor(Math.random() * genres.length)];\n const character = characters[genre];\n return [\n {\n role: 'system',\n content: `You have encountered a ${character} in a ${genre} setting. Engage with the character using the knowledge typical for that genre.`,\n },\n {\n role: 'user',\n content: '{{body}}',\n },\n ];\n }",
|
|
"label": "",
|
|
"id": "cffda0450e7d3fc46ddfe961b52b57210717fab072e65d6814015e756ad56b4f",
|
|
"provider": "openai:gpt-4.1-mini",
|
|
"metrics": {
|
|
"score": 1,
|
|
"testPassCount": 1,
|
|
"testFailCount": 1,
|
|
"testErrorCount": 0,
|
|
"assertPassCount": 0,
|
|
"assertFailCount": 1,
|
|
"totalLatencyMs": 2207,
|
|
"tokenUsage": {
|
|
"prompt": 35,
|
|
"completion": 22,
|
|
"cached": 116,
|
|
"total": 173,
|
|
"numRequests": 2,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
},
|
|
"assertions": {
|
|
"total": 0,
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"numRequests": 0,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
}
|
|
}
|
|
},
|
|
"namedScores": {},
|
|
"namedScoresCount": {},
|
|
"cost": 0.00019280000000000002
|
|
}
|
|
},
|
|
{
|
|
"raw": "Write a haiku about: {{body}}",
|
|
"label": "Write a haiku about: {{body}}",
|
|
"id": "64a38a678decacb9c6c12748f049b7558eaf709be7fe34f2b7120605754a02e6",
|
|
"provider": "My custom function",
|
|
"metrics": {
|
|
"score": 1,
|
|
"testPassCount": 1,
|
|
"testFailCount": 1,
|
|
"testErrorCount": 0,
|
|
"assertPassCount": 0,
|
|
"assertFailCount": 1,
|
|
"totalLatencyMs": 0,
|
|
"tokenUsage": {
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"total": 0,
|
|
"numRequests": 2,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
},
|
|
"assertions": {
|
|
"total": 0,
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"numRequests": 0,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
}
|
|
}
|
|
},
|
|
"namedScores": {},
|
|
"namedScoresCount": {},
|
|
"cost": 0
|
|
}
|
|
},
|
|
{
|
|
"raw": "[{\"role\":\"system\",\"content\":\"You are speaking to a time traveler. Begin your conversation.\"},{\"role\":\"user\",\"content\":\"{{body}}\"}]",
|
|
"label": "[{\"role\":\"system\",\"content\":\"You are speaking to a time traveler. Begin your conversation.\"},{\"role\":\"user\",\"content\":\"{{body}}\"}]",
|
|
"id": "13fa8ee48f9101367ab54fddbb72cc53eabc1aeacc250503e0023c99635059c7",
|
|
"provider": "My custom function",
|
|
"metrics": {
|
|
"score": 1,
|
|
"testPassCount": 1,
|
|
"testFailCount": 1,
|
|
"testErrorCount": 0,
|
|
"assertPassCount": 0,
|
|
"assertFailCount": 1,
|
|
"totalLatencyMs": 0,
|
|
"tokenUsage": {
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"total": 0,
|
|
"numRequests": 2,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
},
|
|
"assertions": {
|
|
"total": 0,
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"numRequests": 0,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
}
|
|
}
|
|
},
|
|
"namedScores": {},
|
|
"namedScoresCount": {},
|
|
"cost": 0
|
|
}
|
|
},
|
|
{
|
|
"raw": "Write 3 words about {{body}}",
|
|
"label": "prompt.txt: Write 3 words about {{body}}",
|
|
"id": "16946aa0e5135cee46b889df493c8c8c6033b45b679c47143e94e39ee1854e26",
|
|
"provider": "My custom function",
|
|
"metrics": {
|
|
"score": 1,
|
|
"testPassCount": 1,
|
|
"testFailCount": 1,
|
|
"testErrorCount": 0,
|
|
"assertPassCount": 0,
|
|
"assertFailCount": 1,
|
|
"totalLatencyMs": 1,
|
|
"tokenUsage": {
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"total": 0,
|
|
"numRequests": 2,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
},
|
|
"assertions": {
|
|
"total": 0,
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"numRequests": 0,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
}
|
|
}
|
|
},
|
|
"namedScores": {},
|
|
"namedScoresCount": {},
|
|
"cost": 0
|
|
}
|
|
},
|
|
{
|
|
"raw": "(vars) => {\n const genres = ['fantasy', 'sci-fi', 'mystery', 'horror'];\n const characters = {\n fantasy: 'wizard',\n 'sci-fi': 'alien',\n mystery: 'detective',\n horror: 'ghost',\n };\n const genre = genres[Math.floor(Math.random() * genres.length)];\n const character = characters[genre];\n return [\n {\n role: 'system',\n content: `You have encountered a ${character} in a ${genre} setting. Engage with the character using the knowledge typical for that genre.`,\n },\n {\n role: 'user',\n content: '{{body}}',\n },\n ];\n }",
|
|
"label": "",
|
|
"id": "cffda0450e7d3fc46ddfe961b52b57210717fab072e65d6814015e756ad56b4f",
|
|
"provider": "My custom function",
|
|
"metrics": {
|
|
"score": 1,
|
|
"testPassCount": 1,
|
|
"testFailCount": 1,
|
|
"testErrorCount": 0,
|
|
"assertPassCount": 0,
|
|
"assertFailCount": 1,
|
|
"totalLatencyMs": 0,
|
|
"tokenUsage": {
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"total": 0,
|
|
"numRequests": 2,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
},
|
|
"assertions": {
|
|
"total": 0,
|
|
"prompt": 0,
|
|
"completion": 0,
|
|
"cached": 0,
|
|
"numRequests": 0,
|
|
"completionDetails": {
|
|
"reasoning": 0,
|
|
"acceptedPrediction": 0,
|
|
"rejectedPrediction": 0
|
|
}
|
|
}
|
|
},
|
|
"namedScores": {},
|
|
"namedScoresCount": {},
|
|
"cost": 0
|
|
}
|
|
}
|
|
],
|
|
"persisted": true,
|
|
"vars": ["body"]
|
|
}
|