← 返回首页ai798Lab 公开知识库

AI词典

星图管发现,路线管顺序,词典管查阅。每个词都挂着能直接拿去用的项目。

工具调用

Tool Calling2 个项目7 个相关词

在星图中看
小机器人填好调用单塞进工具机,另一头吐出结果卡
说人话
模型本身只会吐字,碰不到真实世界。工具调用是你事先告诉它有哪些动作可以用、每个要填什么参数,它在需要时输出一段结构化的调用请求,由你的程序去执行,再把结果塞回对话里让它接着往下说。它能查天气、能发邮件、能操作你的软件,靠的都是这一层。
打个比方
像给它一部只能拨固定几个号码的电话,它决定打给谁、说什么,真正跑腿办事的是接电话的人。
说行话
OpenAI 叫 function calling,Anthropic 叫 tool use,同一件事。请求体里的字段是 tools 和 tool_choice,参数用 JSON Schema 声明,模型回来的是一段 tool_calls。
潜台词
「它能联网 / 能操作我的软件」,底层都是这一套。
别用它
工具给太多会挑花眼,超过十几个就该分层或按场景裁剪。还要记得它填的参数不一定对,执行前自己校验一遍,尤其是会花钱、会删东西的操作。

拿这个能做什么2 个项目

  1. 01
    modelcontextprotocol/servers

    现成的工具服务集合,文件系统、数据库、浏览器都有

    选它当不想自己实现常见工具

  2. 02
    modelcontextprotocol/python-sdk

    写自己的工具服务的官方 SDK

    选它当要把内部系统包成工具

工具描述写得好不好,比模型强不强更影响成功率。那段 description 是提示词,不是注释,很多人没意识到这点。

动手试试做完就算会了

写个 get_weather(city: str),第一行放 print("被调用了"),传进 ollama 包的 chat(..., tools=[get_weather]) 问杭州下不下雨。打印返回的 message:城市已经填成杭州,那句「被调用了」一次也没出现,函数得你自己去跑。

相关点进去继续查

局部星图:拖动节点看牵连,悬停只亮它的邻居,点一个词跳过去