優れたソフトウェアと実用的なチュートリアル
AspNetCore または WPF を使用してパーソナル AI アシスタントを構築し、手作りの ChatGPT クライアントを作成します。
チャットポイントクライアント 最近、chatgptは非常に人気が高まっています。誰もがchatgptを使用していますが、chatgptを使いこなすには一定のハードルがあります。そこで、新規ユーザー向けにWPFとAspNetCoreベースのWebAPIプログラムが特別に作成されました。 チャットGPTクライアント 、chatgpt モデルにすばやくアクセスして、クライアントを通じてダイアログを生成します。AIアシスタントスタンドアロンのチャットGPTクライアント。
ChatGPTクライアントの構築
まず、最初のクライアント例を作成するために新しい WPF プロジェクトを作成します。
プロジェクトフレームワークとして.NET6を選択しました。.NET CORE2.2以上を選択することをお勧めします。そうでないとChatGPTライブラリの参照に失敗します。
図に示すように、以下の2つのパッケージを参照してください。1つ目は依存性注入のコアコンポーネントを提供するために使用し、2つ目はOpenAIへの迅速なアクセスのために事前に作成した汎用クライアントライブラリです。
WPFプロジェクトに少し調整を加えます。まずApp.Xamlでスタートアップ項目を削除します。
App.xaml.cs に以下の関数コードを追加します。標準ライブラリのメソッド実装では依存性注入が使用されているため、ここではポイントを示すために単純な登録メソッドを使用しています。他の IOC コンテナは使用していません。最もシンプルな方法が最適です。
2つのコア登録オプション: HttpClient、IOpenAiServices インターフェースと実装
2つの入力ボックスとボタンを作成し、それぞれに「受信」と「送信」など、区別しやすい名前を付けます。これらの細かい設定は気にせず、ご自身でカスタマイズできます。
提供されるクライアントアクセスインターフェースは非同期であるため、非同期で呼び出すことをお勧めします。図に示すように、ボタンイベント内に実装してください。その他の注意事項については、図内のテキスト説明を直接参照してください。
プログラムを実行し、Hello World を書くなどの簡単なテストを行ってください。回答として、Hello World の C プログラムコードが提供されました。アクセスに問題はなさそうです。ビンゴ!
次に、aspnetcore ベースの WebAPI クライアントを作ってみましょう。新しい WebAPI プロジェクトを作成します。
ここでも.NET 6フレームワークのバージョンを選択します。.NET CORE 2.2以降であれば、どのバージョンでも構いません。
上記と同じ引用を追加する
登録を追加します。
IOpenAiServices サービスを注入します。簡単にするために、デフォルトのコントローラーに直接注入します。
デフォルトの方法を変更して画像を確認します。
プログラムを起動して確認してみましょう。例えば、Vueフロントエンドのログインコードを書いてみましょう。
大体の内容は分かりますが、戻り値を文字列として直接見るのは少し難しいですね。たまたま上のWPFに入力ボックスがあるので、それを投げて効果を確認してみましょう。
起動して結果を確認してみました。問題なさそうです。基本的にすべての機能がカバーされています。自分でやるよりずっと早いですね。
WPFクライアントが開いているので、WPFフロントエンドコードについても確認し、MVVMモードを使ってレイアウトを確認します。XAMLコードとViewModelコードを含め、ほぼ適切に記述されているようです。
webapiプロジェクトに戻ります。CallGPT3のパラメータは以下のとおりです。メッセージパラメータもカスタマイズして、独自のチューニングを行うことができます。
例えば、内蔵キーの有効期限が切れているか、お金がありません。、アクセスするために自分のキーを渡したい:
1枚取って、リクエストダイアログの内容と自分のキーを入力して1枚取ってください。内容を確認して返送し、ご自身で画像をご覧ください〜
この時点で、自作の AI アシスタント chatgpt クライアントが完成しました。
上記のコードを元に二次創作を行うことが出来ます。
Chatgptクライアントのダウンロード:https://www.mediafire.com/file/670l9xrryetbs9e/ChatClient.zip/file
元のリンク:https://www.cnblogs.com/weskynet/p/16990125.html