Skip to main content

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

SectionInvalid SampleCorrection
upstash.mdxRagPoisoningScenarioUse RAGProbe + EvaluationScenario + RAGPoisoningEvaluator
automatic-test-generation.mdxRagFunctionalScenario, RagPoisoningScenarioUse RAGProbe + EvaluationScenario
tutorials/rag.mdxRagFunctionalScenario, RagPoisoningScenarioUse RAGProbe + EvaluationScenario
quickstart.mdxDataset([…]) structureUse Dataset([[item] for item in items]) for single-turn
connect/custom.mdxtrusttest.ScenarioUse EvaluationScenario + DatasetProbe
create/functional/from-dataset.mdxdataset_builder.base, evaluators.llm_judgesUse trusttest.dataset_builder, trusttest.evaluators
create/functional/from-prompt.mdxdataset_builder.single_promptUse trusttest.dataset_builder
create/dataset.mdxDataset([…])Use List[List[DatasetItem]] structure
create/unsafe-outputs.mdxUnsafeOutputScenarioUse UnsafeOutputsScenarioBuilder
create/knowledge-base/neo4j.mdxRagFunctionalScenarioUse RAGProbe + EvaluationScenario
create/system-prompt-disclosure.mdxSystemPromptDisclosureScenarioUse SystemPromptDisclosureScenarioBuilder
create/echo-chamber.mdxEchoChamberScenarioUse MultiTurnScenarioBuilder
create/agentic-behavior.mdxAgenticBehaviorScenarioUse AgenticBehaviorLimitsScenarioBuilder
create/sensitive-data-leak.mdxSensitiveDataLeakScenarioUse SensitiveDataLeakScenarioBuilder
create/input-leakage.mdxInputLeakageScenarioUse InputLeakageScenarioBuilder
create/content-bias.mdxContentBiasScenarioUse ContentBiasObjectiveScenarioBuilder / ContentBiasDatasetScenarioBuilder
create/crescendo.mdxCrescendoScenarioUse MultiTurnScenarioBuilder
create/off-topic.mdxOffTopicScenarioUse OffTopicScenarioBuilder
create/prompt-injections.mdxPromptInjectionScenarioUse SingleTurnScenarioBuilder
create/iterate.mdxCaptureTheFlagScenarioUse MultiTurnScenarioBuilder or probe + EvaluationScenario
create/threat-detection/from-dataset.mdxPromptInjectionScenarioUse SingleTurnScenarioBuilder or DatasetProbe
create/functional/from-rag.mdx(imports OK)Add test_set = probe.get_test_set() before evaluate
create/functional/overview.mdxFunctionalScenarioUse RAGProbe + EvaluationScenario
tutorials/compliance.mdxComplianceScenarioNo direct equivalent; use combination of scenario builders

Current API Quick Reference

ScenarioBuilder pattern:
RAG testing:
Client:
Dataset structure: Dataset expects List[List[DatasetItem]]; each inner list is one test case.

trusttest/create/knowledge-base/connectors/upstash.mdx

Correction (current API): RagPoisoningScenario does not exist. Use RAGProbe + EvaluationScenario:

trusttest/create/automatic-test-generation.mdx

Functional Testing:
Correction (current API): 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:
Correction (current API): RagPoisoningScenario does not exist. Use RAGProbe + EvaluationScenario + RAGPoisoningEvaluator (same pattern as upstash correction above).

trusttest/getting-started/tutorials/rag.mdx

Configure Knowledge Base:
Generate Functional Questions:
Correction (current API): Replace with RAGProbe from trusttest.probes.rag + EvaluationScenario + AnswerRelevanceEvaluator. Generate RAG Poisoning Tests:
Correction (current API): Replace with RAGProbe + EvaluationScenario + RAGPoisoningEvaluator. Functional tests (complete):
Correction (current API): Same as above – use RAGProbe + EvaluationScenario + AnswerRelevanceEvaluator for functional; RAGPoisoningEvaluator for adversarial. Adversarial tests (complete):

trusttest/getting-started/quickstart.mdx

Step 1 - Evaluation Target:
Step 2 - Probe:
Correction (current API): 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:
Complete Example:
Correction (current API): 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 old Scenario):
Correction (current API): 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:
Correction (current API): Same as above – use EvaluationScenario + probe pattern.

trusttest/create/functional/from-dataset.mdx

