当前位置: 首页 > news >正文

大模型Function Call

网络请求是什么数据格式进行->JSON(很对版本的演进后目前JSON最火)-所以大模型最好也是使用JSON交互

Function calling

在人工智能 快速发展的今天,大型语言模型(LLM)已经成为处理自然语言任务的强大工具。然而,随着应用场景的不断拓展,仅仅依靠模型生成文本已经无法满足复杂多样的实际需求。Function calling功能应运而生,它使LLM能够根据用户的输入与外部工具、API和功能进行互动。这一功能的出现,极大地拓展了模型的应用范围,使其可以 ’ 从“仅仅说”转变为“实际操作” ’ ,例如查询实时天气、获取股票信息等,从而为用户提供更精准、更有价值的服务。

(类似回调函数?!)

Function calling外部函数库创建方法

创建外部函数库是实现Function calling的关键步骤。首先,开发者需要明确模型 需要调用的外部功能,例如查询天气、获取股票数据等。然后,针对每个功能编写相应的函数,并定义好函数的参数和返回值。例如,定义一个查询天气的函数,需要指定地点和日期作为参数,并返回天气信息。接着,将这些函数封装成一个函数库,以便模型在需要时能够调用。在实际操作中,可能还需要设置API接口和认证信息,以确保函数能够正确访问外部数据源。

Function calling数据通信格式

Function calling的通信数据格式通常采用JSON(JavaScript Object Notation),这是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。在Function calling中,模型通过生成一个结构化的JSON对象来请求调用特定的函数,并传递相应的参数。例如,当用户询问天气时,模型会生成一个包含函数名(如get_weather)和参数(如地点和日期)的JSON对象。外部函数执行后,也会将结果以JSON格式返回给模型,模型再将这些结果整合到最终的自然语言回复中。

在Function calling中,参数是连接模型和外部函数的关键。参数的解释和定义需要非常精确,以确保模型能够正确理解用户的意图,并生成符合函数要求的参数值。首先,开发者需要为每个函数定义好参数的类型、描述和是否必填等信息。例如,在查询天气的函数中,地点是一个必填的字符串 参数,而日期可能是一个可选的字符串参数。然后,模型在解析用户的自然语言输入时,会根据这些定义来提取和生成相应的参数值。如果参数提取不准确,可能会导致函数调用失败或返回错误的结果。

JSON Schema

在Function calling中,JSON Schema是一个非常重要的概念,它用于描述函数参数的结构和约束。JSON Schema是一个基于JSON的格式,用于定义JSON数据的结构和验证规则。通过使用JSON Schema,开发者可以确保模型生成的参数符合函数的要求,从而减少错误调用的可能性。例如,在定义查询天气的函数时,可以使用JSON Schema来指定地点和日期的格式,以及哪些参数是必填的。模型在生成参数时,会根据这些Schema定义来验证参数的合法性,如果参数不符合要求,模型会尝试重新生成或提示用户修正输入。

Function calling的第一次响应是指模型在接收到用户的自然语言输入后,生成的包含函数调用请求的响应。在这个阶段,模型会首先解析用户的意图,判断是否需要调用外部函数来完成任务。如果需要调用函数,模型会生成一个结构化的函数调用请求,包括函数名和参数,并将其作为响应的一部分返回。例如,当用户询问“今天北京的天气怎么样?”时,模型会生成一个调用get_weather函数的请求,并传递地点“北京”和日期“今天”作为参数。这个请求随后会被发送给外部函数执行。

[ { "role": "system", "content": "不要假设或猜测传入函数的参数值。如果用户的描述不明确,请要求用户提供必要信息" }, { "role": "user", "content": "帮我查询1月23日,北京到广州的航班" } ]
{ "content": null, "role": "assistant", "tool_calls": [ { "id": "call_-8929800266402085722", "function": { "arguments": "{\"date\": \"2024-01-23\", \"departure\": \"北京\", \"destination\": \"广州\"}", "name": "get_flight_number" }, "type": "function", "index": 0 } ] }

