关于agi中的Function Calling深入解析

接口(Interface)

两种常见接口:

1、人机交互接口,User Interface,简称UI

2、应用程序编程接口,Application Programming Interface,简称API

接口能【通】的关键,是两边都要遵守约定。

  • 人要按照UI的设计来操作。UI的设计要符合人的习惯
  • 程序要按照API的设计来调用。API的设计要符合程序惯例。

在日常工作中,调试接口会遇到很多的问题:

  • 文档坑,由于文档写得不规范,不好,要花大把时间有研究。 
  • 大小写坑,接口参数名称大小的问题
  • 参数顺序坑
  • 参数类型坑,由于不同语言,参数的类型不可能不一样

接口的进化 

  • 命令行,Command Line Interface,简称CLI(DOS、Unix/Linux shell,Widows Power Shell)
  • 图形界面,Graphical User Interfae,简称GUI(Windows、MacOS、IOS、Android)
  • 语言界面,Conversational User Interface,简称CUI,或Natural-Language User Interface,简称LUI
  • 脑机接口,Brain-Computer Interface,简称BCi

 什么是API

  •         从本地到远程,从同步到异步,媒介发生很多变化,但本质一直没变:程序员的绽
  •         现在,开始进行到自然语言接口,Natural-Languagge Interface,简称NLI

为什么大模型连接外部世界?

 大模型两大缺陷:

  1. 并非知晓一切
    • 训练数据不可能什么都有。垂直、非公开数据笔有欠缺
    • 不知道最新信息。大模型的训练周期很长,且更新一次耗资巨大,还有越训越傻的风险。所以它不可能实时训练。GPT-3.5和的知识截至2021年9月,GPT-4是2023年12月
  2. 没有【真逻辑】。它表现出的逻辑、推理,是训练文本的统计规律,而不是真正的逻辑。所以有幻觉。 

所以:大模型需要连接真实世界,并对接真逻辑系统。

用AI来做加法:

  1. 把100以内的所有加法算式都训练给大模型,它就可以回答100以内的加法算式,但仍有概率出错。
  2. 如果问它更大数字的加法,出错概率就会更大
  3. 因为它并不懂【加法】,只是记住了100以内的加法算式的统计规律
  4. 它是用字面意义做数学。

ChatGPT用Actions连接外部世界 

第一次尝试:Plugins 

  •  2023年3月24日发布plugins,模型可以调用外部的api
  • 2024年4月9日正式下线,宣告失败

第二次尝试:Actions 

actions,内置在GPTS中,解决了落地场景问题 

流程解析

  1. 通过actios的schema,GPT能读懂各个API能做什么、怎么调用

  2. 拿到prompt,GPT分析出是否调用API才能解析问题 

  3. 如果调用api,生成调用参数

  4. ChatGPT调用API

  5. API返回结果,GPT读懂结果,整合到回答中

最后,把AI当人看。 

Actions开发示例

openapi: 3.1.0
info:title: 高德地图description: 获取 POI 的相关信息version: v1.0.0
servers:- url: https://restapi.amap.com/v5/place
paths:/text:get:description: 根据POI名称,获得POI的经纬度坐标operationId: get_location_coordinateparameters:- name: keywordsin: querydescription: POI名称,必须是中文required: trueschema:type: string- name: regionin: querydescription: POI所在的区域名,必须是中文required: falseschema:type: stringdeprecated: false/around:get:description: 搜索给定坐标附近的POIoperationId: search_nearby_poisparameters:- name: keywordsin: querydescription: 目标POI的关键字required: trueschema:type: string- name: locationin: querydescription: 中心点的经度和纬度,用逗号分隔required: falseschema:type: stringdeprecated: false
components:schemas: {}

 还需要配置API Key来满足权限要求。

这里的所有name、description都是prompt,决定了GPT会不会调用你的API,调用得是否正确。

Function Calling的机制

原理和actions一样,只是使用方式有别。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

layer弹出层点击关闭按钮刷新父页面

在弹出层页面&#xff0c;&#xff0c;找到layer关闭按钮&#xff0c;写一个关闭事件&#xff0c;里面去执行js方法。 例&#xff1a;页面写个a标签方便调用&#xff1a;<a id“hidalayerclose” style“display: none;” οnclick“fureload()”> parent.$(".lay…

Android Studio实现内容丰富的安卓养老平台

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 158安卓养老 1.开发环境 后端用springboot框架&#xff0c;安卓的用android studio开发android stuido3.6 jak1.8 idea mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登…

mac: nvm is already installed in /Users/**/.nvm, trying to update using git

如图吐了&#xff0c;安装了nvm后出现了如下问题&#xff1a; nvm is already installed in /Users/**/.nvm, trying to update using git 原因分析&#xff1a; 这种情况可能出现在安装脚本检测到 nvm 已经存在于系统中&#xff0c;但是由于某些原因&#xff0c;终端无法识…

SOCKS5代理IP指什麼?

SOCKS5代理IP是一種網路協議&#xff0c;它可以在客戶端和目標伺服器之間建立一個隧道&#xff0c;以進行數據交換&#xff0c;並隱藏用戶的真實IP地址。它是SOCKS協議的最新版本&#xff0c;不僅可以支持TCP和UDP協議&#xff0c;還支持各種類型的網路請求&#xff0c;包括HTT…

【数据结构(八)上】二叉树经典习题

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你学更多数据结构的知识 目录 1.前言2.经典习题2.1相同的树2.2另一棵子树2.3翻转二叉树2.4平衡二叉树2.5对…

直播美颜工具与视频美颜SDK:技术深入探索

