Gemini Function Calling:串接工具的基本流程
让 AI 拥有动手操作世界的能力!定义本地 Python 函数接口规范、模型自主决策何时调用及回传组装答案完整流程。
一、Function Calling 的核心意义
大模型本身无法实时查询你的公司内网数据库或当下的实时天气。
函数调用允许开发者将本地自研的业务函数规范作为“工具”(Tools)声明给模型。模型在理解提问后,会主动返回一个包含具体执行参数的结构化指令。
二、自动工具调用的极简代码框架
import google.generativeai as genai
# 1. 定义具备明确类型提示与文档注释的本地函数
def fetch_user_order_status(order_id: str) -> str:
"""根据订单ID查询发货与物流状态"""
return f"订单 {order_id} 目前已出库,正在由顺丰速运派送中"
# 2. 将函数注册到模型工具池
model = genai.GenerativeModel(
"gemini-1.5-flash",
tools=[fetch_user_order_status]
)
# 3. 开启自动函数执行模式
chat = model.start_chat(enable_automatic_function_calling=True)
response = chat.send_message("帮我查一下订单号 ORD-8890 的当前物流进度")
print(response.text)
三、权限边界控制
涉及资金扣费或数据库删除等写操作时,建议关闭自动执行,由程序在人工二次确认后再执行。
入门指引见:[Gemini 快速上手教程](https://aihuiyuan.club/articles/gemini-api-python-first-call-quickstart)。