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 が物理世界を呼び出す能力を獲得したこと、またすべてのコンピューター機能インターフェースが人間の言語能力を獲得したこととして捉えることができます。

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

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

推薦する

...

...

GitHub の最も有名な 20 の Python 機械学習プロジェクトは収集する価値があります。

オープンソースは技術革新と急速な発展の中核です。この投稿では、Python 機械学習のオープンソース...

AIの技術的負債の解消は急務

この流行は世界市場に衝撃をもたらしたが、人工知能(AI)企業への資本投資は増加し続けている。 CB ...

強化学習と世界モデルにおける因果推論

1. 世界モデル「世界モデル」という用語は認知科学に由来しており、認知科学ではメンタルモデルと呼ばれ...

今後5~10年で、人工知能+ブロックチェーンは第三者による支払いを終わらせるだろう

インターネットの出現により、伝統的な取引方法は一変しました。第三者保証の取引プラットフォームとして、...

LLM で会話インターフェースを設計するにはどうすればいいですか?

著者:ヴァルン・シェノイ編纂者:王睿平大規模言語モデル (LLM) で構築されたテキスト ボックスの...

初心者と専門家のための機械学習に関するベスト 10 書籍

機械学習を学びたいですか? まずはこの 10 冊の本から始めましょう。 [[374789]] >...

エッジAIとエッジコンピューティングについて学ぶ

エッジ人工知能 (EdgeAI) は、人工知能の分野における新しい注目の領域の 1 つです。目標は、...

...

人工知能技術は建設業界をどのように変えるのでしょうか?

人工知能 (AI) は世界中の産業に革命をもたらし、その能力によって世界を変えています。 ChatG...

宇宙探査における人工知能の驚くべき7つの応用

宇宙探査は人類の最も挑戦的で刺激的な取り組みの一つです。これには、科学的知識、技術革新、そして人間の...

人工知能は人間と同じくらい創造的になれるのでしょうか?

創造性は、芸術、文学、科学、技術など、斬新で価値があり、意義のある作品を生み出すことを可能にする人間...

アルゴリズムを理解するパート 2 - シーケンス テーブル

[[407946]]この記事はWeChatの公開アカウント「Front-end Gravitatio...