ChatGPTの関数呼び出しはC3POとR2-D2がチームを組んだようなものだ

ChatGPTの関数呼び出しはC3POとR2-D2がチームを組んだようなものだ

6月13日にリリースされたChatGPTの関数呼び出し機能は、自然言語の世界と既存のプログラミング言語の世界を結び付けます。最終的には世界全体が自然言語の世界になると信じていますが、結局のところ、今日のすべてのコンピュータ システムはまだコードと API の世界です。在庫の観点から見ると、これは既存のシステムと互換性を保つための最良の方法です。

この事件はスターウォーズに出てくるかわいいロボットを思い出させます。金色で少し間抜けな C3PO は、礼儀作法や儀礼に精通しており、さまざまな言語を話します。背が低くて丸い R2-D2 は、アストロメッシュ ドロイドで、計算や「ビープビープ」音を使ったコンピューター システムとの通信に長けています。 2人は完璧に連携して働いています。R2-D2は作業と情報の取得を担当し、C3POは大人の言語の翻訳を担当しています。このパートナーシップは、ChatGPT と API の現在の関係とまったく同じです。

関数呼び出しとは、元の ChatGPT API の補完呼び出しを、メッセージのサポートのみ (メッセージでは、システム、ユーザー、アシスタントの 3 つの役割を指定できます) から関数の提供にも拡張することを意味します。 ChatGPT は、関数内の各関数の説明の「文字通りの」意味に基づいて、単純なロジックを使用して、ユーザーの質問にこの機能で回答できるかどうかを判断します。可能であれば、パラメータとして使用できるユーザーの質問の部分を抽出し、構造化された関数呼び出しデータ構造を返します。

次に、コードの世界は、厳密な JSON 形式で定義された関数呼び出しメソッドを通じて関数を呼び出し、その結果を ChatGPT に返します。 ChatGPT は関数の結果に基づいてユーザーの質問に回答し続けます。

たとえば、私が作成したロボットの関数は次のように記述されます。

 functions = [ { "name": "get_articles", "description": "Get List of articles", "parameters": { "type": "object", "properties": { "start": { "type": "integer", "description": "The starting point of index of articles", }, "end": { "type": "integer", "description": "The ending point of index of articles", }, }, "required": [], }, }, { "name": "read", "description": "Get value from database", "parameters": { "type": "object", "properties": { "key": { "type": "string", "description": "The key to store the value ", }, }, "required": ["key"], }, }, { "name": "save", "description": "Save value to the database", "parameters": { "type": "object", "properties": { "key": { "type": "string", "description": "The key to store the value ", }, "value": { "type": "string", "description": "The value to store the value ", }, }, "required": ["key", "value"], }, }, { "name": "run_node", "description": "Run node.js code", "parameters": { "type": "object", "properties": { "code": { "type": "string", "description": "The node.js code I want to use to evaluate", }, }, "required": ["code"], }, } ]

これらには、以前の記事を取得するための機能、一般的な保存および読み込み機能、Node.js コードを実行するための機能が含まれます。

私が尋ねると:

 User: 最近的5篇文章是什么?

ChatGPT が回答します:

 Function: {'name': 'get_articles', 'arguments': '{\n "start": 0,\n "end": 5\n}'}fda

すべてのパラメータが準備されています。これは GPT-3 の非常に成熟した機能ですが、現在はより安定し、制御可能になっています。

質問すると:

 User: 现在几点了

ChatGPT は、Node.js コードで回答できる質問を Node.js 呼び出しに変換します。

 Function: {'name': 'run_node', 'arguments': '{\n "code": "new Date().toLocaleTimeString()"\n}'}

これらの問題には、時間、算数などが含まれます。 Node.js システムの世界を ChatGPT の自然言語の世界につなげることができます。 (ただし、この例のセキュリティ リスクは太平洋と同じくらい大きいことに注意してください。システム情報を返していくつかのファイルを削除するように要求すると、喜んでそれを実行し、実際に実行できます。)

