函数调用
POST/v1beta/models/gemini-2.5-pro:generateContent 函数调用
使用 Vortap 的 Gemini 兼容接口时,可以在请求中声明可用函数,让模型根据用户输入决定是否返回函数调用参数。客户端收到函数调用结果后,可执行对应业务逻辑,并将执行结果再次提交给模型以生成最终回复。
接口地址
POST https://www.vortapapi.com/v1/v1beta/models/gemini-2.5-pro:generateContent
查询参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
key | string | 是 | Vortap API Key,例如 sk-***。 |
请求头
| 名称 | 必填 | 说明 |
|---|---|---|
Content-Type | 是 | 固定为 application/json。 |
请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
contents | array | 是 | 对话内容列表。 |
tools | array | 否 | 可供模型调用的工具定义,函数调用通常通过该字段声明。 |
示例请求
curl "https://www.vortapapi.com/v1/v1beta/models/gemini-2.5-pro:generateContent?key=sk-***" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "帮我安排一个明天下午 3 点与产品团队的会议。"
}
]
}
],
"tools": [
{
"functionDeclarations": [
{
"name": "schedule_meeting",
"description": "创建会议日程",
"parameters": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "会议标题"
},
"time": {
"type": "string",
"description": "会议时间"
},
"attendees": {
"type": "array",
"items": {
"type": "string"
},
"description": "参会人员或团队"
}
},
"required": ["title", "time", "attendees"]
}
}
]
}
]
}'
示例响应
模型可能不会直接生成自然语言回复,而是返回需要调用的函数及其参数:
{
"candidates": [
{
"content": {
"parts": [
{
"functionCall": {
"name": "schedule_meeting",
"args": {
"title": "产品团队会议",
"time": "明天下午 3 点",
"attendees": ["产品团队"]
}
}
}
],
"role": "model"
}
}
]
}
调用流程
- 在
tools.functionDeclarations中定义模型可使用的函数。 - 用户发起请求。
- 模型根据上下文判断是否需要调用函数。
- 如果响应中包含
functionCall,客户端执行对应函数。 - 将函数执行结果作为后续上下文发送给模型。
- 模型基于函数结果生成最终答复。