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),或根据实际需求改为 SQL 查询 this.app.mysql.query(sql)。

对于 OpenAI 的 GPT 模型,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是什么
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 允许在请求中传递一系列函数描述,模型能据此生成函数参数并以 JSON 格式返回,可用于执行函数调用,函数调用的结果还能在后续请求中反馈给模型形成交互循环。想深入了解可查看 GPT 入门指南里的函数调用部分和 OpenAI Cookbook 里的用例。 需要注意的是,模型生成的代码不一定都正确和安全,运行代码前要确保环境安全,最好在沙盒里。
2025-03-26
Function Calling 是什么
Function Calling 是一种在自然语言处理和人工智能领域中的技术和概念。 在金融业务场景中,例如搜索欧元兑美元的当前汇率,使用前需要做好配置,如使用 Gemini 1.5 Flash 模型。 对于 ChatGPT 而言,为了让其返回符合要求的 JSON 格式,prompt 的定制尤为重要和复杂。OpenAI 发布函数调用及其他 API 更新后,开发人员可以向 gpt40613 和 gpt3.5turbo0613 描述函数,并让模型智能地选择输出一个包含调用这些函数所需参数的 JSON 对象,这是将 GPT 的能力与外部工具和 API 连接起来的新方法。例如,本地写函数执行 this.app.mysql.select,这样使得 prompt 的定制更为简单,AI 的输出更为可控。 在 OpenAI 的相关实践中,Chat completions API 允许在请求时附带一系列函数描述,模型可据此产生函数参数,API 以 JSON 格式返回参数用于执行函数调用,函数调用的结果还可反馈给模型形成交互循环。想深入了解可查看 GPT 入门指南里的函数调用部分和 OpenAI Cookbook 里的用例。但需注意,模型生成的代码不一定都正确和安全,使用前要确保环境安全。
2025-03-14
实现一个简单的 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 是一种将 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 call
Function Calling 是一种将 AI 模型(如 ChatGPT、谷歌 Gemini 等)的能力与外部工具和 API 连接起来的方法。 在 ChatGPT 中: 为让 ChatGPT 返回符合要求的 JSON 格式,prompt 的定制重要且复杂。 OpenAI 发布函数调用及其他 API 更新后,开发人员可向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能输出包含调用函数所需参数的 JSON 对象。 本地写函数执行查询操作,如 this.app.mysql.select,函数名 getSqlQuery,参数:sql,更灵活。 在谷歌 Gemini 中: 讲解了 Function Calling 是什么及具体用法。 以从事金融业务为例,如搜索欧元兑美元的当前汇率,使用前需做好配置,可使用 Gemini 1.5 Flash 模型。 函数调用带来了多个优势,包括简化用户体验、减少错误发生可能性、为更高级自动化开辟道路,能处理如酒店预订或制定旅行计划等复杂操作,重新定义了人与技术的互动方式。
2025-03-31
如何实现function call
实现 Function Call 主要有以下几种方式和要点: 1. 方式: Json Output:通过 Prompt 让模型输出 JSON 格式内容,但 Prompt 麻烦,输出不稳定,串业务成本高。 Json Mode:官方 Json Output,与 Tools 适用场景不同,JSON mode 为输出 JSON 存在,Tools 为 Call API 存在。 Function Calling 和 Tools:从可控角度推荐使用。 2. 要点: 放弃 JSON mode:模型输出 JSON 仍可能出错,模型厂家对 Function Calling 有微调优化。 降低 System prompt 依赖,化繁为简:System prompt 内容多,不能保证模型遵循,能在 Tools 里写的尽量写在里面。 API Response 增强 Prompt:Tools 调用结果返回给模型时,可增加约束和提示,准确率高。 尽量让模型做选择,而不是填空:将确定答案做成选项,如用 Enum 方式,减少 token 输出,提高速度和准确率。 利用 Tools 来做 Route,构建 Multi Agent:一个不行就增加数量,术业有专攻。 此外,OpenAI 发布函数调用及其他 API 更新,开发人员可向 gpt40613 和 gpt3.5turbo0613 描述函数,让模型智能输出包含调用函数所需参数的 JSON 对象,这是连接 GPT 能力与外部工具和 API 的新方法。例如在本地写函数执行查询,根据 GPT 返回的函数名和参数来操作,也可将函数改为更灵活的 SQL 查询。在实际业务中,可根据需求选择函数查询或 SQL 查询。另外,LangChain 内置的 openapifunction call 也可用于相关开发,实际业务中可能需结合内置业务流程,如判断用户问题是否相关、引导式提问等。
2025-03-19
如何借鉴“决战拜年之巅”:这是一款基于 GLM 大模型开发的微信小程序游戏,玩家在 10 个 AI 角色组成的家人群里,面对“七大姑八大姨”的连环拷问,自由对话打出属于自己的结局。实现一个工作场合的游戏
以下是借鉴“决战拜年之巅”实现一个工作场合游戏的相关要点: 1. 开发背景:“决战拜年之巅”是参加 Globalgamejam 游戏比赛时,在 48 小时内开发的,主题源于“make me laugh”,产品负责人谐音想到江浙沪孝子排行榜的“孝”,结合春节想到做类似拜年的东西。 2. 火爆情况:在参赛群发布半成品后,在 QQ、微信迅速火爆,两天内有 200 万用户,最高峰同时在线 6 万人,服务器一度支持不了,凌晨才做好调整,后续有厂商赞助服务器,上线约一周。 3. 游戏特点:基于 GLM 大模型开发,又称过年模拟器,玩家在 10 个 AI 角色组成的家人群里,面对“七大姑八大姨”的连环拷问自由对话打出结局。 4. 借鉴要点: 明确创新主题和玩法,结合特定场景和需求。 注重用户体验,及时应对服务器等技术支持问题。 利用 AI 技术实现角色互动和自由对话。 需要注意的是,“决战拜年之巅”被认为可能是一个 chatbot 而非严格意义上的游戏。在设计工作场合的游戏时,要明确以下三个点:(具体要点未在提供的内容中明确)
2024-11-02
ai现在拍摄一本书的图片能够识别到这是什么书么
目前的 AI 技术在拍摄一本书的图片并识别其是什么书方面已经取得了一定的进展。 在图像识别领域,神经网络发挥着重要作用。例如,对于识别印刷体图片,通常会先将图片转换为黑白,调整至固定尺寸,然后与数据库中的内容进行对比以得出结论。但实际情况较为复杂,存在多种字体、不同拍摄角度等多种例外情况,单纯依靠添加规则的方法不可行,而神经网络专门处理这类未知规则的情况。 不过,要准确识别一本书,还面临一些挑战,如书籍的版本、封面设计的多样性等。但随着技术的不断发展和数据的积累,未来 AI 识别一本书的准确性有望不断提高。 同时,也有一些相关的实验和研究,比如通过设计工作流让 AI 自举式地进行创造,从作家的作品中提取名场面并转译成绘画指令等。
2024-10-17