|
|
|
@ -19,23 +19,148 @@ function Calling 是一种机制,允许大语言模型[动态调用](https://z
|
|
|
|
|
1. tools定义
|
|
|
|
|
deepseek 官方定义的格式(最多支持 128 个 function),参考 https://api-docs.deepseek.com/zh-cn/guides/function_calling
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"type": "function",
|
|
|
|
|
"function": {
|
|
|
|
|
"name": "get_current_weather",
|
|
|
|
|
"description": "Get weather of an location, the user shoud supply a location first",
|
|
|
|
|
"parameters": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"properties": {
|
|
|
|
|
"location": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "The city and state, e.g. San Francisco, CA",
|
|
|
|
|
}
|
|
|
|
|
TOOLS = [
|
|
|
|
|
{
|
|
|
|
|
"type": "function",
|
|
|
|
|
"function": {
|
|
|
|
|
"name": "get_current_weather",
|
|
|
|
|
"description": "Get weather of an location, the user shoud supply a location first",
|
|
|
|
|
"parameters": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"properties": {
|
|
|
|
|
"location": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "The city and state, e.g. San Francisco, CA",
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": ["location"]
|
|
|
|
|
},
|
|
|
|
|
"required": ["location"]
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "function",
|
|
|
|
|
"function": {
|
|
|
|
|
"name": "play_video",
|
|
|
|
|
"description": "播放、查看、打开实时视频",
|
|
|
|
|
"parameters": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"properties": {
|
|
|
|
|
"camera_name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "相机名称,例如:南卡口1号相机",
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": ["camera_name"]
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "function",
|
|
|
|
|
"function": {
|
|
|
|
|
"name": "split_screen",
|
|
|
|
|
"description": "切换分屏",
|
|
|
|
|
"parameters": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"properties": {
|
|
|
|
|
"split_n": {
|
|
|
|
|
"type": "int",
|
|
|
|
|
"description": "要切换的分屏数量,整数并且大于0,例如:1分屏、2分屏",
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": ["split_n"]
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "function",
|
|
|
|
|
"function": {
|
|
|
|
|
"name": "play_video_record",
|
|
|
|
|
"description": "播放、打开录像",
|
|
|
|
|
"parameters": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"properties": {
|
|
|
|
|
"camera_name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "相机名称,例如:南卡口1号相机",
|
|
|
|
|
},
|
|
|
|
|
"start_time": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "录像开始时间,格式为yyyy-MM-dd hh:mm:ss,例 2025-03-16 01:00:00",
|
|
|
|
|
},
|
|
|
|
|
"end_time": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "录像结束时间,格式为yyyy-MM-dd hh:mm:ss,例 2025-03-16 02:09:31",
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": ["camera_name", "start_time", "end_time"]
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "function",
|
|
|
|
|
"function": {
|
|
|
|
|
"name": "switch_page",
|
|
|
|
|
"description": "打开、跳转页面",
|
|
|
|
|
"parameters": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"properties": {
|
|
|
|
|
"page_name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "页面中文名称或者缩写,例:人员核查、系统日志、设备管理、首页",
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": ["page_name"]
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "function",
|
|
|
|
|
"function": {
|
|
|
|
|
"name": "zoom_in",
|
|
|
|
|
"description": "放大电子地图",
|
|
|
|
|
"parameters": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"properties": {
|
|
|
|
|
"level_n": {
|
|
|
|
|
"type": "int",
|
|
|
|
|
"description": "放大等级,整数并且大于0小于5,例如:放大1级、放大2级",
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": ["level_n"]
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "function",
|
|
|
|
|
"function": {
|
|
|
|
|
"name": "view_flight_details",
|
|
|
|
|
"description": "查询指定机场指定航班及时间的出入境人员明细",
|
|
|
|
|
"parameters": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"properties": {
|
|
|
|
|
"airport_name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "机场名称,简体中文,可以是缩写,例如:成都天府机场、天府机场、长水机场、上海浦东机场",
|
|
|
|
|
},
|
|
|
|
|
"flight_code": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "航班编号,由字母+数字组成的完整编号,若编号包含多余字符(如标点符号),需过滤后保留有效部分",
|
|
|
|
|
},
|
|
|
|
|
"flight_date": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "提取完整日期(年月日),自动补零至标准格式 yyyy-MM-dd, 例:2025-03-16",
|
|
|
|
|
},
|
|
|
|
|
"ie_type": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"description": "出入境类型,仅识别'入境'或'出境'两种类型",
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": ["airport_name", "flight_code", "flight_date"]
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
2. 函数绑定及调用
|
|
|
|
|