SuperAPI AI 工具集

dspy-adapters-multimodal

设计与创作

查看项目

更新于 10-16 02:38

技能介绍

用途:帮助在 DSPy 中有意选择适配器,并用类型化原语建模图片、音频与文件输入。

适配器选择:dspy.ChatAdapter() 为默认,字段标记可读、模型兼容广;dspy.JSONAdapter() 用于结构化 JSON 输出及支持时的原生函数调用;dspy.XMLAdapter() 用于目标 LM 更易理解 XML 标签字段时;dspy.TwoStepAdapter() 用于解析需要额外帮助时增加单独抽取步骤。可全局或限定作用域配置:dspy.configure(lm=dspy.LM("openai/gpt-4o-mini"), adapter=dspy.JSONAdapter()),并用 with dspy.context(adapter=dspy.XMLAdapter()): 在局部切换。

原生函数调用:JSONAdapter 默认启用原生函数调用,ChatAdapter 默认保留文本解析。可显式覆盖:dspy.ChatAdapter(use_native_function_calling=True)、dspy.JSONAdapter(use_native_function_calling=False)。当配置的 LM 不支持原生函数调用时,DSPy 回退到手动解析。

多模态输入:在类型化 Signature 中将 image 声明为 dspy.Image、audio 声明为 dspy.Audio、file 声明为 dspy.File 输入字段。图片可传本地路径、HTTP URL、bytes、PIL 图像或已有 data URI 给 dspy.Image(...);音频用 dspy.Audio.from_file("./meeting.wav");文件用 dspy.File.from_path("./research.pdf")。

限制与建议:提供方能力各异,部署前需确认所选模型接受对应媒体类型。建议先用 ChatAdapter,仅在可衡量原因下切换;用类型化 Signature 保证结构化输出;针对生产所用模型测试适配器行为;避免已弃用的 Image.from_file() 与 Image.from_url() 辅助方法,改用 dspy.Image(...);本地文件处理与上传文件 ID 需符合提供方政策。