Documentation Index
Fetch the complete documentation index at: https://docs-model.skyengine.com.cn/llms.txt
Use this file to discover all available pages before exploring further.
OpenAI 工具调用示例
以下示例展示如何使用OpenAI兼容接口进行Function Calling(工具调用),让AI能够调用外部函数来获取信息或执行操作。
快速开始
只需要替换 <API-KEY> 为你的实际API密钥即可运行。
curl -X POST "https://model-api.skyengine.com.cn/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API-KEY>" \
-d '{
"model": "gpt-5-2025-08-07",
"messages": [
{
"role": "user",
"content": "北京今天的天气怎么样?"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气信息",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "温度单位"
}
},
"required": ["city"]
}
}
}
],
"tool_choice": "auto"
}'
工具调用的工作流程
- 定义工具: 在请求中定义可用的函数及其参数
- AI决策: AI根据用户输入决定是否需要调用工具
- 函数调用: AI生成函数调用请求
- 执行函数: 客户端执行相应的函数
- 返回结果: 将函数结果发送回AI
- 生成回复: AI基于函数结果生成最终回复
工具定义格式
{
"type": "function",
"function": {
"name": "function_name",
"description": "函数的描述",
"parameters": {
"type": "object",
"properties": {
"param1": {
"type": "string",
"description": "参数1的描述"
}
},
"required": ["param1"]
}
}
}
应用场景
- 信息查询: 天气、股票、新闻等实时信息
- 数据计算: 数学计算、数据分析
- 系统操作: 文件操作、数据库查询
- 外部API: 调用第三方服务
- 业务逻辑: 执行特定的业务流程
最佳实践
- 清晰的函数描述: 提供准确的函数和参数描述
- 参数验证: 在函数中进行输入参数验证
- 错误处理: 妥善处理函数执行中的错误
- 安全考虑: 避免执行危险的操作
- 性能优化: 对于耗时操作考虑异步处理
注意事项
- 工具调用需要两次API请求(决策+生成回复)
- 确保函数执行的安全性,避免恶意代码注入
- 合理设置
tool_choice 参数控制工具使用
- 函数返回结果应该是JSON可序列化的格式