「C# で GPT(一般目的テンプレート)を拡張しましょう」

「C#でGPT(一般的な目的のテンプレート)の機能を拡張しよう」

数週間前、OpenAIはGPTをリリースしました。GPTは基本的にはOpenAIがホストするカスタムChatGPTチャットボットです。その最も重要な機能は、APIを使用してGPTを拡張する能力です。Magicの最も重要な機能は、簡単にAPIを作成できることです。

したがって、MagicとGPTは完璧な組み合わせとなり、数日前に当社が公開した記事で既に示されているように、数秒でLow-Code CRUDベースのGPTを作成する方法を実証しています。

CRUDはデータベースを扱う際に非常に重要です。ただし、時折、完全にユニークなコードでGPTを拡張するためのカスタム機能が必要になることがあります。この記事では、それを実現する方法を示します。

コード

まず、いくつかのC#コードが必要です。 "modules" フォルダ内に "cs-demo" という名前の新しいフォルダを作成し、その中に "slot.cs" という名前のファイルを作成します。次のコードをファイルに入力します。

入力が完了したら、Hyper IDEは次のようになります(この記事の後半で詳細を説明する "get-employee-details.get.hl" ファイルは含まれていません)。

C#コードの説明

上記のコードは "[get-employee-details]" というスロットを宣言しています。これは1つのパラメータである名前を受け取り、引数の値に応じてTage、Thomas、またはAriaのデータを返します。上記のコードをコンパイルした後は、Hyperlambda Playgroundで以下を使用してHyperlambdaから呼び出すことができます。

Hyperlambdaの重要な機能の1つは、スロットからグラフオブジェクトを受け渡し、返すことができる点です。上記のC#コードは、呼び出しの唯一のパラメータとして名前が渡されることを前提としており、C#コードの子ノードとして3つの新しいノードを返します。上記のコードをHyperlambda Playgroundで実行した後、次の結果が得られます。

注意してください、C#コード内の GetEx<string>() 呼び出しは、コード内のラムダ式を評価できるようにします。

APIエンドポイントの作成

ただし、使用する前にコードをコンパイルし、HTTPエンドポイントにラッピングする必要があります。Magicの1つの機能は、ほぼC#をスクリプト言語として使用できることであり、コードを動的にコンパイルし、通常のようにJavaScriptやPythonなどのスクリプト言語を使用する場合とほぼ同じ方法で実行することができます。

この機能により、コンパイルプロセスをHyperlambdaエンドポイント内に単純にラップし、コードを動的にコンパイルして実行し、その実行結果を返すことができます。まず、cs-demoフォルダ内にget-employee-details.get.hlという新しいファイルを作成し、ファイルに以下の内容を入力します。

以下のビデオでは、コードを再コンパイルすることなく動作を保つために、インテリジェントなキャッシュを適用していますが、コードが理解しやすいようにこれらの部分を省略しました。ただし、上記のコードでは、私たちは基本的に完了しており、すでにAPIエンドポイントをGPTに接続できます。MagicのManager/Endpointsコンポーネントを使用して、以下に示すようにエンドポイントを実行します。

エンドポイントを検索するためにemployeeでフィルタリングし、thomasを名前パラメータとして追加してください。

Hyperlambdaコードの説明

上記のHyperlambdaコードは、C#ファイルをロードし、コードをコンパイルしてbyte[]を生成し、それをアセンブリとして動的に読み込み、アセンブリをAppDomainに注入します。これにより、C#コードを手動で再コンパイルせずに変更でき、新しいコードは動的にコンパイルされ、変更が即座に反映されます。

まさに、MagicとHyperlambdaを使えば、C#をスクリプト言語のように扱うことができます。[こちら](https://www.voagi.com/this-ai-paper-introduces-lemur-and-lemur-chat-for-harmonizing-natural-language-and-code-for-language.html) のリンクを参照してください。

実際のアプリケーションでは、C#コードを毎回再コンパイルすることは避けた方が良いです。このページの下部にあるビデオで、それに関連するテクニックを紹介していますが、上記の例ではコードをわかりやすくするために避けています。

エンドポイントをGPTに接続する

この段階では、APIエンドポイントをカスタムGPTに接続する必要があります。[こちら](https://www.voagi.com/build-a-lowcode-gpt-ai-app-in-5-minutes.html) のリンクを参照して、Magicのエンドポイントコンポーネントでopenapiをフィルタリングすることを確認してください。以下のようなエンドポイントが表示されるはずです。

上記の手順を完了したら、エンドポイントのJSONをコピーするか、エンドポイントコンポーネントのコピーボタンを使用してエンドポイントのURLをコピーします。この時点で、このOpenAPI仕様をGPTのAction としてOpenAIに提供するだけで完了です。

GPTのテスト

この時点で基本的に完了し、すでにGPTのテストを開始することができます。次のような質問を投げかけることができます。

  • テージの電話番号は何ですか?
  • トーマスは従業員です。私の get employee アクションを使用して彼の情報を調べてください。
  • アリアのメールアドレスは何ですか?
  • その他…

以下に、GPTを利用する例を示します。

上記の例では、GPTが正しく “テージ” をAPIエンドポイントに渡しており、再びテージのメールアドレスを返し、そのメールアドレスをあなたとの対話で使用しています。この時点で、例えば、Send emailエンドポイントを作成してChatGPTがメールの作成と送信をサポートすることもできますが、それは別の日の課題です。今は以下のカスタムGPTを使って遊んでみることができます。

  • [こちら](https://www.voagi.com/2023-guide-traintestvalidation-split.html) のリンクから私の拡張C# GPTをテストしてみてください。

以下のビデオで、私が手順全体を説明しています。ご覧ください。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「シフトのCEOであるクリス・ナーゲル – インタビューシリーズ」

クリスはSiftの最高経営責任者です彼は、Ping Identityを含むベンチャー支援および公開SaaS企業のシニアリーダーシップポジシ...

人工知能

「Ntropyの共同創設者兼CEO、ナレ・ヴァルダニアンについて - インタビューシリーズ」

「Ntropyの共同創設者兼CEOであるナレ・ヴァルダニアンは、超人的な精度で100ミリ秒以下で金融取引を解析することを可能にす...

データサイエンス

「3つの質問:ロボットの認識とマッピングの研磨」

MIT LIDSのLuca CarloneさんとJonathan Howさんは、将来のロボットが環境をどのように知覚し、相互作用するかについて議論し...

AIテクノロジー

「LXTのテクノロジーバイスプレジデント、アムル・ヌール・エルディン - インタビューシリーズ」

アムル・ヌール・エルディンは、LXTのテクノロジー担当副社長ですアムルは、自動音声認識(ASR)の文脈での音声/音響処理と機...

人工知能

「リオール・ハキム、Hour Oneの共同創設者兼CTO - インタビューシリーズ」

「Hour Oneの共同創設者兼最高技術責任者であるリオール・ハキムは、専門的なビデオコミュニケーションのためのバーチャルヒ...

データサイエンス

2023年にAmazonのデータサイエンティストになる方法は?

ほとんどのビジネスは現在、膨大な量のデータを生成し、編集し、管理しています。しかし、ほとんどのビジネスは、収集したデ...