AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


函数调用(Function Calling):LLM如何实现?
发布日期:2024-07-29 20:38:18 浏览次数: 1961 来源:探索AGI


嘿,大家好!这里是一个专注于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+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询