「Spring Bootを使用して独自のChatGPTアプリケーションを作成する」

Creating a Custom ChatGPT Application Using Spring Boot

このブログでは、OpenAIのチャット補完APIを統合して使用し、独自のChatGPTバージョンを作成する方法について説明します。これには、クラシックなSpring Bootアプリケーションと、JavaのコアとOpenAIのチャット補完APIを使用します。

エンドユーザーからのクエリをrequestParamの形式で受け取り、処理して人が読めるテキスト形式で応答を返すRESTエンドポイントを公開します。

以下の手順に従って進めましょう:

前提条件

私たちはアプリでOpenAIのChatGPT補完APIを使用します。

このAPIのさまざまな重要なパラメータは以下の通りです:

model: リクエストを「gpt-3.5-turbo」に送信します

GPT-3.5-Turboとは?

GPT-3.5 Turboは非常に強力な人工知能による言語モデルです。プロンプトに基づいて人間のようなテキストを理解し生成できるため、さまざまなアプリケーションにとって貴重なツールです。モデルと会話を行い、詳細な応答を対話的に受け取ることができます。

Messagesこれはモデルに送信される実際のリクエストを表し、モデルがメッセージを解析し人が読める形式の応答を生成するためのものです。

これにはさらにいくつかのサブ属性が含まれています:

roleメッセージの送信者を指定します(リクエストでは’user’、応答では’assistant’となります)。

contentこれが実際のメッセージです

メッセージDTOは以下のようになります:

それでは、Spring Bootアプリとの統合を始めましょう。

基本的なSpring Bootアプリを作成します。これには、start.spring.ioにアクセスして以下の選択肢を使用します:Spring Webの依存関係のみ必要です。

Controllerレイヤー用のパッケージを作成し、以下のコードを追加します。

ChatRequestクラスを作成しましょう:

ここでは、application.propertiesに入れる以下のプロパティを使用します:

重要:OpenAI APIキーについての注意事項:

OpenAIでは、OpenAI APIを利用するための一意のAPIキーを生成することができます。これには、ここをクリックしてサインアップし、APIキーを作成する必要があります(以下のスナップショットに示すように、非常に簡単な手順です)。これを安全に保管し、コードベースにハードコードするなどして漏洩しないように注意してください。

“create new secret key”をクリックし、画面の指示に従ってください。これで独自のOpenAI APIキーが手に入ります。

次に、OpenAI APIのURLに対して呼び出しを行うためにRestTemplateを使用します。以下のようにインターセプターを追加しましょう:

このインターセプターはリクエストをインターセプトし、リクエストヘッダーにOpenAI APIキーを追加します。

以上です!メインクラスを使用してアプリケーションを実行し、APIを呼び出すことができます。

テスト

Postman(またはお気に入りのブラウザ、つまりChrome :P)にアクセスし、以下のURLにアクセスしてください。モデルに質問したいクエリを渡します。その正確さに驚くでしょう。(リクエストパラメータにクエリを渡すことを忘れないでください)。

例1

http://localhost:8080/chat?prompt=what are some good Spring Boot libraries

例2

モデルGPT 3.5 Turboは非常に現実的な応答を示すことができるほど進化しています。(膨大な量のテキストデータで訓練されたおかげです)。

注:OpenAI API curlへの実際の呼び出しは次のようになります:

注意点

アプリケーションを開発する際には、以下の一般的な問題が発生することがあります。以下の内容を読んで、そのようなシナリオに直面した場合は試してみてください:

  1. 引数なしのコンストラクタを作成し、以下のプロパティに対してゲッターとセッターを提供することを確認してください:

  2. OpenAIは基本的なクオータを提供しています。現在のメールアドレスのクオータが使い果たされたため、新しいメールアドレスを使用しました。

  3. しばらくしてからAPIを呼び出してみてください。(セキュリティのため、動作するウィンドウは30分です)。

結論

この短い記事では、OpenAIのGPT 3.5 Turboモデルについて学びました。重要なパラメータとチャット補完APIについて説明しました。また、OpenAI APIキーの重要性とAPIの制限を受ける順序で使用する方法についても説明しました。

さらに、古典的なSpring BootアプリケーションをOpenAIのチャット補完APIと簡単に統合する方法、エンドポイントへの実際の呼び出しを行い、レスポンスを検証する方法についても説明しました。

注意点

OpenAIのAPIは規制されたリソースです。APIへの呼び出し回数には制限があり、こちらで追跡することができます。

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

機械学習

オペレーションの頭脳:人工知能とデジタルツインで手術の未来を地図化するアトラスメディテック

アスリートが試合のためにトレーニングし、俳優が公演のためにリハーサルするように、外科医も手術の前に準備をします。 今、...

人工知能

開発者の皆さんへ:ダイアグラムはそんなに複雑である必要はありません

「図表は有用な情報を含んでいるだけでなく、読みやすいものでなければなりませんそして、作成するのも簡単で、楽しいことが...

AIニュース

オープンAIのファンクションコーリング入門

Forbesによると、AI市場は2030年までに$1,811.8 billionに到達すると予想されています。Davinci、GPT Turbo、GPT Turbo 3.5、...

データサイエンス

マシンラーニングにおける線形回帰の幾何学的解釈と古典統計学との比較

上記の画像は、最小二乗法(OLS)または線形回帰(古典統計学では同義的に使用される言葉)の幾何学的解釈を示しています見て...

データサイエンス

スタンフォードの研究者たちは、基礎流体力学のための初の大規模な機械学習データセットであるBLASTNetを紹介しました

スタンフォードの研究者たちは、BLASTNetという画期的な開発を紹介し、計算流体力学(CFD)の新たな時代の到来を予感させまし...

AIニュース

「GoogleのMed-PaLM 2は最も先進的な医療AIとなる予定」

Google(グーグル)は世界をリードするテクノロジー企業の一つであり、最新の人工知能(AI)プログラムにより、医療分野に大...