NeuralTrust/trusttest-examples
GitHub: NeuralTrust/trusttest-examples
TrustTest 示例库演示了如何对大语言模型应用进行功能评估与红蓝对抗安全测试。
Stars: 2 | Forks: 0
# TrustTest 示例
通过实用的 TrustTest 示例(涵盖功能评估、红蓝对抗和更安全的发布),为您的大语言模型 (LLM) 应用建立信心。
探索可直接运行的工作流,将其适配到您自己的目标,并在 [TrustTest 文档](https://docs.neuraltrust.ai/trusttest/getting-started/overview) 中了解更多信息。
## 用法
要运行基础的红蓝对抗场景,您可以使用以下代码:
```
import os
from typing import List
from dotenv import load_dotenv
import trusttest
from trusttest.catalog.red_team import run_red_teaming
from trusttest.language_detection.types import LanguageType
from trusttest.targets.http import HttpTarget, PayloadConfig
load_dotenv(override=True)
target = HttpTarget(
url="https://your-api.com/chat",
headers={"Content-Type": "application/json"},
payload_config=PayloadConfig(format={"message": "{{ test }}"}),
concatenate_field="response",
)
client = trusttest.client(type="neuraltrust", token=os.getenv("TARGET_TOKEN"), target_id=os.getenv("NEURALTRUST_TARGET_ID"))
languages: List[LanguageType] = ["English"]
for language in languages:
run_red_teaming(
target, language=language, client=client, num_test_cases=50, evaluate=False
)
```
或者深入了解并创建您自己的自定义场景:
```
from trusttest.dataset_builder import Dataset
from trusttest.evaluation_contexts import ExpectedResponseContext
from trusttest.evaluation_scenarios import EvaluationScenario
from trusttest.evaluator_suite import EvaluatorSuite
from trusttest.evaluators import CompletenessEvaluator, CorrectnessEvaluator
from trusttest.probes import DatasetProbe
from trusttest.targets.http import HttpTarget, PayloadConfig
target = HttpTarget(
url="https://your-api.com/chat",
headers={"Content-Type": "application/json"},
payload_config=PayloadConfig(format={"message": "{{ test }}"}),
concatenate_field="response",
)
dataset: Dataset[ExpectedResponseContext] = Dataset.from_json(path="data/qa_dataset.json")
probe = DatasetProbe(target=target, dataset=dataset)
scenario = EvaluationScenario(
description="Evaluate model responses",
name="QA Evaluation",
evaluator_suite=EvaluatorSuite(
evaluators=[
CorrectnessEvaluator(threshold=4),
CompletenessEvaluator(threshold=4),
],
criteria="any_fail",
),
)
test_set = probe.get_test_set()
results = scenario.evaluate(test_set)
results.display_summary()
```
## 安装
要安装 TrustTest,您需要我们私有 Python 包仓库的凭据。**请联系我们获取访问权限。**
有关完整说明,请参阅[如何安装 TrustTest](https://docs.neuraltrust.ai/trusttest/getting-started/installation)。
如果您的 GCP 账户可以直接访问 Neuraltrust Artifact Registry:
```
gcloud auth login
make install
```
`make install` 会配置 Artifact Registry 认证 (keyring),创建虚拟环境 (`uv sync --all-extras`),并安装 pre-commit 钩子。
## 示例目录结构
`examples/` 目录包含了一些有组织的示例,展示了 TrustTest 的各种功能和用例。这些示例被组织到以下文件夹中:
- **01_getting_started/** - TrustTest 入门基础示例(快速入门、基础运行、场景)
- **02_targets/** - 演示不同目标/客户端配置(HTTP、本地 LLM、Ollama、Groq、DeepSeek 等)的示例
- **03_evaluators/** - 自定义 evaluator 示例和 LLM-as-judge 模式
- **04_probes/** - 用于安全测试、偏见检测和评估场景(XSS、注入攻击、越狱、竞品检查、URL 正确性等)的探针示例
- **05_rag_poisoning/** - RAG 中毒攻击示例和自动化 RAG 测试生成
- **06_functional_tests/** - 使用各种后端(Azure、Neo4j、PostgreSQL、Upstash)自动生成功能测试
- **07_dataset_building/** - 数据集构建和创建示例
- **09_red_team/** - 使用 TrustTest 红蓝对抗目录(场景、HTTP 目标、辅助工具)的红蓝对抗示例
- **10_platform_api/** - 用于与 NeuralTrust 控制平面同步和运行测试的平台 API 工具(克隆、上传、下载、本地评估)
大多数示例可以直接从项目根目录运行:
```
python examples/01_getting_started/quickstart.py
```
有关每个文件夹及其内容的详细信息,请参阅 [examples/README.md](examples/README.md)。
## 开发
安装虚拟环境和 pre-commit 钩子:
```
make install
```
运行代码检查、格式化和类型检查:
```
make lint
```
这将运行 [Ruff](https://docs.astral.sh/ruff/)(代码检查 + 格式化)和 [ty](https://docs.astral.sh/ty/) 类型检查。[pre-commit](https://pre-commit.com/) 钩子由 `make install` 安装,并在提交时运行相同的检查。
标签:AI安全, Chat Copilot, DLL 劫持, 人工智能, 大模型评估, 大语言模型, 用户模式Hook绕过, 逆向工具