跳到主要内容

DashScope (Qwen)

DashScopeAlibaba Cloudによって開発されたプラットフォームです。 特に本番環境でAI/MLモデルを扱う際に、モデルの可視化、監視、デバッグのためのインターフェースを提供します。 このプラットフォームを使用すると、パフォーマンスメトリクスの可視化、モデルの動作の追跡、 デプロイサイクルの早い段階で潜在的な問題を特定することができます。

QwenモデルはAlibaba Cloudによって開発された 一連の生成AIモデルです。Qwenファミリーのモデルは、テキスト生成、要約、質問応答、 さまざまなNLPタスクなどのタスク向けに特別に設計されています。

詳細についてはDashScopeドキュメント を参照してください。LangChain4jはDashScope Java SDK を使用してDashScopeと統合しています。

Maven依存関係

プレーンJavaまたはSpring Bootアプリケーションでは、LangChain4jでDashScopeを使用できます。

プレーンJava

备注

1.0.0-alpha1以降、langchain4j-dashscopelangchain4j-communityに移行し、 langchain4j-community-dashscopeに名前が変更されました。

1.0.0-alpha1より前:


<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-dashscope</artifactId>
<version>${previous version here}</version>
</dependency>

1.0.0-alpha1以降:


<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-dashscope</artifactId>
<version>${latest version here}</version>
</dependency>

Spring Boot

备注

1.0.0-alpha1以降、langchain4j-dashscope-spring-boot-starterlangchain4j-communityに移行し、 langchain4j-community-dashscope-spring-boot-starterに名前が変更されました。

1.0.0-alpha1より前:


<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-dashscope-spring-boot-starter</artifactId>
<version>${previous version here}</version>
</dependency>

1.0.0-alpha1以降:


<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
<version>${latest version here}</version>
</dependency>

または、BOMを使用して依存関係を一貫して管理することもできます:


<dependencyManagement>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-bom</artifactId>
<version>${latest version here}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencyManagement>

設定可能なパラメータ

langchain4j-community-dashscopeには使用できる4つのモデルがあります:

  • QwenChatModel
  • QwenStreamingChatModel
  • QwenLanguageModel
  • QwenStreamingLanguageModel

langchain4j-dashscopeはテキスト生成画像モデルを提供します

  • WanxImageModel

QwenChatModel

QwenChatModelには初期化時に設定できる以下のパラメータがあります:

プロパティ説明デフォルト値
baseUrl接続先のURL。HTTPまたはWebSocketを使用してDashScopeに接続できますテキスト推論マルチモーダル
apiKeyAPIキー
modelName使用するモデルqwen-plus
topPカーネルサンプリングの確率閾値は、モデルによって生成されるテキストの多様性を制御します。top_pが高いほど、生成されるテキストの多様性が高くなり、その逆も同様です。値の範囲:(0, 1.0]。一般的には、これまたは温度のいずれかを変更することをお勧めしますが、両方は変更しないでください。
topK生成プロセス中にサンプリングされる候補セットのサイズ
enableSearchモデルがテキスト生成時にインターネット検索結果を参照するかどうか
seedseedパラメータを設定すると、テキスト生成プロセスがより決定論的になり、通常は結果の一貫性を保つために使用されます
repetitionPenaltyモデル生成中の連続シーケンスでの繰り返し。repetition_penaltyを増やすとモデル生成での繰り返しが減少し、1.0はペナルティなしを意味します。値の範囲:(0, +inf)
temperatureモデルによって生成されるテキストの多様性を制御するサンプリング温度。温度が高いほど、生成されるテキストの多様性が高くなり、その逆も同様です。値の範囲:[0, 2)
stopsstopパラメータを使用すると、モデルは指定された文字列またはtoken_idを含もうとしているときに自動的にテキスト生成を停止します
maxTokensこのリクエストによって返されるトークンの最大数
listenersリクエスト、レスポンス、エラーをリッスンするリスナー

QwenStreamingChatModel

QwenChatModelと同じです

QwenLanguageModel

QwenChatModelと同じですが、listenersは除きます。

QwenStreamingLanguageModel

QwenChatModelと同じですが、listenersは除きます。

プレーンJava

以下のコードを使用してQwenChatModelを初期化できます:

ChatModel qwenModel = QwenChatModel.builder()
.apiKey("あなたのAPIキーをここに")
.modelName("qwen-max")
.build();

または他のパラメータをより詳細にカスタマイズ:

ChatModel qwenModel = QwenChatModel.builder()
.apiKey("あなたのAPIキーをここに")
.modelName("qwen-max")
.enableSearch(true)
.temperature(0.7)
.maxTokens(4096)
.stops(List.of("Hello"))
.build();

テキストから画像を生成する方法:

WanxImageModel wanxImageModel = WanxImageModel.builder()
.modelName("wanx2.1-t2i-plus")
.apiKey("阿里云百炼apikey")
.build();
Response<Image> response = wanxImageModel.generate("美女");
System.out.println(response.content().url());

Spring Boot

langchain4j-community-dashscope-spring-boot-starter依存関係を導入した後、以下の設定を使用して簡単にQwenChatModelビーンを登録できます:

langchain4j.community.dashscope.chat-model.api-key=<あなたのAPIキーをここに>
langchain4j.community.dashscope.chat-model.model-name=qwen-max
# プロパティは`QwenChatModel`と同じです
# 例:
# langchain4j.community.dashscope.chat-model.temperature=0.7
# langchain4j.community.dashscope.chat-model.max-tokens=4096

その他の例

詳細はLangChain4j Communityで確認できます