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

大模型知识--Function Calls

本章节主要介绍下大模型知识的FunctionCalls,现在我们总说大模型只是停留在聊天获取知识的阶段,如果让它更加智能化,更加方便就需要让它帮忙处理很多事情,比如让它调用我们数据库查询数据,调用日历帮我们写入备忘录等等。但是大模型如何能够调用我们自己的api呢?这个就是目前FunctionCalls 和 MCP 做的事情,本章主要介绍Function Calls。

一、是什么

把大模型想成一个 只长嘴巴的学霸。它动手能力不行,需要有助手帮忙去操作一些具体事项。
它能背百科全书,但不会真的动手订机票、查天气、调数据库。
Function Calls 就是给学霸递上一张「万能遥控器」:
学霸看到用户问题后,在遥控器上按下按钮(生成一段 JSON 指令),
后端系统收到指令就去真正干活,然后把结果回传给学霸,学霸再组织成自然语言回答。

一句话:
Function Calls = 让大模型“说话”变成“下指令”,把“嘴”升级成“手+嘴”。

从字面翻译也能了解就是:方法调用

Function Calling 旨在解决两个核心问题:

  1. 获取实时信息:查询实时天气、股价、新闻等。

  2. 执行具体动作:操作数据库、发送邮件、控制智能家居等。

二、如何用

让我们用一个经典例子 “今天旧金山的天气怎么样?” 来拆解这个过程。

第1步:准备工具说明书 (Developer's Job)
在发送请求给大模型之前,开发者必须在系统提示词(System Prompt)中“注册”可用的函数。这本质上是给模型一本工具手册。

json格式

{"tools": [{"type": "function","function": {"name": "get_current_weather", // 工具名"description": "获取指定城市的当前天气", // 工具描述,模型靠这个决定是否调用"parameters": { // 参数规范,模型必须生成符合此格式的JSON"type": "object","properties": {"location": {"type": "string","description": "城市或地区的名称,例如:旧金山" // 参数描述},"unit": {"type": "string","enum": ["celsius", "fahrenheit"],"description": "温度单位"}},"required": ["location"] // 必填参数}}}]
}

第2步:用户提问 & 模型决策 (LLM's Job - Planning)

  • 用户输入:"今天旧金山的天

http://www.xdnf.cn/news/18678.html

相关文章:

  • element-plus穿梭框transfer的调整
  • 【实习总结】快速上手Git:关键命令整理
  • AI版权保护破局内容行业痛点:侵权识别效率升89%+维权周期缩至45天,区块链存证成关键
  • vue中 computed vs methods
  • unity热更新总结
  • Linux的线程概念与控制
  • CTFshow系列——命令执行web49-52
  • 基于深度学习的眼疾识别系统:从血细胞分类到病理性近视检测
  • 计算机网络:聊天室(UDP)
  • 用户和组笔记
  • 大数据毕业设计选题推荐-基于大数据的北京市医保药品数据分析系统-Spark-Hadoop-Bigdata
  • 基于角色的访问控制(RBAC)研究与Go语言实现
  • 商超客流密度统计误差率↓35%!陌讯多模态融合算法在零售智慧运营的实战解析
  • 美股期权历史市场数据波动特性分析
  • power query自定义查询函数(中午休息一小时
  • 基于Spark的热门旅游景点数据分析系统的设计-django+spider
  • 基于springboot的理商管理平台设计与实现、java/vue/mvc
  • pom.xml 标签整理各个标签的用途和含义
  • 复杂场景鲁棒性突破!陌讯自适应融合算法在厂区越界检测的实战优化​
  • 57 C++ 现代C++编程艺术6-类的内部类
  • DBeaver连接SQL Server集成认证问题解决方案
  • 题解:P13822 「Diligent-OI R2 B」白露为霜_奇偶性_数学归纳_算法竞赛C++
  • 将C++资源管理测试框架整合到GitLab CI/CD的完整实践指南
  • ffmpeg 问答系列-> mux 部分
  • C6.1:发射极偏置放大器
  • 阿里 通义千问 Java23种设计模式
  • IDM 下载失败排查指南:全面解析与解决方案
  • 深入解析 std::enable_if:原理、用法与现代 C++ 实践
  • 编程与数学 02-017 Python 面向对象编程 20课题、迭代器模式
  • 大数据毕业设计选题推荐-基于大数据的丙型肝炎患者数据可视化分析系统-Hadoop-Spark-数据可视化-BigData