跳到主要内容

Cohere

备注

これはコミュニティ版 Cohere チャットモデル統合のドキュメントです。

Cohere の V2 Chat API に基づいて実装されています。

Maven依存関係

1.0.0-alpha1 以降:

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-cohere</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>

チャットモデルのサポート

次のコードで CohereChatModel をインスタンス化できます:

ChatModel model = CohereChatModel.builder()
.apiKey(System.getenv("CO_API_KEY"))
.modelName("command-r7b-12-2024")
.logRequests(true)
.logResponses(true)
.build();

ストリーミングレスポンスには CohereStreamingChatModel を使用します:

StreamingChatModel streamingModel = CohereStreamingChatModel.builder()
.apiKey(System.getenv("CO_API_KEY"))
.modelName("command-r7b-12-2024")
.logRequests(true)
.logResponses(true)
.build();

設定可能なパラメータ

CohereChatModelCohereStreamingChatModel は次のパラメータを受け付けます:

プロパティ説明デフォルト値
baseUrlCohere API への接続 URL。https://api.cohere.com/v2/
apiKeyAPI キー。
modelName使用するモデル。例:command-r7b-12-2024 または command-r-plus
timeoutリクエストの HTTP クライアントタイムアウト。
maxRetriesリクエストごとの最大リトライ回数。CohereChatModel でのみ利用可能。3
temperatureサンプリング温度。
topPNucleus sampling のしきい値。
topK各ステップで最も可能性の高い topK 個のトークンにサンプリングを制限します。
frequencyPenalty出現頻度に基づくトークンへのペナルティ。
presencePenalty少なくとも 1 回出現したトークンへのペナルティ。
maxTokensこのリクエストで返される最大トークン数。
stopSequencesモデルがそれ以上のテキスト生成を停止するシーケンス。
toolSpecificationsモデルが呼び出せるツール(関数)定義。
toolChoiceモデルのツール選択方法を制御する ToolChoice。可能な値:AUTOREQUIRED
responseFormatレスポンス形式。例:TEXT または JSON
thinkingType推論対応モデル向けの拡張思考を有効/無効にする CohereThinkingType
thinkingTokenBudgetモデルが内部思考に使える最大トークン数。
safetyModeプロンプトに挿入される CohereSafetyMode。可能な値:CONTEXTUALSTRICTOFF
priorityCohere API が高負荷のときのリクエスト優先度。
seed設定すると、モデルは決定論的にトークンをサンプリングします。
logprobsレスポンスにトークンの対数確率を含めるかどうか。
strictToolsツール定義への厳格な準拠を強制するかどうか。
defaultRequestParametersすべてのリクエストに適用されるデフォルトの ChatRequestParameters
listenersリクエスト、レスポンス、エラーを監視するリスナー。
logRequestsリクエストをログ出力するかどうか。false
logResponsesレスポンスをログ出力するかどうか。false

レスポンスメタデータ

Cohere 固有のレスポンスメタデータにアクセスできます:

ChatResponse response = model.chat(UserMessage.from("Hello"));
CohereChatResponseMetadata metadata = (CohereChatResponseMetadata) response.metadata();

List<CohereLogprobs> logprobs = metadata.logprobs();
CohereBilledUnits billedUnits = metadata.billedUnits();
Integer cachedTokens = metadata.cachedTokens();
プロパティ説明
logprobs生成トークンの対数確率。logprobs が有効なときに返されます。
billedUnitsリクエストの課金内訳(入力トークン、出力トークン、検索ユニット、分類)。
cachedTokensCohere のプロンプトキャッシュから提供されたトークン数。