前言
chatGPT目前的明显问题是不能够获取新知识,也没有办法和外界交互,而plugin就是来解决这个问题的。
chatgpt-retrieval-plugin
插件的基本信息
这是最新开源的一个plugin,里面有几个核心点
第一个是插件的定义
我不逐句翻译了,大概意思就是可以扩展chatGPT,这样就可以试用外部的资料和调用外部的服务了。
然后又说明了一个插件需要的三个部分
- 需要一个API
- 需要一个API的定义
- 需要一个描述这个插件的json文件
插件和chatGPT之间的核心逻辑
这个图其实就是插件与chatGPT的一个核心交互模式。
解释下里面的的核心点:chatGPT是如何和工具进行交互的。
这里就涉及到刚才插件要求的三个要素,Api、Api文档、插件描述。
我们核心看插件描述和API文档
api-plugin.json
{
"schema_version": "v1",
"name_for_model": "retrieval",
"name_for_human": "Retrieval Plugin",
"description_for_model": "Plugin for searching through the user's documents (such as files, emails, and more) to find answers to questions and retrieve relevant information. Use it whenever a user asks something that might be found in their personal information.",
"description_for_human": "Search through your documents.",
"auth": {
"type": "user_http",
"authorization_type": "bearer"
},
"api": {
"type": "openapi",
"url": "https://your-app-url.com/.well-known/openapi.yaml",
"has_user_authentication": false
},
"logo_url": "https://your-app-url.com/.well-known/logo.png",
"contact_email": "hello@contact.com",
"legal_info_url": "hello@legal.com"
}
openapi.yaml
openapi: 3.0.2
info:
title: Retrieval Plugin API
description: A retrieval API for querying and filtering documents based on natural language queries and metadata
version: 1.0.0
servers:
-