検索
ホームページテクノロジー周辺機器AIChatGPT プラグインの仕組み

ChatGPT プラグインの仕組み

May 05, 2023 pm 11:22 PM
AIchatgptプラグインの動作

翻訳者 | Cui Hao

査読者 | Chonglou

OpenAI は、ChatGPT プラグインを発表しました。これは、ChatGPT に Web 上で操作を実行させる方法です。これは、ChatGPT がインターネットにアクセスして最新のコンテンツやニュースを閲覧できるだけでなく、食料品の購入や航空券の予約など、一部の操作を私たちに代わって実行できることを意味します。

ChatGPT プラグインの仕組み

実装プロセスは非常に簡単です:

プラグイン プロバイダーは、OpenAPI 標準を使用して API 仕様を作成します。これはしばらく前から存在する標準であり、Swagger のような API ドキュメント ツールの支持者です。

この仕様は、ChatGPT が API を使用して機能を強化する方法を説明するプロンプトにコンパイルされます。答え 。利用可能な各エンドポイントの説明を含む詳細なプロンプトを想像してください。

#最後に、ユーザーは新しい質問をします。 ChatGPT が API から情報を取得するために を必要とする場合、応答する前にリクエストを作成し、それをコンテキストに追加します。

このプロセスは執筆時点で OpenAI の公式ドキュメントに記載されていますが、アクセスは制限されています。まだアクセスを取得していないので、上記をベースに独自の仕組みを実装することにしました。そこで、以下は独自の ChatGPT プラグイン メカニズムを実装する試みです。

厳粛に宣言します:私 私たちにできるのは、 ChatGPT プラグイン については、公開情報を通じて学ぶことができます。他に学ぶためのチャネルはありません## ####追加情報。 この記事の # デモは、実装の概念を説明するためのものです。実装後の様子を表すものではありません。 API 仕様の選択 最初のステップは、次の方法を理解することです。 APIを指定します。 OpenAI はいくつかのサンプル API 仕様を提供しているため、同じ入力を使用して独自のソリューションを実装することにし、単一のエンドポイント用の簡単な仕様を作成しました。

私は DummyJSON を使用します。DummyJSON は、特に「すべてのデリゲートを取得する」というテスト専用のシンプルな API です。終点。仕様として以下のYAMLファイルを書きました。

#

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」という 2 つのパラメータがあります。

次に、上記の ## を変更する必要があります。 #議論を重ねた結果、最終的に次のような結果になりました:

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模型不会执行任何API调用——它必须将该操作委托给不同的系统。由于我们无法访问ChatGPT的内部组件,于是要求它将HTTP请求委托给用户。只要隐藏对话转换对最终用户不可见就行了用户甚至感知不到HTTP请求,就万事大吉了

编排​

ChatGPT是一个通过REST API公开的AI模型。向OpenAI模型发出请求只是端到端聊天机器人体验中的一步。这意味着可以设置模型传递的信息,以及向最终用户显示的信息。

为了使用ChatGPT实现虚拟助手的功能,我使用了Bot Framework Composer,这是一种基于UI的工具,允许我们构建对话体验并将其发布到不同的渠道。以下是高级别的解决方案架构:

ChatGPT プラグインの仕組み

我用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发出新请求,以获取响应正文。

5.ChatGPT格式化响应:"这是你的前5个待办事项:..."

6.Azure Bot回复给用户。

#すぐに私の注意を引いたことが 1 つあります製品それを阻止できるコードを生成して他の Web サイトまたはアプリケーションを呼び出します。 #このため、シンプルなドメイン名許可リストを適用しました。これにより、すべてのリクエストが保証されます #リクエストは DummyJSON API にのみ送信でき、一度に送信できるメッセージは 1 つだけです – メッセージ送信のセキュリティを確保するには #####。 上記はデザインです

プラン ポイントの全体的な考え方 最終結果 上記

実装の詳細については、エクスペリエンスが完璧になるまでスキップしてください。これは統計ツールであるため、適切なヒントが見つかるまで試行錯誤が必要です。しかし最終的には、これが私がロボットの最終バージョンと交わした会話です。 #結論

ChatGPT プラグイン ChatGPT プラグインの仕組み

#関数の実装

## は、上記の簡単なデモよりも # です## # ########複雑な。この #デモ# の目的は、ChatGPT# を完了する方法を示すことです。 ##統合 - 信じてください、私もあなたと同じように、 の実装プロセスについて興味があります。 #このデモ # は、ChatGPT に HTTP を統合する機能を提供します。 ## 可能性、コミュニティが何ができるかを見るのが待ちきれません ##fresh #花

