promptfoo 0.95.0 → 0.96.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/package.json +19 -17
- package/dist/src/app/assets/{index-zXzgAsKj.js → index-CL29fyye.js} +185 -185
- package/dist/src/app/assets/{index.es-Jztl1qad.js → index.es-CsYHA4xg.js} +1 -1
- package/dist/src/app/assets/{sync-BJBBGzPI.js → sync-B9AjROwZ.js} +1 -1
- package/dist/src/app/index.html +1 -1
- package/dist/src/assertions/answerRelevance.d.ts +3 -0
- package/dist/src/assertions/answerRelevance.d.ts.map +1 -0
- package/dist/src/assertions/answerRelevance.js +19 -0
- package/dist/src/assertions/answerRelevance.js.map +1 -0
- package/dist/src/assertions/bleu.d.ts +23 -0
- package/dist/src/assertions/bleu.d.ts.map +1 -0
- package/dist/src/assertions/bleu.js +132 -0
- package/dist/src/assertions/bleu.js.map +1 -0
- package/dist/src/assertions/classifier.d.ts +3 -0
- package/dist/src/assertions/classifier.d.ts.map +1 -0
- package/dist/src/assertions/classifier.js +22 -0
- package/dist/src/assertions/classifier.js.map +1 -0
- package/dist/src/assertions/contains.d.ts +8 -0
- package/dist/src/assertions/contains.d.ts.map +1 -0
- package/dist/src/assertions/contains.js +110 -0
- package/dist/src/assertions/contains.js.map +1 -0
- package/dist/src/assertions/contextFaithfulness.d.ts +3 -0
- package/dist/src/assertions/contextFaithfulness.d.ts.map +1 -0
- package/dist/src/assertions/contextFaithfulness.js +19 -0
- package/dist/src/assertions/contextFaithfulness.js.map +1 -0
- package/dist/src/assertions/contextRecall.d.ts +3 -0
- package/dist/src/assertions/contextRecall.d.ts.map +1 -0
- package/dist/src/assertions/contextRecall.js +18 -0
- package/dist/src/assertions/contextRecall.js.map +1 -0
- package/dist/src/assertions/contextRelevance.d.ts +3 -0
- package/dist/src/assertions/contextRelevance.d.ts.map +1 -0
- package/dist/src/assertions/contextRelevance.js +19 -0
- package/dist/src/assertions/contextRelevance.js.map +1 -0
- package/dist/src/assertions/cost.d.ts +3 -0
- package/dist/src/assertions/cost.d.ts.map +1 -0
- package/dist/src/assertions/cost.js +22 -0
- package/dist/src/assertions/cost.js.map +1 -0
- package/dist/src/assertions/equals.d.ts +4 -0
- package/dist/src/assertions/equals.d.ts.map +1 -0
- package/dist/src/assertions/equals.js +32 -0
- package/dist/src/assertions/equals.js.map +1 -0
- package/dist/src/assertions/factuality.d.ts +3 -0
- package/dist/src/assertions/factuality.d.ts.map +1 -0
- package/dist/src/assertions/factuality.js +25 -0
- package/dist/src/assertions/factuality.js.map +1 -0
- package/dist/src/assertions/index.d.ts +1 -12
- package/dist/src/assertions/index.d.ts.map +1 -1
- package/dist/src/assertions/index.js +94 -987
- package/dist/src/assertions/index.js.map +1 -1
- package/dist/src/assertions/javascript.d.ts +4 -0
- package/dist/src/assertions/javascript.d.ts.map +1 -0
- package/dist/src/assertions/javascript.js +94 -0
- package/dist/src/assertions/javascript.js.map +1 -0
- package/dist/src/assertions/json.d.ts +7 -0
- package/dist/src/assertions/json.d.ts.map +1 -0
- package/dist/src/assertions/json.js +121 -0
- package/dist/src/assertions/json.js.map +1 -0
- package/dist/src/assertions/latency.d.ts +3 -0
- package/dist/src/assertions/latency.d.ts.map +1 -0
- package/dist/src/assertions/latency.js +22 -0
- package/dist/src/assertions/latency.js.map +1 -0
- package/dist/src/assertions/levenshtein.d.ts +3 -0
- package/dist/src/assertions/levenshtein.d.ts.map +1 -0
- package/dist/src/assertions/levenshtein.js +22 -0
- package/dist/src/assertions/levenshtein.js.map +1 -0
- package/dist/src/assertions/llmRubric.d.ts +3 -0
- package/dist/src/assertions/llmRubric.d.ts.map +1 -0
- package/dist/src/assertions/llmRubric.js +22 -0
- package/dist/src/assertions/llmRubric.js.map +1 -0
- package/dist/src/assertions/modelGradedClosedQa.d.ts +3 -0
- package/dist/src/assertions/modelGradedClosedQa.d.ts.map +1 -0
- package/dist/src/assertions/modelGradedClosedQa.js +25 -0
- package/dist/src/assertions/modelGradedClosedQa.js.map +1 -0
- package/dist/src/assertions/moderation.d.ts +3 -0
- package/dist/src/assertions/moderation.d.ts.map +1 -0
- package/dist/src/assertions/moderation.js +41 -0
- package/dist/src/assertions/moderation.js.map +1 -0
- package/dist/src/assertions/openai.d.ts +5 -0
- package/dist/src/assertions/openai.d.ts.map +1 -0
- package/dist/src/assertions/openai.js +68 -0
- package/dist/src/assertions/openai.js.map +1 -0
- package/dist/src/assertions/perplexity.d.ts +4 -0
- package/dist/src/assertions/perplexity.d.ts.map +1 -0
- package/dist/src/assertions/perplexity.js +40 -0
- package/dist/src/assertions/perplexity.js.map +1 -0
- package/dist/src/assertions/python.d.ts +4 -0
- package/dist/src/assertions/python.d.ts.map +1 -0
- package/dist/src/assertions/python.js +107 -0
- package/dist/src/assertions/python.js.map +1 -0
- package/dist/src/assertions/redteam.d.ts +3 -0
- package/dist/src/assertions/redteam.d.ts.map +1 -0
- package/dist/src/assertions/redteam.js +29 -0
- package/dist/src/assertions/redteam.js.map +1 -0
- package/dist/src/assertions/regex.d.ts +3 -0
- package/dist/src/assertions/regex.d.ts.map +1 -0
- package/dist/src/assertions/regex.js +34 -0
- package/dist/src/assertions/regex.js.map +1 -0
- package/dist/src/assertions/rouge.d.ts +3 -0
- package/dist/src/assertions/rouge.d.ts.map +1 -0
- package/dist/src/assertions/rouge.js +47 -0
- package/dist/src/assertions/rouge.js.map +1 -0
- package/dist/src/assertions/similar.d.ts +3 -0
- package/dist/src/assertions/similar.d.ts.map +1 -0
- package/dist/src/assertions/similar.js +40 -0
- package/dist/src/assertions/similar.js.map +1 -0
- package/dist/src/assertions/sql.d.ts +4 -0
- package/dist/src/assertions/sql.d.ts.map +1 -0
- package/dist/src/assertions/sql.js +98 -0
- package/dist/src/assertions/sql.js.map +1 -0
- package/dist/src/assertions/startsWith.d.ts +3 -0
- package/dist/src/assertions/startsWith.d.ts.map +1 -0
- package/dist/src/assertions/startsWith.js +22 -0
- package/dist/src/assertions/startsWith.js.map +1 -0
- package/dist/src/assertions/utils.d.ts +1 -0
- package/dist/src/assertions/utils.d.ts.map +1 -1
- package/dist/src/assertions/utils.js +7 -0
- package/dist/src/assertions/utils.js.map +1 -1
- package/dist/src/assertions/webhook.d.ts +3 -0
- package/dist/src/assertions/webhook.d.ts.map +1 -0
- package/dist/src/assertions/webhook.js +55 -0
- package/dist/src/assertions/webhook.js.map +1 -0
- package/dist/src/assertions/xml.d.ts +11 -0
- package/dist/src/assertions/xml.d.ts.map +1 -0
- package/dist/src/assertions/xml.js +86 -0
- package/dist/src/assertions/xml.js.map +1 -0
- package/dist/src/commands/eval/filterTests.d.ts +1 -0
- package/dist/src/commands/eval/filterTests.d.ts.map +1 -1
- package/dist/src/commands/eval/filterTests.js +14 -1
- package/dist/src/commands/eval/filterTests.js.map +1 -1
- package/dist/src/commands/eval.d.ts.map +1 -1
- package/dist/src/commands/eval.js +14 -3
- package/dist/src/commands/eval.js.map +1 -1
- package/dist/src/commands/import.d.ts.map +1 -1
- package/dist/src/commands/import.js +1 -0
- package/dist/src/commands/import.js.map +1 -1
- package/dist/src/commands/list.d.ts.map +1 -1
- package/dist/src/commands/list.js +15 -0
- package/dist/src/commands/list.js.map +1 -1
- package/dist/src/csv.d.ts.map +1 -1
- package/dist/src/csv.js +9 -4
- package/dist/src/csv.js.map +1 -1
- package/dist/src/database/tables.d.ts +189 -1
- package/dist/src/database/tables.d.ts.map +1 -1
- package/dist/src/envars.d.ts +9 -0
- package/dist/src/envars.d.ts.map +1 -1
- package/dist/src/envars.js.map +1 -1
- package/dist/src/evaluator.js +2 -2
- package/dist/src/evaluator.js.map +1 -1
- package/dist/src/evaluatorHelpers.d.ts.map +1 -1
- package/dist/src/evaluatorHelpers.js +4 -0
- package/dist/src/evaluatorHelpers.js.map +1 -1
- package/dist/src/fetch.d.ts.map +1 -1
- package/dist/src/fetch.js +8 -1
- package/dist/src/fetch.js.map +1 -1
- package/dist/src/globalConfig/accounts.d.ts +1 -0
- package/dist/src/globalConfig/accounts.d.ts.map +1 -1
- package/dist/src/globalConfig/accounts.js +24 -0
- package/dist/src/globalConfig/accounts.js.map +1 -1
- package/dist/src/index.d.ts +74 -68
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/onboarding.js +8 -8
- package/dist/src/onboarding.js.map +1 -1
- package/dist/src/providers/adaline.gateway.d.ts.map +1 -1
- package/dist/src/providers/adaline.gateway.js +4 -4
- package/dist/src/providers/adaline.gateway.js.map +1 -1
- package/dist/src/providers/anthropic.d.ts.map +1 -1
- package/dist/src/providers/anthropic.js +31 -0
- package/dist/src/providers/anthropic.js.map +1 -1
- package/dist/src/providers/{azureopenai.d.ts → azure.d.ts} +13 -13
- package/dist/src/providers/azure.d.ts.map +1 -0
- package/dist/src/providers/{azureopenai.js → azure.js} +64 -42
- package/dist/src/providers/azure.js.map +1 -0
- package/dist/src/providers/{azureopenaiUtil.d.ts → azureUtil.d.ts} +1 -1
- package/dist/src/providers/azureUtil.d.ts.map +1 -0
- package/dist/src/providers/{azureopenaiUtil.js → azureUtil.js} +3 -3
- package/dist/src/providers/azureUtil.js.map +1 -0
- package/dist/src/providers/bedrock.d.ts +5 -3
- package/dist/src/providers/bedrock.d.ts.map +1 -1
- package/dist/src/providers/bedrock.js +38 -9
- package/dist/src/providers/bedrock.js.map +1 -1
- package/dist/src/providers/defaults.d.ts.map +1 -1
- package/dist/src/providers/defaults.js +36 -0
- package/dist/src/providers/defaults.js.map +1 -1
- package/dist/src/providers/portkey.d.ts +3 -2
- package/dist/src/providers/portkey.d.ts.map +1 -1
- package/dist/src/providers/portkey.js +17 -10
- package/dist/src/providers/portkey.js.map +1 -1
- package/dist/src/providers/promptfoo.js +2 -2
- package/dist/src/providers/promptfoo.js.map +1 -1
- package/dist/src/providers.d.ts +9 -5
- package/dist/src/providers.d.ts.map +1 -1
- package/dist/src/providers.js +16 -11
- package/dist/src/providers.js.map +1 -1
- package/dist/src/redteam/commands/generate.d.ts.map +1 -1
- package/dist/src/redteam/commands/generate.js +5 -1
- package/dist/src/redteam/commands/generate.js.map +1 -1
- package/dist/src/redteam/commands/init.d.ts +11 -0
- package/dist/src/redteam/commands/init.d.ts.map +1 -1
- package/dist/src/redteam/commands/init.js +47 -12
- package/dist/src/redteam/commands/init.js.map +1 -1
- package/dist/src/redteam/commands/poison.d.ts +3 -0
- package/dist/src/redteam/commands/poison.d.ts.map +1 -0
- package/dist/src/redteam/commands/poison.js +165 -0
- package/dist/src/redteam/commands/poison.js.map +1 -0
- package/dist/src/redteam/commands/run.d.ts.map +1 -1
- package/dist/src/redteam/commands/run.js +2 -0
- package/dist/src/redteam/commands/run.js.map +1 -1
- package/dist/src/redteam/constants.d.ts +6 -5
- package/dist/src/redteam/constants.d.ts.map +1 -1
- package/dist/src/redteam/constants.js +54 -37
- package/dist/src/redteam/constants.js.map +1 -1
- package/dist/src/redteam/extraction/util.js +1 -1
- package/dist/src/redteam/extraction/util.js.map +1 -1
- package/dist/src/redteam/graders.d.ts +34 -32
- package/dist/src/redteam/graders.d.ts.map +1 -1
- package/dist/src/redteam/graders.js +34 -33
- package/dist/src/redteam/graders.js.map +1 -1
- package/dist/src/redteam/index.d.ts.map +1 -1
- package/dist/src/redteam/index.js +9 -2
- package/dist/src/redteam/index.js.map +1 -1
- package/dist/src/redteam/plugins/bfla.d.ts.map +1 -1
- package/dist/src/redteam/plugins/bfla.js +5 -3
- package/dist/src/redteam/plugins/bfla.js.map +1 -1
- package/dist/src/redteam/plugins/bola.js +3 -3
- package/dist/src/redteam/plugins/index.d.ts.map +1 -1
- package/dist/src/redteam/plugins/index.js +3 -2
- package/dist/src/redteam/plugins/index.js.map +1 -1
- package/dist/src/redteam/plugins/intent.d.ts +22 -0
- package/dist/src/redteam/plugins/intent.d.ts.map +1 -0
- package/dist/src/redteam/plugins/intent.js +100 -0
- package/dist/src/redteam/plugins/intent.js.map +1 -0
- package/dist/src/redteam/plugins/pii.d.ts.map +1 -1
- package/dist/src/redteam/plugins/pii.js +21 -14
- package/dist/src/redteam/plugins/pii.js.map +1 -1
- package/dist/src/redteam/plugins/rbac.d.ts.map +1 -1
- package/dist/src/redteam/plugins/rbac.js +5 -4
- package/dist/src/redteam/plugins/rbac.js.map +1 -1
- package/dist/src/redteam/plugins/sqlInjection.d.ts.map +1 -1
- package/dist/src/redteam/plugins/sqlInjection.js +13 -4
- package/dist/src/redteam/plugins/sqlInjection.js.map +1 -1
- package/dist/src/redteam/providers/crescendo/index.d.ts.map +1 -1
- package/dist/src/redteam/providers/crescendo/index.js +6 -4
- package/dist/src/redteam/providers/crescendo/index.js.map +1 -1
- package/dist/src/redteam/providers/goat.d.ts +2 -0
- package/dist/src/redteam/providers/goat.d.ts.map +1 -1
- package/dist/src/redteam/providers/goat.js +10 -3
- package/dist/src/redteam/providers/goat.js.map +1 -1
- package/dist/src/redteam/providers/iterative.d.ts.map +1 -1
- package/dist/src/redteam/providers/iterative.js +4 -2
- package/dist/src/redteam/providers/iterative.js.map +1 -1
- package/dist/src/redteam/providers/iterativeImage.d.ts.map +1 -1
- package/dist/src/redteam/providers/iterativeImage.js +4 -2
- package/dist/src/redteam/providers/iterativeImage.js.map +1 -1
- package/dist/src/redteam/providers/iterativeTree.d.ts +3 -1
- package/dist/src/redteam/providers/iterativeTree.d.ts.map +1 -1
- package/dist/src/redteam/providers/iterativeTree.js +5 -3
- package/dist/src/redteam/providers/iterativeTree.js.map +1 -1
- package/dist/src/redteam/providers/shared.d.ts +2 -2
- package/dist/src/redteam/providers/shared.d.ts.map +1 -1
- package/dist/src/redteam/providers/shared.js +2 -2
- package/dist/src/redteam/providers/shared.js.map +1 -1
- package/dist/src/redteam/strategies/mathPrompt.js +1 -1
- package/dist/src/redteam/strategies/mathPrompt.js.map +1 -1
- package/dist/src/redteam/strategies/multilingual.js +1 -1
- package/dist/src/redteam/strategies/multilingual.js.map +1 -1
- package/dist/src/redteam/types.d.ts +1 -0
- package/dist/src/redteam/types.d.ts.map +1 -1
- package/dist/src/remoteGrading.js +1 -1
- package/dist/src/remoteGrading.js.map +1 -1
- package/dist/src/telemetry.d.ts +2 -2
- package/dist/src/types/index.d.ts +4737 -12
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +23 -26
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/providers.d.ts +12 -0
- package/dist/src/types/providers.d.ts.map +1 -1
- package/dist/src/types/providers.js.map +1 -1
- package/dist/src/util/config/load.d.ts +1 -1
- package/dist/src/util/config/load.d.ts.map +1 -1
- package/dist/src/util/config/load.js +15 -2
- package/dist/src/util/config/load.js.map +1 -1
- package/dist/src/util/index.d.ts +34 -0
- package/dist/src/util/index.d.ts.map +1 -1
- package/dist/src/validators/providers.d.ts +391 -0
- package/dist/src/validators/providers.d.ts.map +1 -1
- package/dist/src/validators/providers.js +18 -0
- package/dist/src/validators/providers.js.map +1 -1
- package/dist/src/validators/redteam.d.ts +136 -0
- package/dist/src/validators/redteam.d.ts.map +1 -1
- package/dist/test/assertions/bleu.test.d.ts +2 -0
- package/dist/test/assertions/bleu.test.d.ts.map +1 -0
- package/dist/test/assertions/bleu.test.js +162 -0
- package/dist/test/assertions/bleu.test.js.map +1 -0
- package/dist/test/assertions/index.test.js +276 -297
- package/dist/test/assertions/index.test.js.map +1 -1
- package/dist/test/assertions/json.test.d.ts +2 -0
- package/dist/test/assertions/json.test.d.ts.map +1 -0
- package/dist/test/assertions/json.test.js +36 -0
- package/dist/test/assertions/json.test.js.map +1 -0
- package/dist/test/assertions/sql.test.d.ts +2 -0
- package/dist/test/assertions/sql.test.d.ts.map +1 -0
- package/dist/test/assertions/sql.test.js +280 -0
- package/dist/test/assertions/sql.test.js.map +1 -0
- package/dist/test/commands/eval/filterTests.test.js +30 -0
- package/dist/test/commands/eval/filterTests.test.js.map +1 -1
- package/dist/test/factories/evalFactory.d.ts +155 -1
- package/dist/test/factories/evalFactory.d.ts.map +1 -1
- package/dist/test/fetch.test.js +17 -0
- package/dist/test/fetch.test.js.map +1 -1
- package/dist/test/onboarding.test.js +126 -1
- package/dist/test/onboarding.test.js.map +1 -1
- package/dist/test/providers/anthropic.test.js +120 -0
- package/dist/test/providers/anthropic.test.js.map +1 -1
- package/dist/test/providers/azure.test.js +22 -25
- package/dist/test/providers/azure.test.js.map +1 -1
- package/dist/test/providers/bedrock.test.js +178 -55
- package/dist/test/providers/bedrock.test.js.map +1 -1
- package/dist/test/providers/index.test.js +7 -7
- package/dist/test/providers/index.test.js.map +1 -1
- package/dist/test/providers/portkey.test.d.ts +2 -0
- package/dist/test/providers/portkey.test.d.ts.map +1 -0
- package/dist/test/providers/portkey.test.js +46 -0
- package/dist/test/providers/portkey.test.js.map +1 -0
- package/dist/test/redteam/commands/init.test.d.ts +2 -0
- package/dist/test/redteam/commands/init.test.d.ts.map +1 -0
- package/dist/test/redteam/commands/init.test.js +109 -0
- package/dist/test/redteam/commands/init.test.js.map +1 -0
- package/dist/test/redteam/plugins/pluginDocumentation.test.js +4 -1
- package/dist/test/redteam/plugins/pluginDocumentation.test.js.map +1 -1
- package/dist/test/redteam/providers/goat.test.js +1 -1
- package/dist/test/redteam/providers/goat.test.js.map +1 -1
- package/dist/test/redteam/providers/iterativeTree.test.js +8 -3
- package/dist/test/redteam/providers/iterativeTree.test.js.map +1 -1
- package/dist/test/util/config/load.test.js +44 -1
- package/dist/test/util/config/load.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +19 -17
- package/dist/src/providers/azureopenai.d.ts.map +0 -1
- package/dist/src/providers/azureopenai.js.map +0 -1
- package/dist/src/providers/azureopenaiUtil.d.ts.map +0 -1
- package/dist/src/providers/azureopenaiUtil.js.map +0 -1
- package/dist/src/redteam/eval/excessive-agency/llm_rubric-20240617.json +0 -10
- package/dist/src/redteam/eval/excessive-agency/llm_rubric-20240618.json +0 -10
- package/dist/src/redteam/eval/harmful/llm_rubric-20240723.json +0 -10
- package/dist/src/redteam/eval/harmful/llm_rubric-20240724.json +0 -10
- package/dist/test/is-sql-tests/node-sql-parser.test.d.ts +0 -2
- package/dist/test/is-sql-tests/node-sql-parser.test.d.ts.map +0 -1
- package/dist/test/is-sql-tests/node-sql-parser.test.js +0 -179
- package/dist/test/is-sql-tests/node-sql-parser.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assertions/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assertions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AssertionParams } from '../types';
|
|
2
|
+
import { type GradingResult } from '../types';
|
|
3
|
+
export declare const handleJavascript: ({ assertion, renderedValue, valueFromScript, context, outputString, output, inverse, }: AssertionParams) => Promise<GradingResult>;
|
|
4
|
+
//# sourceMappingURL=javascript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../../src/assertions/javascript.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,UAAU,CAAC;AAe/D,eAAO,MAAM,gBAAgB,2FAQ1B,eAAe,KAAG,OAAO,CAAC,aAAa,CA2EzC,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleJavascript = void 0;
|
|
7
|
+
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
8
|
+
const types_1 = require("../types");
|
|
9
|
+
const validateResult = async (result) => {
|
|
10
|
+
result = await Promise.resolve(result);
|
|
11
|
+
if (typeof result === 'boolean' || typeof result === 'number' || (0, types_1.isGradingResult)(result)) {
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
throw new Error(`Custom function must return a boolean, number, or GradingResult object. Got type ${typeof result}: ${JSON.stringify(result)}`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const handleJavascript = async ({ assertion, renderedValue, valueFromScript, context, outputString, output, inverse, }) => {
|
|
19
|
+
let pass;
|
|
20
|
+
let score;
|
|
21
|
+
try {
|
|
22
|
+
if (typeof assertion.value === 'function') {
|
|
23
|
+
let ret = assertion.value(outputString, context);
|
|
24
|
+
ret = await validateResult(ret);
|
|
25
|
+
if (!ret.assertion) {
|
|
26
|
+
// Populate the assertion object if the custom function didn't return it.
|
|
27
|
+
const functionString = assertion.value.toString();
|
|
28
|
+
ret.assertion = {
|
|
29
|
+
type: 'javascript',
|
|
30
|
+
value: functionString.length > 50 ? functionString.slice(0, 50) + '...' : functionString,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return ret;
|
|
34
|
+
}
|
|
35
|
+
(0, tiny_invariant_1.default)(typeof renderedValue === 'string', 'javascript assertion must have a string value');
|
|
36
|
+
/**
|
|
37
|
+
* Removes trailing newline from the rendered value.
|
|
38
|
+
* This is necessary for handling multi-line string literals in YAML
|
|
39
|
+
* that are defined on a single line in the YAML file.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* value: |
|
|
43
|
+
* output === 'true'
|
|
44
|
+
*/
|
|
45
|
+
renderedValue = renderedValue.trimEnd();
|
|
46
|
+
let result;
|
|
47
|
+
if (typeof valueFromScript === 'undefined') {
|
|
48
|
+
const functionBody = renderedValue.includes('\n') ? renderedValue : `return ${renderedValue}`;
|
|
49
|
+
const customFunction = new Function('output', 'context', functionBody);
|
|
50
|
+
result = await validateResult(customFunction(output, context));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
(0, tiny_invariant_1.default)(typeof valueFromScript === 'boolean' ||
|
|
54
|
+
typeof valueFromScript === 'number' ||
|
|
55
|
+
typeof valueFromScript === 'object', `Javascript assertion script must return a boolean, number, or object (${assertion.value})`);
|
|
56
|
+
result = await validateResult(valueFromScript);
|
|
57
|
+
}
|
|
58
|
+
if (typeof result === 'boolean') {
|
|
59
|
+
pass = result !== inverse;
|
|
60
|
+
score = pass ? 1 : 0;
|
|
61
|
+
}
|
|
62
|
+
else if (typeof result === 'number') {
|
|
63
|
+
pass = assertion.threshold ? result >= assertion.threshold : result > 0;
|
|
64
|
+
score = result;
|
|
65
|
+
}
|
|
66
|
+
else if (typeof result === 'object') {
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
throw new Error('Custom function must return a boolean or number');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
return {
|
|
75
|
+
pass: false,
|
|
76
|
+
score: 0,
|
|
77
|
+
reason: `Custom function threw error: ${err.message}
|
|
78
|
+
Stack Trace: ${err.stack}
|
|
79
|
+
${renderedValue}`,
|
|
80
|
+
assertion,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
pass,
|
|
85
|
+
score,
|
|
86
|
+
reason: pass
|
|
87
|
+
? 'Assertion passed'
|
|
88
|
+
: `Custom function returned ${inverse ? 'true' : 'false'}
|
|
89
|
+
${renderedValue}`,
|
|
90
|
+
assertion,
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
exports.handleJavascript = handleJavascript;
|
|
94
|
+
//# sourceMappingURL=javascript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/assertions/javascript.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import Ajv from 'ajv';
|
|
2
|
+
import type { AssertionParams, GradingResult } from '../types';
|
|
3
|
+
export declare function resetAjv(): void;
|
|
4
|
+
export declare function getAjv(): Ajv;
|
|
5
|
+
export declare function handleIsJson({ outputString, renderedValue, inverse, valueFromScript, assertion, }: AssertionParams): GradingResult;
|
|
6
|
+
export declare function handleContainsJson({ assertion, renderedValue, outputString, inverse, valueFromScript, }: AssertionParams): GradingResult;
|
|
7
|
+
//# sourceMappingURL=json.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/assertions/json.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,KAAK,CAAC;AAKtB,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK/D,wBAAgB,QAAQ,IAAI,IAAI,CAK/B;AAED,wBAAgB,MAAM,IAAI,GAAG,CAS5B;AAED,wBAAgB,YAAY,CAAC,EAC3B,YAAY,EACZ,aAAa,EACb,OAAO,EACP,eAAe,EACf,SAAS,GACV,EAAE,eAAe,GAAG,aAAa,CA8CjC;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,aAAa,EACb,YAAY,EACZ,OAAO,EACP,eAAe,GAChB,EAAE,eAAe,GAAG,aAAa,CAsCjC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resetAjv = resetAjv;
|
|
7
|
+
exports.getAjv = getAjv;
|
|
8
|
+
exports.handleIsJson = handleIsJson;
|
|
9
|
+
exports.handleContainsJson = handleContainsJson;
|
|
10
|
+
const ajv_1 = __importDefault(require("ajv"));
|
|
11
|
+
const ajv_formats_1 = __importDefault(require("ajv-formats"));
|
|
12
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
13
|
+
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
14
|
+
const envars_1 = require("../envars");
|
|
15
|
+
const json_1 = require("../util/json");
|
|
16
|
+
let ajvInstance = null;
|
|
17
|
+
function resetAjv() {
|
|
18
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
19
|
+
throw new Error('resetAjv can only be called in test environment');
|
|
20
|
+
}
|
|
21
|
+
ajvInstance = null;
|
|
22
|
+
}
|
|
23
|
+
function getAjv() {
|
|
24
|
+
if (!ajvInstance) {
|
|
25
|
+
const ajvOptions = {
|
|
26
|
+
strictSchema: !(0, envars_1.getEnvBool)('PROMPTFOO_DISABLE_AJV_STRICT_MODE'),
|
|
27
|
+
};
|
|
28
|
+
ajvInstance = new ajv_1.default(ajvOptions);
|
|
29
|
+
(0, ajv_formats_1.default)(ajvInstance);
|
|
30
|
+
}
|
|
31
|
+
return ajvInstance;
|
|
32
|
+
}
|
|
33
|
+
function handleIsJson({ outputString, renderedValue, inverse, valueFromScript, assertion, }) {
|
|
34
|
+
let parsedJson;
|
|
35
|
+
let pass;
|
|
36
|
+
try {
|
|
37
|
+
parsedJson = JSON.parse(outputString);
|
|
38
|
+
pass = !inverse;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
pass = inverse;
|
|
42
|
+
}
|
|
43
|
+
if (pass && renderedValue) {
|
|
44
|
+
let validate;
|
|
45
|
+
if (typeof renderedValue === 'string') {
|
|
46
|
+
if (renderedValue.startsWith('file://')) {
|
|
47
|
+
// Reference the JSON schema from external file
|
|
48
|
+
const schema = valueFromScript;
|
|
49
|
+
(0, tiny_invariant_1.default)(schema, 'is-json references a file that does not export a JSON schema');
|
|
50
|
+
validate = getAjv().compile(schema);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
const scheme = js_yaml_1.default.load(renderedValue);
|
|
54
|
+
validate = getAjv().compile(scheme);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else if (typeof renderedValue === 'object') {
|
|
58
|
+
validate = getAjv().compile(renderedValue);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
throw new Error('is-json assertion must have a string or object value');
|
|
62
|
+
}
|
|
63
|
+
pass = validate(parsedJson);
|
|
64
|
+
if (!pass) {
|
|
65
|
+
return {
|
|
66
|
+
pass,
|
|
67
|
+
score: 0,
|
|
68
|
+
reason: `JSON does not conform to the provided schema. Errors: ${getAjv().errorsText(validate.errors)}`,
|
|
69
|
+
assertion,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
pass,
|
|
75
|
+
score: pass ? 1 : 0,
|
|
76
|
+
reason: pass ? 'Assertion passed' : 'Expected output to be valid JSON',
|
|
77
|
+
assertion,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function handleContainsJson({ assertion, renderedValue, outputString, inverse, valueFromScript, }) {
|
|
81
|
+
let errorMessage = 'Expected output to contain valid JSON';
|
|
82
|
+
const jsonObjects = (0, json_1.extractJsonObjects)(outputString);
|
|
83
|
+
let pass = inverse ? jsonObjects.length === 0 : jsonObjects.length > 0;
|
|
84
|
+
for (const jsonObject of jsonObjects) {
|
|
85
|
+
if (renderedValue) {
|
|
86
|
+
let validate;
|
|
87
|
+
if (typeof renderedValue === 'string') {
|
|
88
|
+
if (renderedValue.startsWith('file://')) {
|
|
89
|
+
// Reference the JSON schema from external file
|
|
90
|
+
const schema = valueFromScript;
|
|
91
|
+
(0, tiny_invariant_1.default)(schema, 'contains-json references a file that does not export a JSON schema');
|
|
92
|
+
validate = getAjv().compile(schema);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const scheme = js_yaml_1.default.load(renderedValue);
|
|
96
|
+
validate = getAjv().compile(scheme);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else if (typeof renderedValue === 'object') {
|
|
100
|
+
validate = getAjv().compile(renderedValue);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
throw new Error('contains-json assertion must have a string or object value');
|
|
104
|
+
}
|
|
105
|
+
pass = validate(jsonObject);
|
|
106
|
+
if (pass) {
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
errorMessage = `JSON does not conform to the provided schema. Errors: ${getAjv().errorsText(validate.errors)}`;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
pass,
|
|
116
|
+
score: pass ? 1 : 0,
|
|
117
|
+
reason: pass ? 'Assertion passed' : errorMessage,
|
|
118
|
+
assertion,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/assertions/json.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latency.d.ts","sourceRoot":"","sources":["../../../src/assertions/latency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE/D,eAAO,MAAM,aAAa,6BAA8B,eAAe,KAAG,aAkBzE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleLatency = void 0;
|
|
4
|
+
const handleLatency = ({ assertion, latencyMs }) => {
|
|
5
|
+
if (!assertion.threshold) {
|
|
6
|
+
throw new Error('Latency assertion must have a threshold in milliseconds');
|
|
7
|
+
}
|
|
8
|
+
if (latencyMs === undefined) {
|
|
9
|
+
throw new Error('Latency assertion does not support cached results. Rerun the eval with --no-cache');
|
|
10
|
+
}
|
|
11
|
+
const pass = latencyMs <= assertion.threshold;
|
|
12
|
+
return {
|
|
13
|
+
pass,
|
|
14
|
+
score: pass ? 1 : 0,
|
|
15
|
+
reason: pass
|
|
16
|
+
? 'Assertion passed'
|
|
17
|
+
: `Latency ${latencyMs}ms is greater than threshold ${assertion.threshold}ms`,
|
|
18
|
+
assertion,
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.handleLatency = handleLatency;
|
|
22
|
+
//# sourceMappingURL=latency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latency.js","sourceRoot":"","sources":["../../../src/assertions/latency.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAmB,EAAiB,EAAE;IACxF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC;IAC9C,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,IAAI;YACV,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,WAAW,SAAS,gCAAgC,SAAS,CAAC,SAAS,IAAI;QAC/E,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,aAAa,iBAkBxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"levenshtein.d.ts","sourceRoot":"","sources":["../../../src/assertions/levenshtein.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE/D,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,aAAa,EACb,YAAY,GACb,EAAE,eAAe,GAAG,aAAa,CAejC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleLevenshtein = handleLevenshtein;
|
|
7
|
+
const fastest_levenshtein_1 = require("fastest-levenshtein");
|
|
8
|
+
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
9
|
+
function handleLevenshtein({ assertion, renderedValue, outputString, }) {
|
|
10
|
+
(0, tiny_invariant_1.default)(typeof renderedValue === 'string', '"levenshtein" assertion type must have a string value');
|
|
11
|
+
const levDistance = (0, fastest_levenshtein_1.distance)(outputString, renderedValue);
|
|
12
|
+
const pass = levDistance <= (assertion.threshold || 5);
|
|
13
|
+
return {
|
|
14
|
+
pass,
|
|
15
|
+
score: pass ? 1 : 0,
|
|
16
|
+
reason: pass
|
|
17
|
+
? 'Assertion passed'
|
|
18
|
+
: `Levenshtein distance ${levDistance} is greater than threshold ${assertion.threshold || 5}`,
|
|
19
|
+
assertion,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=levenshtein.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"levenshtein.js","sourceRoot":"","sources":["../../../src/assertions/levenshtein.ts"],"names":[],"mappings":";;;;;AAIA,8CAmBC;AAvBD,6DAA+C;AAC/C,oEAAuC;AAGvC,SAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,aAAa,EACb,YAAY,GACI;IAChB,IAAA,wBAAS,EACP,OAAO,aAAa,KAAK,QAAQ,EACjC,uDAAuD,CACxD,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,8BAAQ,EAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACvD,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,IAAI;YACV,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,wBAAwB,WAAW,8BAA8B,SAAS,CAAC,SAAS,IAAI,CAAC,EAAE;QAC/F,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llmRubric.d.ts","sourceRoot":"","sources":["../../../src/assertions/llmRubric.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE/D,eAAO,MAAM,eAAe,sDAKzB,eAAe,KAAG,OAAO,CAAC,aAAa,CAezC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleLlmRubric = void 0;
|
|
7
|
+
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
8
|
+
const matchers_1 = require("../matchers");
|
|
9
|
+
const handleLlmRubric = async ({ assertion, renderedValue, outputString, test, }) => {
|
|
10
|
+
(0, tiny_invariant_1.default)(typeof renderedValue === 'string' || typeof renderedValue === 'undefined', '"llm-rubric" assertion type must have a string value');
|
|
11
|
+
if (test.options?.rubricPrompt && typeof test.options.rubricPrompt === 'object') {
|
|
12
|
+
test.options.rubricPrompt = JSON.stringify(test.options.rubricPrompt);
|
|
13
|
+
}
|
|
14
|
+
// Update the assertion value. This allows the web view to display the prompt.
|
|
15
|
+
assertion.value = assertion.value || test.options?.rubricPrompt;
|
|
16
|
+
return {
|
|
17
|
+
assertion,
|
|
18
|
+
...(await (0, matchers_1.matchesLlmRubric)(renderedValue || '', outputString, test.options, test.vars)),
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.handleLlmRubric = handleLlmRubric;
|
|
22
|
+
//# sourceMappingURL=llmRubric.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llmRubric.js","sourceRoot":"","sources":["../../../src/assertions/llmRubric.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAuC;AACvC,0CAA+C;AAGxC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,SAAS,EACT,aAAa,EACb,YAAY,EACZ,IAAI,GACY,EAA0B,EAAE;IAC5C,IAAA,wBAAS,EACP,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,aAAa,KAAK,WAAW,EACzE,sDAAsD,CACvD,CAAC;IACF,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAChF,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACxE,CAAC;IAED,8EAA8E;IAC9E,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;IAChE,OAAO;QACL,SAAS;QACT,GAAG,CAAC,MAAM,IAAA,2BAAgB,EAAC,aAAa,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KACxF,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,eAAe,mBAoB1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelGradedClosedQa.d.ts","sourceRoot":"","sources":["../../../src/assertions/modelGradedClosedQa.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG/D,eAAO,MAAM,yBAAyB,8DAMnC,eAAe,KAAG,OAAO,CAAC,aAAa,CAiBzC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleModelGradedClosedQa = void 0;
|
|
7
|
+
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
8
|
+
const matchers_1 = require("../matchers");
|
|
9
|
+
const templates_1 = require("../util/templates");
|
|
10
|
+
const handleModelGradedClosedQa = async ({ assertion, renderedValue, outputString, test, prompt, }) => {
|
|
11
|
+
(0, tiny_invariant_1.default)(typeof renderedValue === 'string', 'model-graded-closedqa assertion type must have a string value');
|
|
12
|
+
(0, tiny_invariant_1.default)(prompt, 'model-graded-closedqa assertion type must have a prompt');
|
|
13
|
+
if (test.options?.rubricPrompt) {
|
|
14
|
+
// Substitute vars in prompt
|
|
15
|
+
(0, tiny_invariant_1.default)(typeof test.options.rubricPrompt === 'string', 'rubricPrompt must be a string');
|
|
16
|
+
const nunjucks = (0, templates_1.getNunjucksEngine)();
|
|
17
|
+
test.options.rubricPrompt = nunjucks.renderString(test.options.rubricPrompt, test.vars || {});
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
assertion,
|
|
21
|
+
...(await (0, matchers_1.matchesClosedQa)(prompt, renderedValue, outputString, test.options, test.vars)),
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
exports.handleModelGradedClosedQa = handleModelGradedClosedQa;
|
|
25
|
+
//# sourceMappingURL=modelGradedClosedQa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelGradedClosedQa.js","sourceRoot":"","sources":["../../../src/assertions/modelGradedClosedQa.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAuC;AACvC,0CAA8C;AAE9C,iDAAsD;AAE/C,MAAM,yBAAyB,GAAG,KAAK,EAAE,EAC9C,SAAS,EACT,aAAa,EACb,YAAY,EACZ,IAAI,EACJ,MAAM,GACU,EAA0B,EAAE;IAC5C,IAAA,wBAAS,EACP,OAAO,aAAa,KAAK,QAAQ,EACjC,+DAA+D,CAChE,CAAC;IACF,IAAA,wBAAS,EAAC,MAAM,EAAE,yDAAyD,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;QAC/B,4BAA4B;QAC5B,IAAA,wBAAS,EAAC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,+BAA+B,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,IAAA,6BAAiB,GAAE,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACL,SAAS;QACT,GAAG,CAAC,MAAM,IAAA,0BAAe,EAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KACzF,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,yBAAyB,6BAuBpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moderation.d.ts","sourceRoot":"","sources":["../../../src/assertions/moderation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE/D,eAAO,MAAM,gBAAgB,iEAM1B,eAAe,KAAG,OAAO,CAAC,aAAa,CAuCzC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.handleModeration = void 0;
|
|
7
|
+
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
8
|
+
const matchers_1 = require("../matchers");
|
|
9
|
+
const shared_1 = require("../providers/shared");
|
|
10
|
+
const handleModeration = async ({ assertion, test, outputString, providerResponse, prompt, }) => {
|
|
11
|
+
// Some redteam techniques override the actual prompt that is used, so we need to assess that prompt for moderation.
|
|
12
|
+
const promptToModerate = providerResponse.metadata?.redteamFinalPrompt || prompt;
|
|
13
|
+
(0, tiny_invariant_1.default)(promptToModerate, 'moderation assertion type must have a prompt');
|
|
14
|
+
(0, tiny_invariant_1.default)(!assertion.value || (Array.isArray(assertion.value) && typeof assertion.value[0] === 'string'), 'moderation assertion value must be a string array if set');
|
|
15
|
+
if (promptToModerate[0] === '[' || promptToModerate[0] === '{') {
|
|
16
|
+
// Try to extract the last user message from OpenAI-style prompts.
|
|
17
|
+
try {
|
|
18
|
+
const parsedPrompt = (0, shared_1.parseChatPrompt)(promptToModerate, null);
|
|
19
|
+
if (parsedPrompt && parsedPrompt.length > 0) {
|
|
20
|
+
prompt = parsedPrompt[parsedPrompt.length - 1].content;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// Ignore error
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const moderationResult = await (0, matchers_1.matchesModeration)({
|
|
28
|
+
userPrompt: promptToModerate,
|
|
29
|
+
assistantResponse: outputString,
|
|
30
|
+
categories: Array.isArray(assertion.value) ? assertion.value : [],
|
|
31
|
+
}, test.options);
|
|
32
|
+
const pass = moderationResult.pass;
|
|
33
|
+
return {
|
|
34
|
+
pass,
|
|
35
|
+
score: moderationResult.score,
|
|
36
|
+
reason: moderationResult.reason,
|
|
37
|
+
assertion,
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
exports.handleModeration = handleModeration;
|
|
41
|
+
//# sourceMappingURL=moderation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moderation.js","sourceRoot":"","sources":["../../../src/assertions/moderation.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAuC;AACvC,0CAAgD;AAChD,gDAAsD;AAG/C,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,gBAAgB,EAChB,MAAM,GACU,EAA0B,EAAE;IAC5C,oHAAoH;IACpH,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,IAAI,MAAM,CAAC;IACjF,IAAA,wBAAS,EAAC,gBAAgB,EAAE,8CAA8C,CAAC,CAAC;IAC5E,IAAA,wBAAS,EACP,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EAC9F,0DAA0D,CAC3D,CAAC;IACF,IAAI,gBAAgB,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC/D,kEAAkE;QAClE,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAA,wBAAe,EAClC,gBAAgB,EAChB,IAAI,CACL,CAAC;YACF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;YACzD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,IAAA,4BAAiB,EAC9C;QACE,UAAU,EAAE,gBAAgB;QAC5B,iBAAiB,EAAE,YAAY;QAC/B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;KAClE,EACD,IAAI,CAAC,OAAO,CACb,CAAC;IAEF,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;IACnC,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,gBAAgB,CAAC,KAAK;QAC7B,MAAM,EAAE,gBAAgB,CAAC,MAAM;QAC/B,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,gBAAgB,oBA6C3B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AssertionParams } from '../types';
|
|
2
|
+
import type { GradingResult } from '../types';
|
|
3
|
+
export declare const handleIsValidOpenAiFunctionCall: ({ assertion, output, provider, test, }: AssertionParams) => GradingResult;
|
|
4
|
+
export declare const handleIsValidOpenAiToolsCall: ({ assertion, output, provider, test, }: AssertionParams) => GradingResult;
|
|
5
|
+
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/assertions/openai.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,+BAA+B,2CAKzC,eAAe,KAAG,aAoCpB,CAAC;AAEF,eAAO,MAAM,4BAA4B,2CAKtC,eAAe,KAAG,aA2CpB,CAAC"}
|