この記事の目的
LLMを使ったプログラムを書くためのフレームワークとして、LlamaIndexやLangChainなどPythonのものがよく使われています。また、Javaで使えるフレームワークも存在しLangChain4jがあります。
この記事ではLangChain4jの「AI Services」という機能をご紹介します。
この記事の内容は下記チュートリアルを参考にしています。

AI Services | LangChain4j
So far, we have been covering low-level components like ChatLanguageModel, ChatMessage, ChatMemory, etc.
[広告]関連書籍
リンク
リンク
最も単純なAIサービス
与えた日本語の英語訳を10個提示するAIサービスのプログラムを書いてみます。
以下のサンプルコードでは、バージョン1.0.0-beta1(2025/02/10リリース)のLangChain4jを使用しました。
サンプルコード

AI Services | LangChain4j
So far, we have been covering low-level components like ChatLanguageModel, ChatMessage, ChatMemory, etc.
上記ページの説明に従い、TranslatorインターフェースのAIサービスを作成してみます。
OpenAIのAPIを使うには、無料枠を使用する or クレジットカード情報を登録して課金する必要があります。筆者の無料枠は期限切れで使えなかったので、少し課金しました。
実行結果
単純にChatGPTで「オブジェクト指向のコツ」について聞いたときのような回答が返ってきました。
translateメソッドのあるTranslatorインターフェースを定義したことで、入力文を翻訳してくれることを期待していましたがそう動いてはくれないようです。
LLMに指示を与えたAIサービス
サンプルコード1

AI Services | LangChain4j
So far, we have been covering low-level components like ChatLanguageModel, ChatMessage, ChatMemory, etc.
上記ページの説明に従い、@SystemMessageを使ってLLMに指示を与えたAIサービスを作成します。追加したのは19行目です。
実行結果1
実行結果が変わりました。しかし「入力文を英語に訳す」+「入力文の例を10個挙げる」の2つの指示と解釈されてしまいました。日本語は難しいですね。
サンプルコード2
英語訳が10個欲しいことが分かるように指示を書き換えます。
実行結果2
やっとうまくいきました。
コメント