将来的には、このコネクタをベースにした興味深いアプリケーションが数多く登場するはずです。ただし、これは LangChain を使用したり、事前に直接コードを記述したりすることで実現できます。しかし、多くの場合、最も単純なものを少し単純化すると、非常に複雑なものを大幅に単純化するよりも効果が大きくなります。

関数呼び出しのサポートにより、ChatGPT API のロール パラメータが 3 つから 4 つに拡張されました。

  • システム
  • アシスタント
  • ユーザー
  • 関数

これら 4 つのタイプは、自然界における 4 つのものと正確に対応しています。システムは神や自然に相当します (ロボットもそのように作られ、その役割は神によって決められたようなものです)。アシスタントはユーザーに役立つロボットです。ユーザーはロボットと対話する人間です。機能はこの世界を表し、ユーザーやロボット以外の第三者です。マシンは関数を通じてそこから情報を取得し、また関数を通じて状態を変更します。

C3PO と R2-D2 のコラボレーションは、ChatGPT が物理世界を呼び出す能力を獲得したこと、またすべてのコンピューター機能インターフェースが人間の言語能力を獲得したこととして捉えることができます。

<<:  ドローンは将来何ができるのか

>>:  時系列を大規模モデルと組み合わせることはできますか?アマゾンの最新研究:大規模モデルで時系列予測を説明できる

ブログ    
ブログ    

推薦する

Google検索アルゴリズムの変更:暗号化されたウェブページの重み付けが向上

つまり、新しい Google 検索アルゴリズムでは、「HTTPS」(Hypertext Transf...

プログラマーのための上級書籍リスト: アルゴリズム

アルゴリズムの図解通常のアルゴリズムの本は、読む人を眠くさせ、理解不能で読みにくく、非常にイライラさ...

機械学習の基本概念30選(手描きイラスト)

01 空間表現深遠な機械学習理論を学ぶ前に、まず機械学習の最も基本的な概念のいくつかを紹介しましょ...

Raft アルゴリズムの原理と CMQ への応用 (パート 1)

[[202009]]導入Raft アルゴリズムは分散コンセンサス アルゴリズムです。 Paxos ...

最近 IT 業界で起こったいくつかの大きな出来事についてお話ししましょう。

新年が明けたばかりですが、新しい技術、新しい知識、新しいコンテンツが次々と登場し、新年早々も怠けるこ...

今日のアルゴリズム: 文字列内の隣接する重複をすべて削除する

[[419471]]小文字で構成される文字列 S が与えられた場合、重複削除操作は隣接する 2 つの...

...

人工知能はさまざまな業界でどのように応用されているのでしょうか?

「人工知能」という用語は、人間の意思決定を模倣または複製できる機械とは対照的に、複雑でインテリジェ...

...

Google の自動運転車は「先​​天的な欠陥」があるが、その商品化は「中止」の運命を免れるだろうか?

[[248486]]グーグルの自動運転車開発会社ウェイモはすでに試験的な移動サービスの一部を有料化...

Microsoft Azure OpenAI への申請手順ガイド

以前は、Microsoft の Azure OpenAI は企業のみが利用でき、一般ユーザーはうまく...

ディープラーニングの概要: パーセプトロンからディープネットワークまで

近年、人工知能の分野は再び活発化しており、伝統的な学術界に加え、Google、Microsoft、F...

GPT-3.5 を選択すべきでしょうか、それとも Llama 2 などのオープンソース モデルを微調整すべきでしょうか?総合的に比較した結果、答えは

GPT-3.5 の微調整には非常にコストがかかることはよく知られています。この論文では、手動で微調整...

一般的なモデル統合手法の紹介: バギング、ブースティング、スタッキング

この記事では、ブートストラップ、バギング、ランダム フォレスト、ブースティング、スタッキング、その他...