用途:从杂乱文本中抽取结构化数据,适用于解析发票、邮件字段、文章实体、转录文本等场景。核心思路是用 DSPy 定义输出结构,由 AI 填充。
主要能力:用 dspy.Signature 声明输入输出字段,ChainOfThought 在抽取前加入推理,通常比直接 Predict 更准;复杂或嵌套输出可用 Pydantic 模型,DSPy 自动序列化;列表抽取支持可变数量条目;小模型(<4B)易产生 JSON 语法错误,可改用 YAML 输出再解析;用 dspy.Refine 配合 reward 函数对不合格结果重试;可用正则做混合抽取补漏;用 Evaluate 做字段级部分评分,再用 BootstrapFewShot 优化并保存加载。
使用方式:配置 LM(如 dspy.LM("openai/gpt-4o-mini"))后定义 Signature 与解析器,从文件、CSV、VTT/LiveKit/Recall 转录或 Langfuse traces 载入文本,逐条或批量解析并保存结果。若未安装可运行:npx skills add lebsral/DSPy-Programming-not-prompting-LMs-skills --skill ai-do。
限制与注意:Pydantic 输出模型须可 JSON 序列化,避免自定义类型与 datetime;可选字段需显式 None 默认值,否则模型可能编造;列表抽取默认偏少,需提高 max_tokens 并加“尽量穷尽”指令;超长输入会被静默截断,需先分块;嵌套层级越多失败率越高,建议扁平化或分步抽取。具体收费、平台与效果数据暂未提供。