函数调用(Function Calling):LLM如何实现?


嘿,大家好!这里是一个专注于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更智能地选择工具和处理数据的一种方式。

前沿技术新闻资讯

马斯克推出Grok 3及智能搜索引擎Deepsearch了

2025-2-18 19:14:36

前沿技术新闻资讯

生成式AI 未来发展的两大要素:数据和开发者

2025-2-18 20:38:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索