人工知能は日々進歩しており、大規模な言語モデルはますます強力になっています。仕事に役立つ AI ツールを使用すると、作業効率が大幅に向上します。数文字入力して Tab キーを押すだけで、コードがインテリジェントに完成します。 コード補完に加えて、AI を利用して関数を自動化し、必要な JSON データを返すこともできます。 例を見てみましょう: 上記のコードでは、世界最高峰の情報を取得するための getHighestMountain 非同期関数を定義しています。その戻り値は、Mountain インターフェイスで定義されたデータ構造です。関数内には特定の実装はなく、コメントを通じて関数が実行する必要があることを記述するだけです。 上記のコードをコンパイルして実行すると、コンソールに次の結果が出力されます。 世界で最も高い山はエベレストです。ヒマラヤ山脈の主峰であり、標高8,848.86メートルで世界最高峰でもあります。すごいと思いませんか? 次に、getHighestMountain関数の秘密を明らかにします。 getHighestMountain 非同期関数内で何が起こっているかを理解するために、コンパイルされた JS コードを見てみましょう。 上記のコードからわかるように、@jumploops/magic ライブラリの fetchCompletion 関数は getHighestMountain 関数内で呼び出されます。 この関数のパラメータから、前の TS 関数の関数注釈がわかります。さらに、スキーマ属性を含むオブジェクトも確認できます。このプロパティの値は、Mountain インターフェイスに対応する JSON スキーマ オブジェクトです。 次に、@jumploops/magic ライブラリの fetchCompletion 関数の分析に焦点を当てます。この関数は fetchCompletion.ts ファイルで定義されており、内部処理フローは次の 3 つのステップに分かれています。
Prompt では、AI の役割を設定し、有効な JSON 形式を返すようにガイドするための例をいくつか用意しました。 Chat Completions API を呼び出して応答結果を取得し、openai ライブラリによって提供される createChatCompletion API を直接使用します。 応答結果を解析した後、validateAPIResponse 関数が呼び出され、応答オブジェクトが検証されます。この機能の実装も比較的簡単です。 ajv ライブラリは、JSON スキーマに基づくオブジェクト検証を実装するために内部的に使用されます。 次に、TS コードを fetchCompletion 関数を呼び出す JS コードにコンパイルする方法を分析します。 ttypescript ライブラリは @jumploops/magic によって内部的に使用され、tsconfig.json ファイルでカスタム トランスフォーマーを構成できるようになります。 トランスフォーマー内には、TypeScript によって提供される API があり、これを使用して AST を解析および操作し、目的のコードを生成します。トランスフォーマー内部の主な処理フローも、次の 3 つのステップに分けられます。
この記事では、TypeScript コンパイラによって生成された AST オブジェクトを解析および操作する方法については重点的に扱いません。興味があれば、@jumploops/magic プロジェクトの transformer.ts ファイルを読んでみてください。 AI機能を自分で体験したい場合は、この記事の例にあるpackage.jsonとtsconfig.jsonの設定を参考にしてください。 パッケージ.json tsconfig.json ファイル
チャット完了 API は必ずしも期待される形式で有効な JSON オブジェクトを返すとは限らないため、実際には適切な例外処理ロジックを追加する必要があることに注意してください。 現在、@jumploops/magic ライブラリは簡単な例のみを提供し、関数パラメータの設定はサポートしていません。この部分については、Marvin ライブラリの AI 関数に関するドキュメントを読むことができます。 大規模言語モデルが要件に応じて制御可能な方法で構造化データを出力できる場合。そうすれば、私たちにできることはたくさんあります。 現在、多くのローコード プラットフォームや RPA (ロボティック プロセス オートメーション) プラットフォームは、対応する JSON スキーマ オブジェクトを取得できます。 @jumploops/magic のソリューションを使用すると、ローコード プラットフォームや RPA プラットフォームをよりスマートにすることができます。たとえば、フォーム ページをすばやく作成したり、さまざまなタスクを自然言語で公開したりできます。 最後に、@jumploops/magic ライブラリの背後にある作業をまとめましょう。このライブラリは、TypeScript トランスフォーマーを使用して関数の戻り値の型を取得し、その型を JSON スキーマ オブジェクトに変換してから、ソース コード関数の本体を // @magic アノテーション付き関数に置き換え、チャット完了 API を呼び出して、応答を JSON スキーマに対して検証します。 本日の記事はこれで終わりです。お役に立てれば幸いです。 |
<<: バンク・オブ・アメリカのアナリスト:チャットボットの中ではChatGPTが最大の優位性を持っており、ユーザーの半数以上が有料サービスにお金を支払うだろう
>>: 誰でも簡単にウェブサイトを構築できる 5 つの AI ウェブサイトビルダー
AI は、自動運転車、より優れたルートマッピング、より正確な予測を通じて、輸送と物流をよりスマートか...
適切なコメントは、Python プロジェクトを成功させる上で非常に重要です。実際には、コメントを書く...
伝統的な教育方法は、過去 1 世紀か 2 世紀の間にあまり変わっていません。通常、生徒は教室で教師の...
5Gネットワークの発展と人工知能アプリケーションの人気の高まりにより、スマート無人書店の出現は、...
ネットワークは常に企業の神経系であり、ビジネス プロセスとトランザクションはネットワークを通じてのみ...
ミシュランの星付き料理を作るときと同じように、整理整頓されたキッチンを持つことは重要ですが、選択肢が...
Gemini の推論能力は本当に GPT-4 よりも弱いのでしょうか?以前、Google の大ヒット...
人工知能 (AI) 技術の人気が高まるにつれ、さまざまなアルゴリズムがこの分野の発展を促進する上で重...
人工知能(AI)は、人間の知能をシミュレート、拡張、拡大するための理論、方法、技術、アプリケーション...
偽造品、アルゴリズムの偏り、その他の問題が私たちの日常生活に及ぼす影響[[323166]]過去数年間...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...