返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

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

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 10:51 |阅读模式 打印 上一主题 下一主题

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