SuperAPI AI 工具集

dspy-tools

智能体与模型

查看项目

更新于 10-15 23:58

技能介绍

用途:该技能指导把 Python 函数包装成 dspy.Tool,供 DSPy 智能体调用,并配置 dspy.PythonInterpreter 在沙箱中执行代码,将工具接入 dspy.ReAct 与 dspy.CodeAct。

主要能力:dspy.Tool 自动从函数名、docstring、类型提示推断工具 schema,也可显式覆盖 name、desc、args、arg_types、arg_desc。函数可直接传给 ReAct/CodeAct 由 DSPy 自动包装。dspy.PythonInterpreter 基于 Deno + Pyodide 运行沙箱代码,默认无文件系统、网络与环境变量访问,可按需开启 enable_read_paths、enable_write_paths、enable_env_vars、enable_network_access,并可通过 tools 传入在宿主进程运行的工具函数。支持 dspy.Tool.from_langchain() 转换 LangChain 工具,dspy.Tool.from_mcp_tool() 转换 MCP 工具(需 pip install -U "dspy[mcp]",工具为异步,需用 await agent.aforward())。

使用方式:编写工具时补齐类型提示与 docstring,保持单一职责,返回字符串或 json.dumps 结果,并捕获异常返回错误字符串。ReAct 传入 tools 列表与 max_iters;CodeAct 可传入自定义 interpreter,其工具须为纯函数,不能导入外部库或引用全局状态。

限制与注意:缺少类型提示会导致空 schema;返回复杂对象、用 lambda 包装会丢失 docstring 与类型提示;MCP 工具需异步调用;CodeAct 工具运行在沙箱内无法访问进程全局变量。PythonInterpreter 需先安装 Deno。dspy.ToolCalls 与 dspy.ToolCallResults 为 DSPy 3.3.0 beta 新增,稳定版 3.2.1 暂未提供。安装技能命令:npx skills add lebsral/DSPy-Programming-not-prompting-LMs-skills --skill <name>。