跳到主要内容

モデルパラメータ

選択するモデルとプロバイダーによって、以下を定義する多数のパラメータを調整できます:

  • モデルの出力:生成されるコンテンツ(テキスト、画像)の創造性または決定論的なレベル、 生成されるコンテンツの量など。
  • 接続性:ベースURL、認証キー、タイムアウト、リトライ、ロギングなど。

通常、すべてのパラメータとその意味はモデルプロバイダーのウェブサイトで確認できます。 例えば、OpenAI APIのパラメータは https://platform.openai.com/docs/api-reference/chat (最新バージョン)で確認でき、以下のようなオプションが含まれています:

パラメータ説明
modelName使用するモデルの名前(例:gpt-4o、gpt-4o-miniなど)String
temperature使用するサンプリング温度(0〜2の間)。0.8のような高い値は出力をよりランダムにし、0.2のような低い値はより焦点を絞った決定論的な出力にします。Double
maxTokensチャット補完で生成できるトークンの最大数。Integer
frequencyPenalty-2.0から2.0の間の数値。正の値は、これまでのテキストでの既存の頻度に基づいて新しいトークンにペナルティを与え、モデルが同じ行を逐語的に繰り返す可能性を減少させます。Double
.........

OpenAI LLMのパラメータの完全なリストは、OpenAI言語モデルページを参照してください。 モデルごとのパラメータと既定値の完全なリストは、個別のモデルページ (統合、言語モデル、画像モデルの下)で確認できます。

*Modelを作成するには2つの方法があります:

  • APIキーなどの必須パラメータのみを受け入れる静的ファクトリで、 他のすべての必須パラメータは適切なデフォルト値に設定されます。
  • ビルダーパターン:ここでは、各パラメータの値を指定できます。

モデルビルダー

ビルダーパターンを使用して、モデルの利用可能なすべてのパラメータを次のように設定できます:

OpenAiChatModel model = OpenAiChatModel.builder()
.apiKey(System.getenv("OPENAI_API_KEY"))
.modelName("gpt-4o-mini")
.temperature(0.3)
.timeout(ofSeconds(60))
.logRequests(true)
.logResponses(true)
.build();

Quarkusでのパラメータ設定

Quarkusアプリケーションでのlangchain4jパラメータは、application.propertiesファイルで次のように設定できます:

quarkus.langchain4j.openai.api-key=${OPENAI_API_KEY}
quarkus.langchain4j.openai.chat-model.temperature=0.5
quarkus.langchain4j.openai.timeout=60s

興味深いことに、デバッグ、調整、あるいは利用可能なすべてのパラメータを知るためには、 quarkus DEV UIを見ることができます。 このダッシュボードでは、実行中のインスタンスにすぐに反映される変更を行うことができ、 変更は自動的にコードに移植されます。 DEV UIは、quarkus devコマンドでQuarkusアプリケーションを実行することでアクセスでき、 localhost:8080/q/dev-ui(またはアプリケーションをデプロイする場所)で見つけることができます。

Quarkus統合の詳細についてはこちらを参照してください。

Spring Bootでのパラメータ設定

Spring Bootスターターのいずれかを使用している場合、 application.propertiesファイルでモデルパラメータを次のように設定できます:

langchain4j.open-ai.chat-model.api-key=${OPENAI_API_KEY}
langchain4j.open-ai.chat-model.model-name=gpt-4-1106-preview
...

サポートされているプロパティの完全なリストは こちらで確認できます。

Spring Boot統合の詳細についてはこちらを参照してください。