微信扫码
与创始人交个朋友
我要投稿
嘿,大家好!这里是一个专注于AI智能体的频道!
今天和大家聊聊一个特别有趣的话题——函数调用(Function Calling)。这听起来可能有点技术性,但别担心,我会尽量用简单的语言来解释。
首先,我们得明白什么是函数调用。简单来说,就是大型语言模型(LLM)在一堆可用的工具或函数中,识别出最合适的那个,然后把输入查询中需要的部分作为参数传递给这个函数。听起来是不是有点拗口?别急,我来举个例子。
比如,我们先注册一个工具或函数列表。在使用Azure Open AI模型时,格式是这样的:
tools = [{
"type": "function",
"function": {
"name": "summarise_doc",
"description": "给定链接或者地址,总结网页或文档内容",
"parameters": {
"type": "object",
"properties": {
"url" : {
"type": "string",
"description": "需要总结的文件地址或页面的链接"
},
},
"required": ["url"],
}
}
}
]
然后,我们向LLM发起调用请求,同时传递查询和指令。这里,我们用一个用户提示来说明问题:
link = 'http://xxxxx'
user_prompt = f"你可以帮我总结{link} 吗?"
completion = client.chat.completions.create(
model=deployment_name,
messages= [
{
"role": "user",
"content": user_prompt
}],
max_tokens=100,
temperature=0.0,
frequency_penalty=0,
presence_penalty=0,
stop=None,
stream=False,
tools=tools,
tool_choice="auto",
)
注意,这时候LLM还没有真正调用函数。我们需要根据需求定义函数——可能是调用另一个LLM,或者API,或者仅仅是本地逻辑。
function call这个话题可能听起来有点复杂,但其实它就是让LLM更智能地选择工具和处理数据的一种方式。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-04-26
2024-08-13
2024-08-21
2024-07-09
2024-08-04
2024-06-13
2024-04-11
2024-07-18
2024-07-01