• 关于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开发示例

    1. openapi: 3.1.0
    2. info:
    3. title: 高德地图
    4. description: 获取 POI 的相关信息
    5. version: v1.0.0
    6. servers:
    7. - url: https://restapi.amap.com/v5/place
    8. paths:
    9. /text:
    10. get:
    11. description: 根据POI名称,获得POI的经纬度坐标
    12. operationId: get_location_coordinate
    13. parameters:
    14. - name: keywords
    15. in: query
    16. description: POI名称,必须是中文
    17. required: true
    18. schema:
    19. type: string
    20. - name: region
    21. in: query
    22. description: POI所在的区域名,必须是中文
    23. required: false
    24. schema:
    25. type: string
    26. deprecated: false
    27. /around:
    28. get:
    29. description: 搜索给定坐标附近的POI
    30. operationId: search_nearby_pois
    31. parameters:
    32. - name: keywords
    33. in: query
    34. description: 目标POI的关键字
    35. required: true
    36. schema:
    37. type: string
    38. - name: location
    39. in: query
    40. description: 中心点的经度和纬度,用逗号分隔
    41. required: false
    42. schema:
    43. type: string
    44. deprecated: false
    45. components:
    46. schemas: {}

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

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

    Function Calling的机制

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

  • 相关阅读:
    stm32f4xx-定时器
    .NET Core C#系列之XiaoFeng.Threading.JobScheduler作业调度
    scratch颜色搭配 电子学会图形化编程scratch等级考试四级真题和答案解析2022年9月
    【示波器专题】案例:从示波器官网的海报来回顾示波器的主要指标
    离散数学(十二):关系的幂运算与关系的性质
    BEVFormer -通过时空transformers学习多视角图像的BEV表示
    【python与数据结构】(leetcode算法预备知识)
    【Java基础】什么是Java的注释?—21天学习计划打卡第一天
    c4d渲染动画可以暂停吗?c4d云渲染动画怎么暂停
    Centos8界面语言怎么设置? Centos用户界面语言的设置方法
  • 原文地址:https://blog.csdn.net/dzend/article/details/137955211