「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

    機械学習

    PyTorchを使った効率的な画像セグメンテーション:Part 2

    これは、PyTorchを使用してディープラーニング技術を使ってゼロから画像セグメンテーションをステップバイステップで実装する...

    人工知能

    ファッションにおけるGenAI | Segmind Stable Diffusion XL 1.0アプローチ

    イントロダクション ファッション業界も例外ではなく、消費者の変化する好みに合わせて革新の最前線に留まる方法を模索してき...

    AIニュース

    「私たちの10の最大のAIの瞬間」

    過去25年間の私たちのトップ10のAIの瞬間をまとめました

    AI研究

    日本からの新しいAI研究は、人間の表情の機械的特性を調査し、アンドロイドが感情をより効果的に認識する方法を理解することを目指しています

    人工知能が人間の感情を再現するにつれて、本物の人間の表情の機械的な複雑さを徹底的に調査することが浮かび上がりました。...

    データサイエンス

    ジェネラティブAIを通じた感情分析のマスタリング

    イントロダクション センチメント分析は、企業が顧客のフィードバックを理解し対応する方法を革新しました。顧客のセンチメン...

    機械学習

    『Qwen Large Language Models(LLMs)Seriesについて知っておくべきすべて』

    大型言語モデル(LLM)は、登場以来、人工知能(AI)の領域を大きく変えました。これらのモデルは、厳しい推論や問題解決の問...