「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

    機械学習

    govGPT チャットボットによる市民体験の向上

    この記事では、現在の市民体験に関連するいくつかの問題について議論し、LLMベースのチャットボットがその不備を解決できるこ...

    データサイエンス

    「Microsoft AIが意図せずに秘密の情報を公開し、3年間にわたって38TBの機密データへのアクセス権を提供しました」

    「過剰供給されたSASトークンが、約3年間にわたってGitHub上で38TBもの大量の個人データを公開していた物語」

    データサイエンス

    「AIアシスタントと共に気候変動に備える」

    この記事では、優れたProbable Futures APIと新しいOpenAI Assistants APIからの気候変動データを使用して、対話型AIエージェ...

    人工知能

    「Midjourneyを使ってYouTubeのサムネイルを作る方法(販売可能なもの)」

    無料でMidjourneyを使って、高品質なYouTubeのサムネイル(オンラインで販売可能)を作成することができます

    機械学習

    統合と自動化の簡素化:Boomi CTOが開発者と共有するビジョン

    アイと自動化を活用した民主化された統合プラットフォームは、複雑なタスクを単純化し、持続的な進化を推進します