Gemini Function Calling
Gemini 常见术语是 function calling。
为什么 Gemini 更容易让人困惑
因为很多人看到的是 SDK 示例,而不是原始协议,结果往往搞不清:
- 工具定义到底在哪里声明
- 返回结构来自模型还是 SDK 封装
- function call 和流式事件如何组合
文档应该覆盖的内容
一篇真正有用的 Gemini function calling 文档,至少要写清楚:
- 使用的 SDK / 版本
- function declaration 的格式
- 模型返回 function call 时的对象结构
- 如何把函数执行结果继续回传
- 多模态输入与 function calling 是否会互相影响
推荐写法
与其只给一段“能跑”的 demo,不如提供:
- 一段最小示例
- 一段带错误处理的示例
- 一段和 OpenAI / Anthropic 的差异说明
迁移建议
如果你已经有 OpenAI 风格的业务层,接 Gemini 时最重要的是:
- 先做 provider adapter
- 不要把 SDK 对象直接泄漏进业务逻辑
- 把 function call 统一转成内部结构再处理