直播美颜工具和视频美颜SDK的出现&#xff0c;为直播平台和应用开发者提供了丰富的选择。本文将深入探讨这些技术的原理、应用和发展趋势。 一、美颜算法 直播美颜工具的核心在于其先进的美颜算法。这些算法通过对图像进行分析和处理&#xff0c;实时地修饰主播的面部特征&am…

vsstudio 如何远程调试

你可能需要调试一个在本地生成的 Windows 桌面项目,然后在远程计算机上运行可执行文件。本主题阐释如何更改本地项目设置以在远程计算机上运行应用程序。C++ 项目会自动部署到远程计算机。您将需要手动部署 .NET Framework 可执行文件。 设置 Visual C++ 项目 此处显示的过程…

项目开发流程

项目开发流程 &#x1f469;‍&#x1f9b3;项目立项 估计项目的花费&#xff0c;确定大致的所需开发人员数&#xff0c;确定项目是否可行&#xff1b; &#x1f469;‍&#x1f9b0;需求分析 整体过程&#xff1a; 项目背景和目标&#xff0c;即项目的目的是什么 用户需求&…

Springboot 操作Mongodb(一)

MongoDB概念 MongoDB 基本概念指的是学习 MongoDB 最先应该了解的词汇&#xff0c;比如 MongoDB 中的"数据库"、"集合"、"文档"这三个名词&#xff1a; 文档&#xff08;Document&#xff09;&#xff1a; 文档是 MongoDB 中最基本的数据单元&…

SQLAIchemy 异步DBManager封装-01入门理解

前言 SQLAlchemy 是一个强大的 Python SQL 工具包和对象关系映射&#xff08;ORM&#xff09;系统&#xff0c;是业内比较流行的ORM&#xff0c;设计非常优雅。随着其2.0版本的发布&#xff0c;SQLAlchemy 引入了原生的异步支持&#xff0c;这极大地增强了其在处理高并发和异步…

Windows 的常用命令(不分大小写)

Net user &#xff08;查看当前系统所有的账户&#xff09; net user yourname password /add 添加新用户 net localgroup administrators yourname /add 添加管理员权限 net user yourname /delete 删除用户 net user 命令 [colorred]说明&#xff1a;以下命令仅限持管理员…

opencv人脸打马赛克

import cv2def FaceFind(imgPath: str) -> list:image cv2.imread(imgPath)gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)face_cascade cv2.CascadeClassifier(haarcascade_frontalface_default.xml)# 返回人脸坐标列表faces face_cascade.detectMultiScale(gray, scal…

数据结构11:二叉树的链式结构

文章目录 快速创建链式二叉树二叉树的遍历前序、中序、后序层序 二叉树的基本操作二叉树的节点个数二叉树叶节点的个数二叉树第k层结点个数二叉树查找值为x的结点 二叉树基础oj练习单值二叉树检查两颗树是否相同对称二叉树二叉树的前序遍历另一颗树的子树 二叉树的创建和销毁二…

谷雨时节,雨水渐多湿气旺盛,吃什么养生?听听张婉如医生怎么说

谷雨春光晓&#xff0c;山川黛色青。 叶间鸣戴胜&#xff0c;泽水长浮萍。 4月19日21时59分迎来谷雨&#xff0c;雨生百谷&#xff0c;这是谷雨节气的意思&#xff0c;它是春季的最后一个节气&#xff0c;这个时节早晚温差大&#xff0c;空气湿气重&#xff0c;如何养生呢&am…

java在线问卷调查系统的设计与实现(springboot+mysql源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的在线问卷调查系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于java的在线问卷调查…

linux内核源码分析--通用函数指针

除了稍早讨论的net_device 结构的列表管理字段外&#xff0c;还有一些字段用于管理一些结构&#xff0c;确保这些结构在不需要时能予以删除。 atomic_t refcnt 引用计数&#xff0c;此计数器变为零之前&#xff0c;设备无法除名&#xff0c;参见第八章。 int watchdog_timeo st…

【QT进阶】Qt http编程之json解析的简单介绍

往期回顾 【QT进阶】Qt http编程之后端API测试工具postman使用介绍-CSDN博客 【QT进阶】Qt http编程之http相关类的简单介绍-CSDN博客 【QT进阶】Qt http编程之用户登录注册功能实现-CSDN博客 【QT进阶】Qt http编程之json解析的简单介绍 一、JSON字符串 1、基本概念 JSON字…

电脑便签怎么固定位置 能固定在桌面的电脑便签

在繁忙的工作中&#xff0c;电脑便签是我离不开的小助手。每当灵感闪现&#xff0c;或是需要记录待办事项时&#xff0c;我总会打开便签&#xff0c;快速地记录下来。它就像我电脑屏幕上的一块“记事板”&#xff0c;随时提醒我未完成的工作和即将到来的任务。 但有一段时间&a…

i管家空间不足提醒怎么关闭

i管家的空间不足提醒是为了提醒用户手机存储空间不足&#xff0c;可能会影响手机的正常运行。目前&#xff0c;这个提醒功能是无法直接关闭的。如果您希望减少这类提醒的出现&#xff0c;可以尝试以下几种方法&#xff1a; 清理手机存储&#xff1a;检查手机中是否有不需要的文…

Unity3D 多人战场Animation优化详解

在Unity3D中&#xff0c;实现多人战场动画优化是一个非常重要的任务。动画在游戏中扮演着非常重要的角色&#xff0c;它能够让游戏更加生动和真实。然而&#xff0c;在多人战场中&#xff0c;同时播放多个角色的动画会给游戏性能带来很大的压力。因此&#xff0c;我们需要采取一…