API(Application Programming Interface,应用程序编程接口)就像是一个信差。它接受一端的请求,将您想要做的事情告知对应的系统,然后把返回的信息传递回给您。
例如在 GPT 中,通过预先配置的 Action 里的 TMDB API 可以获取电影相关的专有信息。当您询问某部电影的相关内容时,GPT 会识别您的意图,按照 Prompt 进行任务,使用 Action 去相应的数据库寻找相关数据,如取出 backdrop_path 作为主视觉图,然后处理剧情数据、生成背景知识,最后使用 webpilot 搜索评价并返回整理后的数据。
配置一个 Action 时,需要考虑 Schema(相当于操作手册,告诉 GPT 可以去哪、干什么、需要准备什么)、Available actions(可用行动,对应 operationId、get、path)、Authentication(认证,类似于身份证)、Privacy policy(隐私政策)。
Action 的工作流大致为:首先思考想要做什么样的 GPT 以及是否需要外部数据;然后去寻找所需的外部数据的 API 文档,或者自行开发 API,寻找可用的 Action;最后基于 API 文档编写 Action 里的 Schema 和 Prompt(处理取回信息的方式)。
如果对 Action 感兴趣,可以从系统学习 API 知识、在网上寻找可用的 API 练习、发掘 GPT Action 更多潜力等方向继续深入。
这种数据格式叫做JSON,你只需要知道这种写法可以让程序很方便的读写就好,看起来有点复杂。——不过你仔细看一下,就会发现这个数据其实和脑图没有太大区别。还记得之前提到的键和值么?可以看到这里面返回了两条结果,是不是有点眼熟?没错,这个API返回的数据,应该和搜索结果页是一样的。只不过网页拿到了这些数据,做了样式的美化展示。这是第一个结果的数据,对应了搜索结果页的内容,你会发现展现的内容远比数据维度要少——这是因为有些数据虽然不展现,但为了支持筛选所保留的。注意看,这里出现了‘backdrop_path’,记得原先Prompt是怎么写的吗:取出backdrop_path这个数据作为主视觉图——所以这里是一个图片地址(),但它是不完整的,只有后半部分。就像是一个分成两块的藏宝图,两部分拼起来才是完整的图片地址。TMDb的官方API文档(https://developer.themoviedb.org/docs/image-basics)里就写了如何构造完整的图片URL:但是因为我们的Baby GPT已经是一个成熟的GPT了。实际上,它已经有TMDb的训练数据了(相当于裤兜里已经有半拉地图了)——所以即使你不说,它也会自己完成构建完整的图片地址。对于一些它不熟悉的API,还是需要在Prompt里告诉他要怎样使用。比如剩下的数据也可以用类似的方式让ChatGPT来处理,比如让他列出:上映时间'release_date'、评分'vote_average'、评分人数'vote_count':它就能很+
在这个例子里,GPT就通过预先配置的Action里的TMDB API,获取了电影相关的专有信息。当我问“奥本海默”这部电影讲了什么之后:GPT识别到了我的意图,按照Prompt进行第一个任务。使用Action去The Movie DB寻找相关数据,从数据中取出backdrop_path这个数据作为主视觉图,然后处理剧情数据、生成背景知识。最后使用webpilot搜索评价,返回整理后的数据,也就是最终你看到的结果:接下来,我们继续深入GPT Action的配置项:配置一个Action,你需要:Schema:(下图)通过导入或者直接填写,相当于给Baby GPT的一个?操作手册,告诉它可以去哪,干什么,需要准备什么。这个示例的版本很简单,真正的会更复杂一些。Available actions:(上图)可用行动,在你输入Schema后会自动生成,展示大纲中可以使用的行动,对应operationId,get,path——加入操作手册是本魔法书,Available actions就是可以用的魔法Authentication:(上图)认证,可以理解成身份证,没带证件不能请求数据Privacy policy:(上图)隐私政策,因为Baby GPT会携带用户的需求访问别的服务器,所以需要一个隐私声明,这个一般在网站底部都可以找到,把网址填进去就行。然后来看Schema的结构:是不是有点懵?
我们最后提炼一下Action的工作流:首先,想一下你想要做一个什么样的GPT,以及是否需要外部数据——这两个谁先谁后不重要;然后,去你需要的外部数据寻找API文档,或者基于你的需求,自己开发一个API,寻找市面上可以直接用的Action;最后,基于API文档,编写Action里的Schema,和Prompt(如何处理取回来的信息)写在最后总结一下:今天我们的讨论起始于人工智能中的“Agent&Action”,然后转向OpenAI对智能体(Agent)能力模型的定义。接着,我们深入探讨了ChatGPT中的Action(搜索、画图、代码解释器),以及GPT系列中的不同Action。使用了一个容易上手的Action Webpilot,用于访问网页获取实时的文本内容。最后,我们初步了解了API的概念,以及GPT如何通过Action与外部数据进行交互和使用。如果对Action很感兴趣,你可以从以下方向开始继续前进:系统的了解和学习API相关的知识去网上寻找可以用的API来练习发掘GPT Action更多的潜力以上是我认为相对容易入门的知识框架,但是我们都知道:你不可能只在一次分享/一篇文章中就获得完整的Action相关知识学习虽然没有终点,但有阶段性目标。大家可以通过后续看到的不同的教程和资料,识别这些知识之间的共性和逻辑关系,然后继续深化对这个主题的理解,构建你自己的知识体系。如果你对GPT开发有兴趣,想要认识更多玩GPT的朋友,欢迎加入GPTGeeker的星球: