SuperAPI AI 工具集

ai-checking-outputs

通用与其它

查看项目

更新于 10-15 23:58

技能介绍

用途:为 DSPy 程序添加 AI 输出验证与护栏,避免幻觉、格式错误、敏感内容或事实错误的结果到达用户。核心模式为“生成、检查、修正或拒绝”。

主要能力:一是结构与格式校验,用 Pydantic 模型约束类型、长度、取值范围,DSPy 会自动重试;也可用 dspy.Refine 配合正则做自定义格式检查。二是迭代自纠,dspy.Refine 用 reward_fn 打分,低于 threshold 则重试并回传反馈,最多 N 次,返回最高分结果。三是多候选择优,dspy.BestOfN 独立生成 N 个候选并选分数最高者,适合需要多样性的高要求场景。四是事实核查,用自检签名判断答案是否被上下文支持,或交叉生成两份答案比较一致性。五是安全过滤,用正则拦截密码、密钥、SSN 等,或用 AI 作为安全裁判。

使用方式:定义 dspy.Signature 与 dspy.Module,编写返回 float 的 reward_fn(args, pred),再包装为 dspy.Refine(module, N=..., reward_fn=..., threshold=...) 或 dspy.BestOfN(...) 调用。硬性要求用 threshold=1.0,软性偏好用低于 1.0 的阈值以求部分分。

适用场景:RAG 问答的忠实度校验、结构化抽取的格式检查、面向公众内容的安全过滤、高风险输出的质量择优。

限制:纯格式校验用 Pydantic 即可,无需 reward_fn;延迟预算低于 50ms 时不宜重试;若首次输出持续不佳,应改签名或加示例而非重试;已有人工审核时增加 AI 裁判只增成本。reward_fn 必须返回 float 而非 bool,且验证模块应在模块级实例化一次,避免每次调用新建。AI 裁判会使每次尝试的模型调用翻倍。