Loading from YAML:
Correction (current API): Use 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:
Correction (current API): Use 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:
Correction (current API): 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:
Correction (current API): Use from trusttest.dataset_builder import Dataset (not dataset_builder.base). Custom Probe (MyCustomAttackProbe, MyMultiTurnProbe, AuthorityAppealProbe):
Evaluation:

trusttest/create/unsafe-outputs.mdx

Correction (current API): UnsafeOutputScenario does not exist. Use UnsafeOutputsScenarioBuilder:

trusttest/create/knowledge-base/connectors/neo4j.mdx

Correction (current API): RagFunctionalScenario does not exist. Use RAGProbe + EvaluationScenario + AnswerRelevanceEvaluator. Import Neo4jKnowledgeBase from trusttest.knowledge_base.neo4j.

trusttest/create/system-prompt-disclosure.mdx

Correction (current API): SystemPromptDisclosureScenario does not exist. Use SystemPromptDisclosureScenarioBuilder:

trusttest/create/echo-chamber.mdx

Correction (current API): EchoChamberScenario does not exist. Use MultiTurnScenarioBuilder with custom objectives:

trusttest/create/agentic-behavior.mdx

Correction (current API): AgenticBehaviorScenario does not exist. Use AgenticBehaviorLimitsScenarioBuilder:

trusttest/create/sensitive-data-leak.mdx

Correction (current API): SensitiveDataLeakScenario does not exist. Use SensitiveDataLeakScenarioBuilder:

trusttest/create/input-leakage.mdx

Correction (current API): InputLeakageScenario does not exist. Use InputLeakageScenarioBuilder:

trusttest/create/content-bias.mdx

Correction (current API): ContentBiasScenario does not exist. Use ContentBiasObjectiveScenarioBuilder for framing-bias with objectives, or ContentBiasDatasetScenarioBuilder for gender-bias (dataset-based):

trusttest/create/crescendo.mdx

Correction (current API): CrescendoScenario does not exist. Use MultiTurnScenarioBuilder:

trusttest/create/off-topic.mdx

Correction (current API): OffTopicScenario does not exist. Use OffTopicScenarioBuilder:

trusttest/create/prompt-injections.mdx

Correction (current API): PromptInjectionScenario does not exist. Use SingleTurnScenarioBuilder:

trusttest/create/iterate.mdx

Correction (current API): 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

Correction (current API): Imports are valid. Can simplify to 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

Correction (current API): For first block: Use 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

Correction (current API): Add test_set = probe.get_test_set() before scenario.evaluate(test_set). Pass test_set to scenario.evaluate(test_set).

trusttest/create/functional/overview.mdx

Correction (current API): 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

Correction (current API): 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)

PatternCurrent Replacement
RagPoisoningScenarioRAGProbe + EvaluationScenario + RAGPoisoningEvaluator
RagFunctionalScenarioRAGProbe + EvaluationScenario + AnswerRelevanceEvaluator
FunctionalScenarioRAGProbe + EvaluationScenario
Scenario (from trusttest)EvaluationScenario + probe
UnsafeOutputScenarioUnsafeOutputsScenarioBuilder
SystemPromptDisclosureScenarioSystemPromptDisclosureScenarioBuilder
SensitiveDataLeakScenarioSensitiveDataLeakScenarioBuilder
InputLeakageScenarioInputLeakageScenarioBuilder
ContentBiasScenarioContentBiasObjectiveScenarioBuilder / ContentBiasDatasetScenarioBuilder
EchoChamberScenario, CrescendoScenario, CaptureTheFlagScenarioMultiTurnScenarioBuilder
AgenticBehaviorScenarioAgenticBehaviorLimitsScenarioBuilder
OffTopicScenarioOffTopicScenarioBuilder
PromptInjectionScenarioSingleTurnScenarioBuilder
ComplianceScenarioNo direct equivalent; use combination of scenario builders

Current (valid)

PatternDescription
BenignQuestion, MaliciousQuestionQuestion type enums from trusttest.probes.rag
scenario.probe, scenario.evalScenarioBuilder pattern: builder.get_scenario(sub_category) returns Scenario with .probe and .eval
DANJailbreakProbe, BestOfNJailbreakingProbe, CrescendoAttackProbe, etc.Probe classes under trusttest.probes.prompt_injections
SteeringObjective, ObjectiveFrom trusttest.probes / trusttest.probes.base
InMemoryKnowledgeBase(documents=...)Valid; use Document with id, content, topic
trusttest.evaluation_contextsCorrect module (not evaluation_context)