TrustTest Sample Code Index
This document catalogs all TrustTest code snippets found in the docs/trusttest documentation, with their source file locations. The documentation uses an older TrustTest API (e.g.,RagPoisoningScenario, old probe classes, Scenario, etc.).
Corrections Index
| Section | Invalid Sample | Correction |
|---|---|---|
| upstash.mdx | RagPoisoningScenario | Use RAGProbe + EvaluationScenario + RAGPoisoningEvaluator |
| automatic-test-generation.mdx | RagFunctionalScenario, RagPoisoningScenario | Use RAGProbe + EvaluationScenario |
| tutorials/rag.mdx | RagFunctionalScenario, RagPoisoningScenario | Use RAGProbe + EvaluationScenario |
| quickstart.mdx | Dataset([…]) structure | Use Dataset([[item] for item in items]) for single-turn |
| connect/custom.mdx | trusttest.Scenario | Use EvaluationScenario + DatasetProbe |
| create/functional/from-dataset.mdx | dataset_builder.base, evaluators.llm_judges | Use trusttest.dataset_builder, trusttest.evaluators |
| create/functional/from-prompt.mdx | dataset_builder.single_prompt | Use trusttest.dataset_builder |
| create/dataset.mdx | Dataset([…]) | Use List[List[DatasetItem]] structure |
| create/unsafe-outputs.mdx | UnsafeOutputScenario | Use UnsafeOutputsScenarioBuilder |
| create/knowledge-base/neo4j.mdx | RagFunctionalScenario | Use RAGProbe + EvaluationScenario |
| create/system-prompt-disclosure.mdx | SystemPromptDisclosureScenario | Use SystemPromptDisclosureScenarioBuilder |
| create/echo-chamber.mdx | EchoChamberScenario | Use MultiTurnScenarioBuilder |
| create/agentic-behavior.mdx | AgenticBehaviorScenario | Use AgenticBehaviorLimitsScenarioBuilder |
| create/sensitive-data-leak.mdx | SensitiveDataLeakScenario | Use SensitiveDataLeakScenarioBuilder |
| create/input-leakage.mdx | InputLeakageScenario | Use InputLeakageScenarioBuilder |
| create/content-bias.mdx | ContentBiasScenario | Use ContentBiasObjectiveScenarioBuilder / ContentBiasDatasetScenarioBuilder |
| create/crescendo.mdx | CrescendoScenario | Use MultiTurnScenarioBuilder |
| create/off-topic.mdx | OffTopicScenario | Use OffTopicScenarioBuilder |
| create/prompt-injections.mdx | PromptInjectionScenario | Use SingleTurnScenarioBuilder |
| create/iterate.mdx | CaptureTheFlagScenario | Use MultiTurnScenarioBuilder or probe + EvaluationScenario |
| create/threat-detection/from-dataset.mdx | PromptInjectionScenario | Use SingleTurnScenarioBuilder or DatasetProbe |
| create/functional/from-rag.mdx | (imports OK) | Add test_set = probe.get_test_set() before evaluate |
| create/functional/overview.mdx | FunctionalScenario | Use RAGProbe + EvaluationScenario |
| tutorials/compliance.mdx | ComplianceScenario | No direct equivalent; use combination of scenario builders |
Current API Quick Reference
ScenarioBuilder pattern:Dataset expects List[List[DatasetItem]]; each inner list is one test case.
trusttest/create/knowledge-base/connectors/upstash.mdx
RagPoisoningScenario does not exist. Use RAGProbe + EvaluationScenario:
trusttest/create/automatic-test-generation.mdx
Functional Testing:RagFunctionalScenario does not exist. Use RAGProbe + EvaluationScenario + AnswerRelevanceEvaluator. Replace model with target. Import from trusttest.probes.rag import RAGProbe, BenignQuestion and build scenario with EvaluatorSuite(evaluators=[AnswerRelevanceEvaluator()], criteria="any_fail").
Adversarial Testing:
RagPoisoningScenario does not exist. Use RAGProbe + EvaluationScenario + RAGPoisoningEvaluator (same pattern as upstash correction above).
trusttest/getting-started/tutorials/rag.mdx
Configure Knowledge Base:RAGProbe from trusttest.probes.rag + EvaluationScenario + AnswerRelevanceEvaluator.
Generate RAG Poisoning Tests:
RAGProbe + EvaluationScenario + RAGPoisoningEvaluator.
Functional tests (complete):
RAGProbe + EvaluationScenario + AnswerRelevanceEvaluator for functional; RAGPoisoningEvaluator for adversarial.
Adversarial tests (complete):
trusttest/getting-started/quickstart.mdx
Step 1 - Evaluation Target:Dataset expects List[List[DatasetItem]] – each inner list is one test case. Use Dataset([[item] for item in items]) for single-turn tests, or Dataset.from_yaml("path.yaml").
Step 3 - Evaluation Scenario:
scenario.evaluate(test_set) – pass test_set from probe.get_test_set(). Ensure EvaluationScenario has evaluator_suite with EvaluatorSuite(evaluators=[...], criteria="any_fail").
trusttest/connect/custom.mdx
Basic Implementation (uses oldScenario):
Scenario from trusttest does not exist. Use EvaluationScenario + DatasetProbe (or other probe). Flow: probe = DatasetProbe(target=target, dataset=dataset), test_set = probe.get_test_set(), scenario = EvaluationScenario(evaluator_suite=suite), results = scenario.evaluate(test_set).
Conversation Target:
EvaluationScenario + probe pattern.
trusttest/create/functional/from-dataset.mdx
Loading from YAML:from trusttest.dataset_builder import Dataset (not dataset_builder.base). Use from trusttest.evaluators import CorrectnessEvaluator (not evaluators.llm_judges).
trusttest/create/functional/from-prompt.mdx
Basic Usage:from trusttest.dataset_builder import DatasetItem, SinglePromptDatasetBuilder (not dataset_builder.single_prompt). PromptDatasetProbe takes target and dataset_builder.
trusttest/create/dataset.mdx
From Python List:Dataset([...]) must be List[List[DatasetItem]]. For single-turn: Dataset([[DatasetItem(question="...", context=ExpectedResponseContext(...))]]). Can also use Dataset.from_yaml("path.yaml") or Dataset.from_json("path.json").
trusttest/create/creating-custom-probes.mdx
Dataset Probe:from trusttest.dataset_builder import Dataset (not dataset_builder.base).
Custom Probe (MyCustomAttackProbe, MyMultiTurnProbe, AuthorityAppealProbe):
trusttest/create/unsafe-outputs.mdx
UnsafeOutputScenario does not exist. Use UnsafeOutputsScenarioBuilder:
trusttest/create/knowledge-base/connectors/neo4j.mdx
RagFunctionalScenario does not exist. Use RAGProbe + EvaluationScenario + AnswerRelevanceEvaluator. Import Neo4jKnowledgeBase from trusttest.knowledge_base.neo4j.
trusttest/create/system-prompt-disclosure.mdx
SystemPromptDisclosureScenario does not exist. Use SystemPromptDisclosureScenarioBuilder:
trusttest/create/echo-chamber.mdx
EchoChamberScenario does not exist. Use MultiTurnScenarioBuilder with custom objectives:
trusttest/create/agentic-behavior.mdx
AgenticBehaviorScenario does not exist. Use AgenticBehaviorLimitsScenarioBuilder:
trusttest/create/sensitive-data-leak.mdx
SensitiveDataLeakScenario does not exist. Use SensitiveDataLeakScenarioBuilder:
trusttest/create/input-leakage.mdx
InputLeakageScenario does not exist. Use InputLeakageScenarioBuilder:
trusttest/create/content-bias.mdx
ContentBiasScenario does not exist. Use ContentBiasObjectiveScenarioBuilder for framing-bias with objectives, or ContentBiasDatasetScenarioBuilder for gender-bias (dataset-based):
trusttest/create/crescendo.mdx
CrescendoScenario does not exist. Use MultiTurnScenarioBuilder:
trusttest/create/off-topic.mdx
OffTopicScenario does not exist. Use OffTopicScenarioBuilder:
trusttest/create/prompt-injections.mdx
PromptInjectionScenario does not exist. Use SingleTurnScenarioBuilder:
trusttest/create/iterate.mdx
CaptureTheFlagScenario does not exist. Use MultiTurnScenarioBuilder with custom objectives, or SingleTurnScenarioBuilder for single-turn objectives, or use CrescendoAttackProbe / EchoChamberAttackProbe directly with EvaluationScenario.
trusttest/create/threat-detection/prompt-injections/single-turn/dan-jailbreak.mdx
from trusttest.evaluators import TrueFalseEvaluator instead of evaluators.llm_judges.
trusttest/create/threat-detection/prompt-injections/single-turn/best-of-n.mdx
trusttest/create/threat-detection/prompt-injections/multi-turn/crescendo.mdx
trusttest/create/threat-detection/prompt-injections/multi-turn/echo-chamber.mdx
trusttest/create/threat-detection/prompt-injections/multi-turn/multi-turn-manipulation.mdx
trusttest/create/threat-detection/prompt-injections/multi-turn/overview.mdx
trusttest/create/threat-detection/prompt-injections/single-turn/overview.mdx
SingleTurnScenarioBuilder with num_test_cases=50 instead of PromptInjectionScenario. For second block: Use from trusttest.dataset_builder import Dataset.
trusttest/create/functional/from-rag.mdx
test_set = probe.get_test_set() before scenario.evaluate(test_set). Pass test_set to scenario.evaluate(test_set).
trusttest/create/functional/overview.mdx
FunctionalScenario does not exist. Use RAGProbe + EvaluationScenario + AnswerRelevanceEvaluator:
trusttest/getting-started/tutorials/client.mdx
trusttest/getting-started/tutorials/prompt-dataset.mdx
trusttest/getting-started/tutorials/iterate.mdx
trusttest/getting-started/tutorials/compliance.mdx
ComplianceScenario does not exist. Use a combination of scenario builders (e.g. SingleTurnScenarioBuilder for prompt injections, UnsafeOutputsScenarioBuilder for toxicity).
trusttest/getting-started/tutorials/llm-as-judge.mdx
trusttest/getting-started/tutorials/local-llm.mdx
trusttest/getting-started/tutorials/http-model.mdx
trusttest/getting-started/tutorials/custom-llm-judge.mdx
trusttest/connect/client.mdx
trusttest/connect/http.mdx
trusttest/evaluate-result/evaluation-strategy.mdx
trusttest/evaluate-result/heuristics/equals.mdx
trusttest/evaluate-result/heuristics/regex.mdx
trusttest/evaluate-result/heuristics/bleu.mdx
trusttest/evaluate-result/heuristics/language.mdx
trusttest/evaluate-result/llm-as-a-judge/rag-poisoning.mdx
trusttest/evaluate-result/llm-as-a-judge/tone.mdx
trusttest/evaluate-result/llm-as-a-judge/correctness.mdx
trusttest/evaluate-result/llm-as-a-judge/completeness.mdx
trusttest/evaluate-result/llm-as-a-judge/url-correctness.mdx
trusttest/evaluate-result/llm-as-a-judge/true-false.mdx
trusttest/create/prompt-dataset.mdx
Summary of API Patterns
Deprecated (no longer exist)
| Pattern | Current Replacement |
|---|---|
RagPoisoningScenario | RAGProbe + EvaluationScenario + RAGPoisoningEvaluator |
RagFunctionalScenario | RAGProbe + EvaluationScenario + AnswerRelevanceEvaluator |
FunctionalScenario | RAGProbe + EvaluationScenario |
Scenario (from trusttest) | EvaluationScenario + probe |
UnsafeOutputScenario | UnsafeOutputsScenarioBuilder |
SystemPromptDisclosureScenario | SystemPromptDisclosureScenarioBuilder |
SensitiveDataLeakScenario | SensitiveDataLeakScenarioBuilder |
InputLeakageScenario | InputLeakageScenarioBuilder |
ContentBiasScenario | ContentBiasObjectiveScenarioBuilder / ContentBiasDatasetScenarioBuilder |
EchoChamberScenario, CrescendoScenario, CaptureTheFlagScenario | MultiTurnScenarioBuilder |
AgenticBehaviorScenario | AgenticBehaviorLimitsScenarioBuilder |
OffTopicScenario | OffTopicScenarioBuilder |
PromptInjectionScenario | SingleTurnScenarioBuilder |
ComplianceScenario | No direct equivalent; use combination of scenario builders |
Current (valid)
| Pattern | Description |
|---|---|
BenignQuestion, MaliciousQuestion | Question type enums from trusttest.probes.rag |
scenario.probe, scenario.eval | ScenarioBuilder pattern: builder.get_scenario(sub_category) returns Scenario with .probe and .eval |
DANJailbreakProbe, BestOfNJailbreakingProbe, CrescendoAttackProbe, etc. | Probe classes under trusttest.probes.prompt_injections |
SteeringObjective, Objective | From trusttest.probes / trusttest.probes.base |
InMemoryKnowledgeBase(documents=...) | Valid; use Document with id, content, topic |
trusttest.evaluation_contexts | Correct module (not evaluation_context) |