偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何使用ChatGPT插件工作

譯文 精選
人工智能
OpenAI剛剛宣布了ChatGPT插件——一種讓ChatGPT在Web上執(zhí)行操作的方法。這不僅意味著ChatGPT可以訪問互聯網并瀏覽最新內容和新聞,還可以代替我們執(zhí)行一些操作,比如購買雜貨、預訂機票等等。

?譯者 | 崔皓

審校 | 重樓

OpenAI剛剛宣布了ChatGPT插件——一種讓ChatGPT在Web上執(zhí)行操作的方法。這不僅意味著ChatGPT可以訪問互聯網并瀏覽最新內容和新聞,還可以代替我們執(zhí)行一些操作,比如購買雜貨、預訂機票等等。

實現過程非常簡單:?

插件提供者使用OpenAPI標準編寫API規(guī)范。這是一個已經存在了一段時間的標準,是類似Swagger API文檔工具的支持者。?

然后,將這個規(guī)范編譯成提示,向ChatGPT解釋它如何使用API來增強答案。想象一下詳細的提示,包括每個可用端點的描述。?

最后,用戶提出新的問題。如果ChatGPT需要從API中獲取信息,它將在回答之前進行請求并添加到上下文中。?

盡管在撰寫本文時,這個過程已經在官方OpenAI文檔中有所記錄,但訪問受到了限制。由于還沒有獲取訪問權限,我決定根據以上內容實現自己的機制。因此,下面是我嘗試實現自己的ChatGPT插件機制。?

鄭重聲明:我也只能通過公開信息了解ChatGPT插件,并沒有其他渠道了解額外信息。本文的演示是為了說明實現的概念,并不能代表實現之后的樣子。?

選擇API規(guī)范?

第一步是了解如何指定API。OpenAI提供了一些樣本API規(guī)范,因此我決定使用相同的輸入來實現自己的解決方案,并為單個端點編寫了一個簡單規(guī)范。?

我使用DummyJSON,一個專門用于測試的簡單API,特別是“獲取所有代辦事項”的端點。我編寫了以下YAML文件作為規(guī)范。?

openapi: 3.0.1
info:
title: TODO Plugin
description: A plugin that allows the user to create and manage a TODO list using ChatGPT.
version: 'v1'
servers:
- url: https://dummyjson.com/todos
paths:
/todos:
get:
operationId: getTodos
summary: Get the list of todos
parameters:
- in: query
name: limit
schema:
type: integer
description: Number of todos to return
- in: query
name: skip
schema:
type: integer
description: Number of todos to skip from the beginning of the list
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/getTodosResponse'
components:
schemas:
getTodosResponse:
type: object
properties:
todos:
type: array
items:
type: object
properties:
id:
type: int
todo:
type: string
completed:
type: bool
userId:
type: string
description: The list of todos.

如上面配置文件所示,一個端點有兩個參數: "limit" 和 "skip"。?

現在,我需要將上面的?

經過反復討論,最終得到了以下結果:?

You are a virtual assistant that helps users with their questions by relying on
information from HTTP APIs. When the user asks a question, you should determine whether
you need to fetch information from the API to properly answer it. If so, you will
request the user to provide all the parameters you need, and then ask them to run the
request for you. When you are ready to ask for a request, you should specify it using
the following syntax:

<http_request>{
"url": "<request URL>",
"method": "<method>",
"body": {<json request body>},
"headers": {<json request headers>}
}</http_request>

Replace in all the necessary values the user provides during the interaction, and do not
use placeholders. The user will then provide the response body, which you may use to
formulate your answer. You should not respond with code, but rather provide an answer
directly.

The following APIs are available to you:

---
<OpenAPI Specification goes here>

告訴ChatGPT以特定的語法回應,并告訴它用戶將提供響應。這是因為AI模型不會執(zhí)行任何API調用——它必須將該操作委托給不同的系統(tǒng)。由于我們無法訪問ChatGPT的內部組件,于是要求它將HTTP請求委托給用戶。只要隱藏對話轉換對最終用戶不可見就行了,用戶甚至感知不到HTTP請求,就萬事大吉了。?

編排?