Function calling的第二次响应是指在外部函数执行完成后,模型根据函数的执行结果生成的最终回复。在这个阶段,模型会将外部函数返回的结果整合到自然语言回复中,以向用户提供完整的信息。例如,当外部函数返回北京今天的天气信息后,模型会生成一个如“北京今天晴天,25℃”的回复。如果函数调用失败或返回错误信息,模型也可能会生成相应的提示信息,告知用户出现问题,并可能建议用户修正输入或稍后重试。

Function calling作为大模型的一项重要功能,极大地拓展了模型的应用能力。通过与外部函数的交互,模型可以从生成文本转变为执行实际任务,为用户提供更丰富、更实用的服务。在实际应用中,开发者需要精心设计外部函数库、通信数据格式、参数定义以及错误处理机制,以确保Function calling的顺利进行。随着技术的不断发展,Function calling将在更多领域发挥重要作用,为人工智能的应用开辟新的可能性。

[ { "role": "system", "content": "不要假设或猜测传入函数的参数值。如果用户的描述不明确,请要求用户提供必要信息" }, { "role": "user", "content": "帮我查询1月23日,北京到广州的航班" }, { "content": null, "role": "assistant", "tool_calls": [ { "id": "call_-8929800266402085722", "function": { "arguments": "{\"date\": \"2024-01-23\", \"departure\": \"北京\", \"destination\": \"广州\"}", "name": "get_flight_number" }, "type": "function", "index": 0 } ] }, { "role": "tool", "content": "{\"flight_number\": \"8321\"}", "tool_call_id": "call_-8929800266402085722" } ]
{ "content": "1月23日从北京飞往广州的航班号为8321。如果需要查询该航班的票价,请告诉我。", "role": "assistant", "tool_calls": null }
http://www.jsqmd.com/news/783234/

相关文章:

  • 2026年5月深圳GEO优化公司推荐|本土服务商全维度测评榜单 - 品牌洞察官
  • 智能极速抢票:用Python脚本3分钟破解大麦网购票难题
  • 换背景底色怎么制作?2026年最全工具测评与实操指南
  • 2026年企业申请开通企业微信,详细开通方式教程 - 品牌2025
  • CANN/pyto操作API参考
  • 2026年成都水刀配件源头厂家完全指南:从KMT兼容配件到水射流切割故障快速响应 - 企业名录优选推荐
  • 咸宁全城正规上门回收黄金 一区两市四县全覆盖 资质齐全交易放心 - 金掌柜黄金回收
  • CANN PTO ConvTile编程模型
  • CANN a2向量归约约束
  • MES、WMS、WCS 之外,还需要一个“工业执行 Runtime”吗?
  • 台州普金办公设备:台州有实力的打印机租赁公司 - LYL仔仔
  • 拒绝“人工智障”!看销售易AI CRM如何用硬核数据征服500强 - 资讯焦点
  • 苏州蔷薇吊装搬运:苏州设备搬运公司哪家专业 - LYL仔仔
  • 【必看】2026年 {计算题} |专项解析 ~ C:三点估算
  • CANN DeepSeek Indexer注意力优化
  • 实测2家热门京东e卡回收正规平台,京回收vs猎卡回收,避坑不亏! - 京回收小程序
  • 爱马仕(Hermes)AI智能体框架完整指南:从入门到部署
  • 可解释AI如何适配人类决策模式:从理性模型到快速节俭启发式
  • 天津佳艺空间装饰:靠谱家装服务的核心实力解析 - 奔跑123
  • CANN/ops-math PadV3Grad算子
  • 2026年自贡全案整装怎么选?一站式家装与智能家居避坑完全指南 - 优质企业观察收录
  • CANN/ops-nn ELU反向梯度算子
  • 中国AI CRM厂商测评:谁能真正扛起企业智能化增长的大旗? - 资讯焦点
  • 2026年水切割常规故障处理方案:成都水刀配件厂家技术支持能力横评 - 企业名录优选推荐
  • 更简易的事件分发器
  • GWAI:一站式AI平台如何革新引力波数据分析
  • 从等保测评到威胁情报:一文读懂2026年安卓安全监测的技术内幕
  • CANN/pyasc数据块归约API
  • 多模态大模型如何重塑科学教育:从认知减负到自适应学习
  • 法律AI的确定性追求:规则引擎与形式化方法的技术实践与边界