Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

Function Calling

Answer

Function Calling 是一种将 AI 模型(如 ChatGPT、谷歌 Gemini 等)的能力与外部工具和 API 连接起来的方法。

对于 ChatGPT:

  • 为让其返回符合要求的 JSON 格式,prompt 的定制重要且复杂。
  • OpenAI 发布函数调用及其他 API 更新,开发人员可向 gpt-4-0613 和 gpt-3.5-turbo-0613 描述函数,让模型智能输出包含调用函数所需参数的 JSON 对象。
  • 好处是减少 SQL 注入风险,可本地写函数执行查询,也可让函数改为 SQL 查询,使 GPT 与函数调用结合,本地控制返回 JSON 格式,prompt 定制更简单,AI 输出更可控。

对于谷歌 Gemini:

  • 在金融业务用例中,可用于搜索欧元兑美元的当前汇率,使用前需做好配置,如使用 Gemini 1.5 Flash 模型。
  • 函数调用带来多个优势,包括简化用户体验、减少错误发生可能性、为更高级自动化开辟道路,能处理如酒店预订或制定旅行计划等复杂操作,重新定义了人与技术的互动方式。
Content generated by AI large model, please carefully verify (powered by aily)

References

ChatGPT 助力数据分析:实际案例与技巧

可以发现为了让ChatGPT返回符合要求的JSON格式,prompt的定制就尤为重要和复杂。好消息是,在当地时间6月13日,OpenAI发布函数调用及其他API更新。现在开发人员可以向gpt-4-0613和gpt-3.5-turbo-0613描述函数,并让模型智能地选择输出一个包含调用这些函数所需参数的JSON对象。这是一种更可靠地将GPT的能力与外部工具和API连接起来的新方法。传送门:[Function calling and other API updates](https://openai.com/blog/function-calling-and-other-api-updates)官网有很详细的例子,这里就不再描述代码了。我用本文案例总结大致流程:有个好处是不需要让ChatGPT生成SQL了,减少SQL注入的风险。本地写一个函数执行this.app.mysql.select(table,condition),根据GPT返回的函数名、参数(字段和where)来查询数据,更为安全。但这个方法又有局限性,事先定义函数查询不如SQL查询来的灵活,所以这里也可以让函数改为SQL查询this.app.mysql.query(sql),GPT的函数调用改为:getSqlQuery(sql:string),函数名getSqlQuery,参数:sql,更为灵活。总结:让GPT与函数调用结合,本地控制返回JSON格式,prompt的定制更为简单,AI的输出更为可控。根据实际业务需求采用函数查询或SQL查询,值得一试![heading2]SQL分析示例[content]注:以下SQL分析的数据均是在数据库中伪造的数据,仅供测试。分析每种图表的使用情况分析图表类型是柱状图的创建时间和数量

谷歌Gemini多模态提示词培训课——Part3

这个部分我们来讲解什么是Function Calling,以及Funcation Calling的具体用法。在这个用例中,假设你是一个从事金融方面业务的用户,你想通过模型搜索欧元兑美元的当前汇率。但在一切开始前,我们还是需要做好配置,不过这次我们使用Gemini 1.5 Flash模型。

谷歌Gemini多模态提示词培训课——Part3

函数调用为我们的AI系统带来了几个至关重要的优势,显著提升了用户体验和系统效率。首先,它大大简化了用户体验。用户不再需要在模型和应用程序之间繁琐地复制粘贴信息,整个过程变得更加流畅和直观。其次,这种方法显著减少了错误发生的可能性。通过最小化用户手动输入的需求,我们降低了输入不正确信息的风险,提高了整体的准确性。最后,也许是最令人兴奋的,函数调用为更高级的自动化开辟了道路。它使我们能够处理更复杂的操作,如酒店预订或制定旅行计划,这些都可以直接由用户对Gemini模型的简单请求触发。这种级别的集成和自动化不仅提高了效率,还为创新的AI应用打开了无限可能:用户只需一个简单的语音命令就能完成一系列复杂的任务,从查询实时数据到执行多步骤的操作。这就是函数调用为我们的AI系统带来的革命性变化,它正在重新定义我们与技术互动的方式。以上就是关于多模态提示词培训课程的所有内容了,希望这个课程能对你产生帮助。这样也就不枉我花费时间重新编排、翻译了。谢谢。

Others are asking
function calling 这是什么?
Function Calling 是一种在自然语言处理和人工智能模型中的技术。 在金融业务场景中,例如搜索欧元兑美元的当前汇率,使用前需要做好配置,如使用 Gemini 1.5 Flash 模型。 对于 ChatGPT 而言,为了让其返回符合要求的 JSON 格式,prompt 的定制尤为重要和复杂。OpenAI 发布函数调用及其他 API 更新后,开发人员可以向 gpt40613 和 gpt3.5turbo0613 描述函数,并让模型智能地选择输出一个包含调用这些函数所需参数的 JSON 对象,这是将 GPT 的能力与外部工具和 API 连接起来的新方法。例如,本地写函数执行 this.app.mysql.select。 对于 OpenAI 的 GPT 模型,Chat completions API 允许在请求中传递一系列函数描述,使模型能够根据提供的模式生成函数参数,API 以 JSON 格式返回生成的函数参数,可用于执行函数调用,函数调用的输出还可在后续请求中反馈给模型形成交互循环。想深入了解可查看 GPT 入门指南里的函数调用部分和 OpenAI Cookbook 里的用例。 需要注意的是,模型生成的代码不一定都是正确和安全的,在运行代码前要确保环境安全,最好在沙盒中进行。
2025-03-06
Function Calling 是什么
Function Calling 是一种将模型的能力与外部工具和 API 连接起来的方法。 在金融业务场景中,例如搜索欧元兑美元的当前汇率,需要先做好配置,可使用 Gemini 1.5 Flash 模型。 对于 ChatGPT 而言,为了让其返回符合要求的 JSON 格式,prompt 的定制尤为重要和复杂。OpenAI 发布函数调用及其他 API 更新后,开发人员可以向 gpt40613 和 gpt3.5turbo0613 描述函数,并让模型智能地选择输出一个包含调用这些函数所需参数的 JSON 对象。 使用 Function Calling 有好处,如不需要让 ChatGPT 生成 SQL,减少 SQL 注入的风险,本地写函数执行查询数据更为安全。但也有局限性,事先定义函数查询不如 SQL 查询灵活,也可让函数改为 SQL 查询以增加灵活性。 对于 OpenAI 的 GPT 模型,Chat completions API 允许在请求时附带一系列函数描述,使模型能按照提供的格式产生函数参数,API 以 JSON 格式返回参数用于执行函数调用,函数调用的结果还可反馈给模型形成交互循环。想深入了解可查看 GPT 入门指南里的函数调用部分和 OpenAI Cookbook 里的用例。同时要注意模型写的代码不一定都正确和安全,运行前要确保环境安全。
2025-02-23
function calling的资料
以下是关于 Function Calling 的相关资料: 函数调用为 AI 系统带来了诸多优势,包括简化用户体验、减少错误发生可能性以及为更高级的自动化开辟道路。例如在处理金融信息时,它能使整个过程更加流畅、准确,并能实现如酒店预订或制定旅行计划等复杂操作。 OpenAI 的 Chat completions API 允许在请求中附带一系列函数描述,使模型能够根据提供的模式生成函数参数,API 会以 JSON 格式返回生成的参数,可用于执行函数调用,函数调用的结果还能在后续请求中反馈给模型形成交互循环。想深入了解可查看 GPT 入门指南里的函数调用部分和 OpenAI Cookbook 里的用例。 对于让 ChatGPT 返回符合要求的 JSON 格式,prompt 的定制至关重要且较为复杂。OpenAI 发布函数调用及其他 API 更新后,开发人员可向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能选择输出包含调用函数所需参数的 JSON 对象,这是将 GPT 能力与外部工具和 API 连接的新方法。将 GPT 与函数调用结合,本地控制返回 JSON 格式,能使 prompt 的定制更简单,AI 的输出更可控,可根据实际业务需求选择函数查询或 SQL 查询。
2025-02-21
Function Calling in AI
以下是关于“Function Calling in AI”的相关内容: 函数调用为 AI 系统带来了诸多重要优势。以谷歌 Gemini 为例,它简化了用户体验,使用户无需在模型和应用程序间繁琐地复制粘贴信息,过程更流畅直观;显著减少错误发生的可能性,降低输入不正确信息的风险,提高准确性;为更高级的自动化开辟道路,能处理如酒店预订或制定旅行计划等复杂操作,用户通过简单语音命令即可完成一系列复杂任务,重新定义了人与技术的互动方式。 对于 ChatGPT,为让其返回符合要求的 JSON 格式,prompt 的定制尤为重要和复杂。OpenAI 于当地时间 6 月 13 日发布函数调用及其他 API 更新,开发人员可向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能输出包含调用函数所需参数的 JSON 对象,这是连接 GPT 能力与外部工具和 API 的新方法。结合函数调用,本地控制返回 JSON 格式,prompt 定制更简单,AI 输出更可控,可根据实际业务需求选择函数查询或 SQL 查询。 在 AI 智能体方面,工具使用或函数调用通常被视为从 RAG 到主动行为的第一个半步,为现代人工智能栈增加新层。工具本质是预先编写的代码组件,执行特定操作,如网页浏览、代码解释和授权认证等。系统向 LLM 呈现可用工具,LLM 选择并构建必要的结构化 JSON 输入触发 API 执行产生最终操作。例如 Omni 的“计算 AI”功能,利用 LLM 直接输出适当的 Excel 函数到电子表格中执行计算并生成复杂查询。但工具使用仅凭自身不能视为“主动性”,逻辑控制流程仍由应用程序预先定义。
2024-11-22
Function Calling in AI
以下是关于“Function Calling in AI”的相关内容: 函数调用为 AI 系统带来了诸多重要优势,包括简化用户体验,使用户无需在模型和应用程序间繁琐地复制粘贴信息,过程更流畅直观;显著减少错误发生的可能性,降低输入不正确信息的风险,提高准确性;为更高级的自动化开辟道路,能够处理如酒店预订或制定旅行计划等复杂操作,用户通过简单的语音命令就能完成一系列复杂任务,重新定义了人与技术的互动方式。 在 ChatGPT 中,为让其返回符合要求的 JSON 格式,prompt 的定制尤为重要和复杂。OpenAI 于当地时间 6 月 13 日发布函数调用及其他 API 更新,开发人员可向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能地选择输出包含调用函数所需参数的 JSON 对象,这是将 GPT 能力与外部工具和 API 连接的新方法。结合函数调用,本地控制返回 JSON 格式,prompt 定制更简单,AI 输出更可控,可根据实际业务需求选择函数查询或 SQL 查询。 在 AI 智能体方面,工具使用或函数调用通常被视为从 RAG 到主动行为的第一个半步,为现代人工智能栈增加新层。工具本质上是预先编写的代码组件,执行特定操作,如网页浏览、代码解释和授权认证等。系统向 LLM 呈现可用工具,LLM 选择工具、构建必要的结构化 JSON 输入并触发 API 执行以产生最终操作。例如 Omni 的“计算 AI”功能,利用 LLM 直接输出适当的 Excel 函数到电子表格中,然后执行计算并自动生成复杂查询供用户使用。但工具使用仅凭自身不能视为“主动性”,逻辑控制流程仍由应用程序预先定义。
2024-11-06
deepseek支持function calling,在dify的agent的prompt里要如何写才能调用工具。我说的是如何写提示词,才能让deepseek通过Function Calling调用工具。
要在 Dify 的 agent 的 prompt 里让 DeepSeek 通过 Function Calling 调用工具,您可以参考以下内容: 1. 提示词工程主要由提示词注入和工具结果回传两部分代码组成。 提示词注入:将工具信息及使用工具的提示词添加到系统提示中。INSTRUCTION 包含 TOOL_EAXMPLE、tools_instructions、REUTRN_FORMAT 三个部分。TOOL_EAXMPLE 用于提示 LLM 如何理解和使用工具,编写时注意用无关紧要的工具作示例避免混淆。tools_instructions 是将通用工具字典转换成 LLM 可读的工具列表,可动态调整。REUTRN_FORMAT 定义调用 API 的格式。 工具结果回传:利用正则表达式抓取输出中的“tool”和“parameters”参数。对于 interpreter 工具,使用另一种正则表达式提取 LLM 输出的代码。通过识别 LLM 返回的调用工具的字典,提取对应值传入工具函数,将结果以 observation 角色返回给 LLM,对于不接受该角色的 LLM 接口,可改为回传给 user 角色。 2. 当模型判断需要调用工具函数时,检测到返回的 json 里 function_call 字段不为空,则执行异步函数调用,采用回调方式获取函数返回结果。通过判断返回的 functionCall 的名称执行不同函数并返回结果。 3. 在大模型请求中,最大的两个变量是 Messages 和 Tools。Messages 里放 sys prompt、memory、user query;Tools 里放能力的 Json Scheme,两者组合形成整个完全的 Prompt。Agent 应用开发的本质是动态 Prompt 拼接,通过工程化手段将业务需求转述成新的 prompt。短期记忆在 messages 里的历史 QA 对,长期记忆是 summary 之后的文本再塞回 system prompt。RAG 是向量相似性检索,可放在 system prompt 里或通过 tools 触发检索。Action 是触发 tool_calls 标记进入请求循环,拿模型生成的请求参数进行 API request,再把结果返回给大模型交互,没有 tool_calls 标记则循环结束。Multi Agents 是更换 system prompt 和 tools。
2024-10-24
functioncall
Function Calling 是一种在 AI 领域中重要的技术和应用方式: 在 ChatGPT 中:为让 ChatGPT 返回符合要求的 JSON 格式,prompt 的定制尤为重要和复杂。OpenAI 发布函数调用及其他 API 更新,开发人员可向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能选择输出包含调用函数所需参数的 JSON 对象,这是将 GPT 能力与外部工具和 API 连接的新方法。好处是减少 SQL 注入风险,可本地写函数执行查询,也可让函数改为 SQL 查询,根据实际业务需求选择函数查询或 SQL 查询,使 AI 输出更可控。 在谷歌 Gemini 中:在金融业务用例中,如搜索欧元兑美元的当前汇率,需做好配置,使用 Gemini 1.5 Flash 模型。函数调用为 AI 系统带来多个优势,包括简化用户体验、减少错误发生可能性、为更高级自动化开辟道路,能处理如酒店预订或制定旅行计划等复杂操作,重新定义了人与技术的互动方式。
2025-02-14