ChatGPT是一個通過REST API公開的AI模型。向OpenAI模型發(fā)出請求只是端到端聊天機器人體驗中的一步。這意味著可以設置模型傳遞的信息,以及向最終用戶顯示的信息。?

為了使用ChatGPT實現虛擬助手的功能,我使用了Bot Framework Composer,這是一種基于UI的工具,允許我們構建對話體驗并將其發(fā)布到不同的渠道。以下是高級別的解決方案架構:?

我用Bot Framework Composer構建了這個虛擬助手,因為它可以快速部署到多個終端用戶渠道,且只需要很少的代碼。如果您想要復制這個解決方案,您可能還需要考慮使用Power Virtual Agents,尤其是在生產中使用。?

以下是對話流程的構建方式:

1. 用戶提問

2.ChatGPT用預格式化的消息進行回復:

2.<http_request>{
"url": "https://dummyjson.com/todos?limit=5",
"method": "GET",
"body": "",
"headers": {}
}</http_request>

3.Azure Bot檢測到這種格式,并將請求提交給DummyJSON API,而不會牽扯到最終用戶。

4.Azure Bot代表用戶向ChatGPT發(fā)出新請求,以獲取響應正文。

5.ChatGPT格式化響應:"這是你的前5個待辦事項:..."

6.Azure Bot回復給用戶。

有一件事情立即引起了我的注意產品可以阻止它通過生成代碼的方式調用其他網站或者應用。出于這個原因,我應用了一個簡單的域名允許列表,這樣保證所有請求只能發(fā)送到DummyJSON API,而且只能一次發(fā)送一條 – 從而保證消息發(fā)送的安全性。

以上就是設的整體思路。?

最終結果?

上面跳過了一些實現的細節(jié),直到體驗完美為止。這是一個統(tǒng)計工具,預計需要一些試錯,直到找到正確的提示。但最終,這是我與機器人的最終版本進行的對話。?

結論?

ChatGPT插件功能的實現比上面的快速演示要更加復雜。這次Demo的目的是展示如何完成ChatGPT的集成——相信我,我和你一樣對實現過程非常好奇。這個Demo給ChatGPT集成HTTP的能力提供了可能性,我迫不及待想看看社區(qū)能夠拋出什么新鮮花樣。?

同時,我們作為技術的用戶,也有一種責任感:如果一個有惡意的提示讓Azure Bot向一個未知的服務器發(fā)出請求會發(fā)生什么?現在有哪些新的攻擊向量?在我編寫的機器人中,應用了簡單的域名白名單——隨著新的用例不斷出現,這是否足夠?我還設法在后續(xù)的提示中重寫了API規(guī)范——是否存在與此可能相關的風險?有許多AI相關的安全問題需要考慮,而OpenAI當然也意識到了這一點。?

總的來說,這次Demo讓我印象深刻。ChatGPT的可能性確實是無限的,我一定會關注這個功能,看它在未來幾周和幾個月內的發(fā)展。我也希望盡快在Azure OpenAI中看到它!?

譯者介紹?

崔皓,51CTO社區(qū)編輯,資深架構師,擁有18年的軟件開發(fā)和架構經驗,10年分布式架構經驗。?

原文標題:??How ChatGPT Plugins (could) work??,作者:MarcoCardoso?

責任編輯:華軒 來源: 51CTO
相關推薦

2023-06-12 17:54:50

2025-06-03 09:08:49

2023-04-12 08:00:00

人工智能ChatGPTPython

2023-10-10 08:00:00

2023-03-30 12:39:47

2023-08-02 07:01:37

2011-09-13 09:49:59

PhoneGap插件

2023-03-01 16:15:16

2023-05-14 19:35:00

2023-02-07 10:09:20

ChatGPT人工智能

2023-04-03 11:52:00

ChatGPTDevOps技術

2023-06-26 00:01:11

2023-11-13 09:00:00

2024-01-15 16:28:42

ChatGPTGenAI人工智能

2023-02-13 11:43:26

CHATGPT人工智能

2023-07-19 08:07:27

ChatGPTSyslog

2023-02-13 14:47:32

人工智能機器學習ChatGPT

2023-05-17 15:38:13

2023-03-03 08:13:35

2023-04-18 10:47:32

點贊
收藏

51CTO技術棧公眾號