关于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_coordinate
      parameters:
        - name: keywords
          in: query
          description: POI名称,必须是中文
          required: true
          schema:
            type: string
        - name: region
          in: query
          description: POI所在的区域名,必须是中文
          required: false
          schema:
            type: string
      deprecated: false
  /around:
    get:
      description: 搜索给定坐标附近的POI
      operationId: search_nearby_pois
      parameters:
        - name: keywords
          in: query
          description: 目标POI的关键字
          required: true
          schema:
            type: string
        - name: location
          in: query
          description: 中心点的经度和纬度,用逗号分隔
          required: false
          schema:
            type: string
      deprecated: false
components:
  schemas: {}

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

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

Function Calling的机制

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第一届 “帕鲁杯“ writeup

文章目录 MiscMisc-签到江FM 145.8ez_misc为什么我的新猫猫吃不饱 Crypto玛卡巴卡有什么坏心思呢 webWeb-签到 应急响应1.找到JumpServer堡垒机中flag标签的值。2.提交攻击者第一次登录时间。3.提交攻击者源IP。4.提交攻者使用的cve编号。5.提交攻击者留在Web服务器上的恶意程序…

更换本地yum源的步骤

更换本地yum源的流程与命令:

一山不容二虎?雷池WAF和宝塔面板共存部署

互联网上的攻击和扫描流量非常多,为了保证网站安全,在网站之前新增WAF防护是必要的。之前有了解过宝塔云WAF,但需要独立的一台服务器来部署,架构不够灵活,对于个人用户来说成本太高了。后来在微信公众号上看到简单好用…

虚良SEO怎么有效的对百度蜘蛛权重优化?

人们交换链接通常首先要问的是你BR值是多少?国内搜索引擎来说以百度马首是瞻,无论seo还是竞价都看重的是百度,那么针对百度权重的优化就特别重要了。其实,百度权重是民间的一种说法,百度官方并没有认同这个数值&#x…

三. TensorRT基础入门-TensorRT简介

目录 前言0. 简述1. 什么是TensorRT2. TensorRT的工作流介绍3. TensorRT的一些限制总结参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习课程第三章—TensorRT 基础入门&#xf…

Centos7.9云计算CloudStack4.15 高级网络配置(3)

上两章的文章都是用的CloudStack的基本网络,这一篇我们来介绍CloudStack的高级网络,这里虚拟机用的是自己配置的内部网络,通过nat方式到物理网络。按照第一篇的文章,安装管理服务器和计算服务器。 并且在管理服务器配置好如下的全…

Ubuntu22.04.4 - apt - 笔记

一、修改源配置 这里使用的时候又出现了联不通的情况,换成国内镜像 在update cp /etc/apt/source.list /etc/apt/source.list.bak vim source.list 换源地址 修改完(网上有,注意:根据Ubuntu版本不一样,部分内同也会不…

免费一年期ssl证书怎么申请?看这里!(教育版、政务版)

自从去年年底开始,各大公有云陆续下架一年期的免费ssl证书,且申请数量都做了限制调整,那么现在去哪里申请免费一年期的ssl证书呢? 一、短期ssl证书 首先了解一下短期免费证书的平台,一般免费证书都为90天有效期&…

kubectl常用命令行介绍

1、kubectl用法概述 kubectl命令⾏的语法如下: $ kubectl [command] [type] [name] [flags] command:命令,用于操作Kubernetes集群资源对象的命令,例如create、delete、describe、get、apply等TYPE:资源对象的类型&am…

外包干了6天,技术明显退步。。。

我是一名大专生,自19年通过校招进入湖南某软件公司以来,便扎根于功能测试岗位,一晃便是近四年的光阴。今年3月,我如梦初醒,意识到长时间待在舒适的环境中,已让我变得不思进取,技术停滞不前。更令…

【xhs爬虫软件】把小红书评论comment接口封装成GUI采集工具!

用Python开发爬虫采集软件,可自动抓取小红书评论数据,并且含二级评论。 小红书的评论接口URL是: https://edith.xiaohongshu.com/api/sns/web/v2/comment/page 开发者模式分析过程: 进而封装成GUI界面软件,如下&…

线程池中常见的几大问题

说说你对线程池的了解? 线程池,是对一系列线程进行管理的资源池,当有任务来时,我们可以使用线程池中的线程,完成任务时不需要被销毁,会重新回到池子中,等待下一次的复用。 为什么要使用线程池…

深入了解直播美颜工具与视频美颜SDK的实现与优化策略

今天,小编将为大家详解视频美颜SDK技术的视线方案与优化策略。 一、美颜工具的实现原理 利用特征提取算法提取人脸的各种特征,如皮肤色调、眼睛大小等。接下来,根据用户设定的美颜参数,对提取的特征进行修改。最后,将…

NodeJS操作符空格漏洞

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它使得 JavaScript 可以脱离浏览器在服务器端运行。Node.js 利用事件驱动、非阻塞 I/O 模型等技术提高了性能,从而在开发领域得到广泛应用,比如Web服务应用(尤其是非阻塞…

社区奶柜:您门前的新鲜便利店

社区奶柜:您门前的新鲜便利店 在快节奏的现代生活中,社区奶柜应运而生,为城市居民提供了极大的便利。这些位于住宅区的自助售卖设备,24小时提供新鲜的乳制品,让您的日常生活更加简单方便。 社区奶柜不仅能够确保提供…

前端代码常见的安全缺陷(一)

目录 1、使用不安全的target blank 问题描述: 修复建议: 2、Javascript 代码劫持 问题描述: 修复建议: 示例: 3、跨站请求伪造 问题描述: 修复建议: 4、遗留的调试代码 问题描述&am…

uniapp:小白1分钟学会使用webSocket(可无脑复制)

uni.connectSocket() uni.$emit页面通信 项目中使用uni.connectSocket()创建webSocket的总结,代码可无脑复制,直接使用。 1、main.js 引入vuex import store from ./store; Vue.prototype.$store store;vuex中封装webSocket 2、vuex的:index…

快速排序题目SelectK问题(力扣75.颜色分类、力扣215.数组中的第K个最大元素、面试题17.14最小K个数)

力扣75.颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sor…

C语言(二维数组)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

C语言趣味代码(二)

1.珠玑妙算 1.1 介绍 《珠玑妙算》(Mastermind)是英国Invicta公司于1973年开始销售的一款益智游戏,据说迄今为止已经在全世界销售了5000万套。《珠玑妙算》于1974年获奖后,在1975年传入美国,1976年leslieH.Autl博士甚至还出版了一本名为The…