同時に、 この ## テクノロジーのユーザーとしての私たちも、 、責任感もあります: 悪意のあるプロンプトによって Azure Bot が不明なサーバーにリクエストを行った場合はどうなりますか?現在、どのような新しい攻撃ベクトルがあるのでしょうか?私が作成した #ボットでは、ドメイン名の単純なホワイトリストが適用されました。新しいユースケースが次々と出現する中、これで十分でしょうか?フォローアップのヒントで API 仕様を書き直すこともできました。これに関連するリスクはありますか? AI # セキュリティ問題には、#AI に関連するものが多数あります。 OpenAI はこれを確実に認識しています。 一般的には、今回はデモです

# に感動しました。 ChatGPT の 可能性は本当に無限であり、私はこの機能に今後も注目していき、今後どこに登場するのかを確認していきます。数週間から数か月以内に開発します。近いうちに Azure OpenAI にも導入されることを期待しています。 翻訳者紹介Cui Hao、51CTOコミュニティエディター、シニアアーキテクト、教師、ソフトウェア開発とアーキテクチャで 18 年の経験があり、分散アーキテクチャで 10 年の経験があります。

##元のタイトル:

ChatGPT プラグインの使い方(できる)

、著者: MarcoCardoso

以上がChatGPT プラグインの仕組みの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
外挿の包括的なガイド外挿の包括的なガイドApr 15, 2025 am 11:38 AM

導入 数週間で作物の進行を毎日観察する農民がいるとします。彼は成長率を見て、さらに数週間で彼の植物がどれほど背が高くなるかについて熟考し始めます。 thから

ソフトAIの台頭とそれが今日のビジネスにとって何を意味するかソフトAIの台頭とそれが今日のビジネスにとって何を意味するかApr 15, 2025 am 11:36 AM

ソフトAIは、おおよその推論、パターン認識、柔軟な意思決定を使用して特定の狭いタスクを実行するように設計されたAIシステムとして定義されていますが、曖昧さを受け入れることにより、人間のような思考を模倣しようとします。 しかし、これはBusineにとって何を意味しますか

AIフロンティア向けの進化するセキュリティフレームワークAIフロンティア向けの進化するセキュリティフレームワークApr 15, 2025 am 11:34 AM

答えは明確です。クラウドコンピューティングには、クラウドネイティブセキュリティツールへの移行が必要であるため、AIはAIの独自のニーズに特化した新しい種類のセキュリティソリューションを要求します。 クラウドコンピューティングとセキュリティレッスンの台頭 で

3つの方法生成AIは起業家を増幅します:平均に注意してください!3つの方法生成AIは起業家を増幅します:平均に注意してください!Apr 15, 2025 am 11:33 AM

起業家とAIと生成AIを使用して、ビジネスを改善します。同時に、すべてのテクノロジーと同様に、生成的AIが増幅器であることを覚えておくことが重要です。厳密な2024年の研究o

Andrew Ngによる埋め込みモデルに関する新しいショートコースAndrew Ngによる埋め込みモデルに関する新しいショートコースApr 15, 2025 am 11:32 AM

埋め込みモデルのパワーのロックを解除する:Andrew Ngの新しいコースに深く飛び込む マシンがあなたの質問を完全に正確に理解し、応答する未来を想像してください。 これはサイエンスフィクションではありません。 AIの進歩のおかげで、それはRになりつつあります

大規模な言語モデル(LLMS)の幻覚は避けられませんか?大規模な言語モデル(LLMS)の幻覚は避けられませんか?Apr 15, 2025 am 11:31 AM

大規模な言語モデル(LLM)と幻覚の避けられない問題 ChatGpt、Claude、GeminiなどのAIモデルを使用した可能性があります。 これらはすべて、大規模なテキストデータセットでトレーニングされた大規模な言語モデル(LLMS)、強力なAIシステムの例です。

60%の問題 -  AI検索がトラフィックを排出す​​る方法60%の問題 - AI検索がトラフィックを排出す​​る方法Apr 15, 2025 am 11:28 AM

最近の研究では、AIの概要により、産業と検索の種類に基づいて、オーガニックトラフィックがなんと15〜64%減少する可能性があることが示されています。この根本的な変化により、マーケティング担当者はデジタルの可視性に関する戦略全体を再考することになっています。 新しい

AI R&Dの中心に人間が繁栄するようにするMITメディアラボAI R&Dの中心に人間が繁栄するようにするMITメディアラボApr 15, 2025 am 11:26 AM

Elon UniversityがDigital Future Centerを想像している最近のレポートは、300人近くのグローバルテクノロジーの専門家を調査しました。結果のレポート「2035年に人間である」は、ほとんどがTを超えるAIシステムの採用を深めることを懸念していると結論付けました。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター