SuperAPI AI 工具集

giskard

Giskard 是一个面向 LLM 智能体系统的开源 Python 测试与评估库,v3 版本采用模块化、轻量、异步优先的架构,专为动态多轮测试设计。它提供两大核心组件:Giskard Checks 用于创建与应用评估(evals),涵盖字符串匹配、比较、正则、语义相似度及 LLM-as-judge 检查(如 Groundedness、Conformity、LLMJudge),可检查回归、验证 RAG 质量、执行安全规则、评测多轮智能体;Giskard Scan 是红队与漏洞扫描层,可根据智能体的自然语言描述自动生成对抗测试套件,覆盖提示注入、有害内容、刻板印象、虚假信息等 OWASP LLM Top-10 威胁类别。库基于 giskard-core、giskard-llm、giskard-agents 三个基础库构建,支持包装任意 LLM、黑盒智能体或多步管道作为测试目标。使用需 Python 3.12+,可选手动关闭遥测。

访问官网

工具介绍

Giskard 是一个开源 Python 库,用于测试和评估智能体系统(agentic systems)。v3 架构是一组模块化、聚焦的软件包,每个包只携带自身所需的依赖,从零构建以包装任何对象:一个 LLM、一个黑盒智能体,或一个多步管道。这些包构建在三个基础库之上——giskard-core(共享工具与遥测)、giskard-llm(与提供商无关的 LLM 路由)和 giskard-agents(智能体与工作流编排),它们会被自动引入,很少直接使用。

主要能力

Giskard Checks:创建和应用用于测试智能体的评估(evals)。这是一个轻量库,用于为基于 LLM 的系统创建评估,从简单断言到 LLM-as-judge 评估。与传统单元测试不同,评估针对非确定性输出设计,同一输入可能产生不同但有效的响应。用途包括:捕获回归(验证系统在变更后仍表现正确)、验证 RAG 质量(检查答案是否基于检索到的上下文)、执行安全规则(确保输出符合内容政策)、评估多轮智能体(测试完整对话,而不仅是单次交互)。内置评估包括字符串匹配、比较、正则、语义相似度以及 LLM-as-judge 检查(Groundedness、Conformity、LLMJudge)。

Giskard Scan:面向 AI 智能体的漏洞扫描器,是红队与漏洞扫描层。它根据智能体的自然语言描述自动生成对抗测试套件,覆盖提示注入、有害内容、刻板印象、虚假信息等。用途包括:自动在 OWASP LLM Top-10 威胁类别下生成对抗输入进行红队测试;使用内置的注入载荷数据集运行提示注入探测;通过向 generate_suite 传入自定义 ScenarioGenerator 实例,或在 vulnerability_suite_generator_registry 上注册,来扩展自定义生成器。

关键概念与使用方式

目标(Target):被测系统,任意同步/异步可调用对象,(inputs) -> outputs(可选带 trace)。场景(Scenario):一次评估,包含交互与检查。检查(Check):对 trace 的断言或 LLM 评判。套件(Suite):多个场景一起运行。

giskard.agents.Generator 是用于工作流/评判器的 LLM 客户端,与 giskard.checks 中用于合成用户消息的输入生成器(LLMGenerator)不同。Groundedness 是 LLM 评判器,需安装提供商扩展(例如 pip install "giskard[openai]")并设置对应的 API key。默认模型:openai/gpt-4o-mini。

Scan 生成器同样需要 LLM 提供商扩展和 API key(与上述 Checks 评判器相同)。

版本与兼容性

Giskard v2 包含 Scan(自动漏洞检测)和 RAGET(RAG 评估测试集生成)。对于 LLM 智能体,两者在 v3 中均由 giskard-scan 取代:使用 vulnerability_scan 代替 v2 的 LLM scan,使用 quality_scan(配合 KnowledgeBase)代替 RAGET。v3 也可以用于 ML 模型——将其包装为 target,并用 giskard-checks 或 giskard-scan 进行评估。v2 独有的自动表格扫描(introspects 一个 giskard.Model + giskard.Dataset 以自动检测性能、偏差与鲁棒性问题的检测器套件)、giskard.testing ML 测试套件以及 Giskard Hub 不在 v3 计划中。Giskard v2 仍然可用,但不再积极维护。

环境要求与遥测

需要 Python 3.12+。遥测:通过 giskard-core 可选地收集聚合分析数据,不会发送提示词或输出。可通过 export DO_NOT_TRACK=1 或 export GISKARD_TELEMETRY_DISABLED=1(或在 .env 文件中设置相同键)选择退出。在 import 前设置可跳过创建 ~/.giskard/id;稍后设置仍会停止后续发送。

其他信息

我们欢迎 AI 社区的贡献。项目提供文档、网站和社区(Discord)。可关注 v3 公告与路线图。项目接受 GitHub 赞助,月度赞助可获得赞助徽章、在 readme 中展示公司、并优先处理 bug 报告;也提供一次性赞助用于咨询项目、工作坊或公司演讲。

原文中所述“Scan — automatically detect performance, bias & security issues”及“RAGET — generate evaluation datasets for RAG applications”示例代码块在提供资料中未给出具体内容,故不在此展开。