「Java での AI:Spring Boot と LangChain を使用して ChatGPT のクローンを構築する」

「美とファッションの世界:華やかで活気に満ちた情報をご紹介!」

AIアプリ開発のための多くのライブラリは主にPythonまたはJavaScriptで記述されています。幸いなことに、これらのライブラリのいくつかにはJavaのAPIもあります。このチュートリアルでは、Spring Boot、LangChain、およびHillaを使用してChatGPTクローンを作成する方法を紹介します。

このチュートリアルでは、シンプルな同期チャット補完と、より高度なストリーミング補完について説明します。これにより、ユーザーエクスペリエンスが向上します。

完成したソースコード

この例のソースコードは、私のGitHubリポジトリで見つけることができます。

必要なもの

  • Java 17+
  • Node 18+
  • OPENAI_API_KEYの環境変数にOpenAIのAPIキーが設定されていること

Spring BootとReactプロジェクトの作成、LangChainの追加

まず、Hilla CLIを使用して新しいHillaプロジェクトを作成します。これにより、Spring BootプロジェクトとReactフロントエンドが作成されます。

生成されたプロジェクトをIDEで開きます。次に、pom.xmlファイルにLangChain4jの依存関係を追加します:

LangChainを使用したシンプルなOpenAIチャット補完(メモリ使用)

まず、LangChain4jを簡単な同期チャット補完で探ってみましょう。この場合、OpenAIのチャット補完APIを呼び出し、単一の応答を取得したいです。また、チャット履歴の最大1,000トークンを追跡したいです。

com.example.application.serviceパッケージに、次の内容のChatService.javaクラスを作成します:

  • @BrowserCallableは、このクラスをフロントエンドで利用できるようにします。
  • @AnonymousAllowedは、匿名ユーザーがメソッドを呼び出すことを許可します。
  • @Valueは、OPENAI_API_KEY環境変数からOpenAIのAPIキーを注入します。
  • Assistantは、チャットAPIを呼び出すために使用するインターフェースです。
  • init()は、1,000トークンのメモリとgpt-3.5-turboモデルでアシスタントを初期化します。
  • chat()は、フロントエンドから呼び出されるメソッドです。

IDEでApplication.javaを実行するか、デフォルトのMavenゴールでアプリケーションを起動します:<!–

  • Assistantは、Stringの代わりにTokenStreamを返すようになりました。
  • init()は、chatLanguageModel()の代わりにstreamingChatLanguageModel()を使用します。
  • chatStream()は、Stringの代わりにFlux<String>を返します。
  • 以下の内容でApp.tsxをアップデートしてください:

    テンプレートは以前と同じですが、レスポンスの処理方法が異なります。レスポンスの受信を待つのではなく、レスポンスのチャンクのリスニングを開始します。最初のチャンクが受信されたら、新しいメッセージとして追加します。後続のチャンクが受信されたら、前回のメッセージに追記します。

    アプリケーションを再実行すると、レスポンスが受信されると表示されることが確認できます。

    結論

    LangChainを使用すると、JavaとSpring BootでLLMパワードAIアプリケーションを簡単に構築できます。

    基本的なセットアップが完了すると、LangChain4jのGitHubページにある例に従って操作を連鎖させたり、外部ツールを追加したりすることで、機能を拡張することができます。Hillaの詳細については、Hillaのドキュメントをご覧ください。

    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ニュース

    Adobe Illustratorの「Generative Recolor」AIであなたの画像を変換しましょう

    デザインソフトウェアの有名企業Adobeは、デザイナーとマーケターを強化する発表をしました。Adobe Illustratorの最先端のAI...

    機械学習

    「ChatGPT Visionのすごい活用方法」

    「これらの新しい画像機能により、ChatGPTを利用する新しい方法の世界が広がります」

    人工知能

    サイバーセキュリティにおいてAIを活用して人間を補完する

    セキュリティを加速するためにAIを使用する利点がありますしかし、完全な自動化には人間の洞察力が必要です人間の創造力と機...

    機械学習

    大規模言語モデルの探索-パート2

    この記事は主に自己学習のために書かれていますそのため、幅広く深く進んでいます興味のあるセクションをスキップしたり、自...

    機械学習

    「FlexGenに会おう:GPUメモリが限られている場合に大規模な言語モデル(LLM)を実行するための高スループットな生成エンジン」

    大規模言語モデル(LLM)は最近、さまざまなタスクで印象的なパフォーマンスを発揮しています。生成型LLMの推論は以前にない...

    AIニュース

    「OpenAIがユーザーエクスペリエンスを革新するために6つのエキサイティングなChatGPT機能を発表」

    ChatGPTを開発した先進的な企業であるOpenAIは、6つのエキサイティングな新機能を追加し、ユーザーエクスペリエンスを向上さ...