概述
支持的模型
暂不支持通义千问多模态模型。
概述
我无法提供实时信息,因为我的数据只更新到2021年。
1.
2.
3.
4.
阿里云最近的重要新闻是它成为了中央广播电视总台《2025年春节联欢晚会》的云计算AI独家合作伙伴。
...
这些信息表明,阿里云不仅在技术基础设施方面具有优势,而且也在积极探索如何将AI技术应用于大型文化活动中,以创造新的用户体验。
以上组件仅供您参考,并未真实发送请求。
前提条件
如何使用
如果您使用 DashScope SDK,或需要直接获取完整代码,请点击下表的对应位置。
DashScope | DashScope Python SDK |
---|---|
DashScope Java SDK | |
OpenAI 兼容 | OpenAI Python SDK |
OpenAI Node.js SDK |
1. 定义工具
1.1. 定义工具函数
arguments
参数,arguments
格式为{"location": "查询的地点"}
。工具的输出为字符串,格式为:“{位置}今天是{天气}。”
。为了便于演示,此处定义的天气查询工具并不真正查询天气,会从晴天、多云、雨天随机选择。在您的实际业务中可以使用如高德天气查询等工具进行替换。
“当前时间:{查询到的时间}。”
。如果您使用 Node.js,请使用以下命令安装获取时间的工具包 date-fns:
Python
测试工具输出:
上海今天是多云。
当前时间:2025-01-08 20:21:45。
1.2 创建 tools 数组
type 字段固定为"function" ;function 字段为 Object 类型;name 字段为自定义的工具函数名称,建议使用与函数相同的名称,如get_current_weather 或get_current_time ;description 字段是对工具函数功能的描述,大模型会参考该字段来选择是否使用该工具函数。parameters 字段是对工具函数入参的描述,类型是 Object ,大模型会参考该字段来进行入参的提取。如果工具函数不需要输入参数,则无需指定parameters 参数。type 字段固定为"object" ;properties 字段描述了入参的名称、数据类型与描述,为 Object 类型,Key 值为入参的名称,Value 值为入参的数据类型与描述;required 字段指定哪些参数为必填项,为 Array 类型。 | 对于天气查询工具来说,工具描述信息的格式如下: { "type": "function", "function": { "name": "get_current_weather", "description": "当你想查询指定城市的天气时非常有用。", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "城市或县区,比如北京市、杭州市、余杭区等。", } }, "required": ["location"] } } } |
---|---|
tools
参数传入工具的描述信息。tools
为 JSON Array 类型,Array 中的元素为创建好的工具描述信息。tools 参数在发起 Function Calling时进行指定。
Python
2. 创建messages数组
System Message
你是一个很有帮助的助手。如果用户提问关于天气的问题,请调用 ‘get_current_weather’ 函数;
如果用户提问关于时间的问题,请调用‘get_current_time’函数。
请以友好的语气回答问题。
User Message
Python
3. 发起 Function Calling
Python
tool_calls
参数,指定需要使用的工具函数名称为:"get_current_weather"
,并指定函数的入参为:"{\"location\": \"上海\"}"
。{
"content": "",
"refusal": null,
"role": "assistant",
"audio": null,
"function_call": null,
"tool_calls": [
{
"id": "call_6596dafa2a6a46f7a217da",
"function": {
"arguments": "{\"location\": \"上海\"}",
"name": "get_current_weather"
},
"type": "function",
"index": 0
}
]
}
tool_calls
参数,并会通过content
参数直接进行回复。在输入“你好”时,tool_calls
参数为空,返回对象格式为:{
"content": "你好!有什么可以帮助你的吗?如果你有关于天气或者时间的问题,我特别擅长回答。",
"refusal": null,
"role": "assistant",
"audio": null,
"function_call": null,
"tool_calls": null
}
如果没有返回 tool_calls
参数,您的程序可以在此处直接返回content
字段,无需运行以下步骤。
如果您希望每次发起 Function Calling 后大模型都可以选择工具,请参见:强制工具调用。
4. 运行工具函数
运行工具函数的过程由您的计算环境而非大模型来完成。