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

Function Calling 是什么

Answer

Function Calling 是一种在自然语言处理和人工智能领域中的技术和概念。

在金融业务场景中,例如搜索欧元兑美元的当前汇率,使用前需要做好配置,如使用 Gemini 1.5 Flash 模型。

对于 ChatGPT 而言,为了让其返回符合要求的 JSON 格式,prompt 的定制尤为重要和复杂。OpenAI 发布函数调用及其他 API 更新后,开发人员可以向 gpt-4-0613 和 gpt-3.5-turbo-0613 描述函数,并让模型智能地选择输出一个包含调用这些函数所需参数的 JSON 对象,这是将 GPT 的能力与外部工具和 API 连接起来的新方法。例如,本地写函数执行 this.app.mysql.select(table,condition),根据 GPT 返回的函数名、参数来查询数据,或者将函数改为 SQL 查询 this.app.mysql.query(sql),让 GPT 的函数调用改为 getSqlQuery(sql:string),这样使得 prompt 的定制更为简单,AI 的输出更为可控。

在 OpenAI 的相关实践中,Chat completions API 允许在请求时附带一系列函数描述,模型可据此产生函数参数,API 以 JSON 格式返回参数用于执行函数调用,函数调用的结果还可反馈给模型形成交互循环。想深入了解可查看 GPT 入门指南里的函数调用部分和 OpenAI Cookbook 里的用例。但需注意,模型生成的代码不一定都正确和安全,使用前要确保环境安全。

Content generated by AI large model, please carefully verify (powered by aily)

References

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

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

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分析的数据均是在数据库中伪造的数据,仅供测试。分析每种图表的使用情况分析图表类型是柱状图的创建时间和数量

OpenAI:GPT_最佳实践中文大白话版本_未来力场编译.pdf

附录OpenAI Playground是什么,怎么用?[heading2]六个能提高输出质量的核心提示词策略[hemessage.write(to="John",message="Hey,want tomeetup a erwork?")```最后要提请注意:模型写的代码不见得都是对的,都安全。跑代码之前要确保环境安全,最好在沙盒里。5.3使用function-calling,函数调用Give themodel access to specific functions.TheChat completions API allows passing a list of function descriptions in requests.This enablesmodels to generate function arguments according to the provided schemas.Generated function arguments are returned by the API in JSON format and can be used to execute function calls.Output provided by function calls can then be fed back into a model in the following request to close the loop.This is the recommended way of using GPTmodels to call external functions.To learn more see the function calling section in our introductoryGPTguide andmore function calling examples in theOpenAI Cookbook.(这段没有逐字翻译)API允许你在请求时附带一系列函数描述。这样,模型就可以按照你给的格式产生函数的参数了。API会用JSON形式把这些参数传回来,你就可以用它来调用函数了。函数跑完后的结果,你还可以继续拿给模型,形成一个完整的交互循环。想让GPT帮你调外部函数,这方法相对最靠谱。想深入了解的话,可以看GPT入门指南里的函数调用部分,还有OpenAI Cookbook里的用例。六大策略06:系统地测试

Others are asking
实现一个简单的 function calling agents ,要求小白可以看懂
以下是一个关于实现简单的 function calling agents 的指导,以便小白能够理解: 实现原理: 提示词工程主要由提示词注入和工具结果回传两部分代码组成。提示词注入用于将工具信息及使用工具的提示词添加到系统提示中,它包含 TOOL_EAXMPLE、tools_instructions 和 REUTRN_FORMAT 三个部分。TOOL_EAXMPLE 用于提示 LLM 如何理解和使用工具,编写时应注意用无关紧要的工具作示例避免混淆。tools_instructions 是将通用工具字典转换成 LLM 可读的工具列表,实际使用时可动态调整。REUTRN_FORMAT 定义了调用 API 的格式。工具结果回传阶段利用正则表达式抓取输出中的“tool”和“parameters”参数,对于 interpreter 工具使用另一种正则表达式提取 LLM 输出的代码,通过识别 LLM 返回的调用工具的字典提取对应值传入工具函数,将工具返回结果以 observation 角色返回给 LLM,对于不接受相关角色的 LLM 接口可改为回传给 user 角色。 实现方式的比较与建议: 1. JSON Output:通过 Prompt 方式让模型输出 JSON 格式内容,但 Prompt 麻烦,输出不稳定,串业务成本高。 2. JSON Mode:官方 JSON Output,与 Tools 适用场景不同,JSON mode 为输出 JSON 存在,Tools 为 Call API 存在。 3. 从可控角度推荐 Function Calling 和 Tools 实现: 放弃 JSON mode,模型输出 JSON 仍可能出错,模型厂家对 Function Calling 有微调优化。 降低 System prompt 依赖,能在 Tools 里写的尽量写在里面。 API Response 增强 Prompt,准确率高。 尽量让模型做选择而非填空,减少 token 输出,提高速度和准确率。 利用 Tools 做 Route,构建 Multi Agent,术业有专攻。 此外,在初级菜鸟学习 Langchain 做简单 RAG 方面: 1. 没有用 Langchain 做 table 和 text 的 RAG: Table 表格:包括读入表格 markdown 格式嵌入 template 和直接使用 function call 两种方法。 Text 文字:包括文字相似度检索过程,涉及读入文字、清洗、切分、向量化、计算相似度等步骤。 2. 用 Langchain 做 table 和 text 的 RAG:包括运用 Agent 和 Chain 等方式。 3. 使用 Agent 把文本多种文档组合起来。 相关代码和示例可参考相应的链接。
2025-03-11
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 是一种将 AI 模型(如 ChatGPT、谷歌 Gemini 等)的能力与外部工具和 API 连接起来的方法。 对于 ChatGPT: 为让其返回符合要求的 JSON 格式,prompt 的定制重要且复杂。 OpenAI 发布函数调用及其他 API 更新,开发人员可向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能输出包含调用函数所需参数的 JSON 对象。 好处是减少 SQL 注入风险,可本地写函数执行查询,也可让函数改为 SQL 查询,使 GPT 与函数调用结合,本地控制返回 JSON 格式,prompt 定制更简单,AI 输出更可控。 对于谷歌 Gemini: 在金融业务用例中,可用于搜索欧元兑美元的当前汇率,使用前需做好配置,如使用 Gemini 1.5 Flash 模型。 函数调用带来多个优势,包括简化用户体验、减少错误发生可能性、为更高级自动化开辟道路,能处理如酒店预订或制定旅行计划等复杂操作,重新定义了人与技术的互动方式。
2025-03-05
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
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