Skip to content
LangChain4j 文档版本 1.22.0 源快照 9abc840c 更新于 2026-10-14

Cohere

NOTE

这是社区版 Cohere 聊天模型集成的文档。

它基于 Cohere 的 V2 Chat API 实现。

Maven 依赖

1.0.0-alpha1 及更高版本:

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

或者,你可以使用 BOM 来统一管理依赖:

xml
<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:

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

对于流式响应,请使用 CohereStreamingChatModel:

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

可配置参数

CohereChatModel 与 CohereStreamingChatModel 接受以下参数:

属性描述默认值
baseUrl连接 Cohere API 的 URL。https://api.cohere.com/v2/
apiKeyAPI 密钥。
modelName所使用的模型,例如 command-r7b-12-2024 或 command-r-plus。
timeout请求的 HTTP 客户端超时。
maxRetries每个请求的最大重试次数。仅在 CohereChatModel 上可用。3
temperature采样温度。
topP核采样(nucleus sampling)阈值。
topK将每一步的采样限制为最可能的 topK 个词元。
frequencyPenalty依据词元出现的频繁程度对其施加惩罚。
presencePenalty对至少出现过一次的词元施加惩罚。
maxTokens本请求返回的最大词元数。
stopSequences一旦生成即标记模型停止进一步生成文本的序列。
toolSpecifications模型可调用的工具(函数)定义。
toolChoice一个控制模型如何选择工具的 ToolChoice。可选值:AUTO、REQUIRED。
responseFormat响应格式,例如 TEXT 或 JSON。
thinkingType一个 CohereThinkingType,为具备推理能力的模型启用或禁用扩展思考。
thinkingTokenBudget模型在内部思考上可花费的最大词元数。
safetyMode一个插入到提示词中的 CohereSafetyMode。可选值:CONTEXTUAL、STRICT、OFF。
priority当 Cohere API 处于负载下时的请求优先级。
seed若设置,模型将以确定性方式采样词元。
logprobs是否在响应中包含词元的对数概率。
strictTools是否强制严格遵守工具定义。
defaultRequestParameters应用于每个请求的默认 ChatRequestParameters。
listeners监听请求、响应与错误的监听器。
logRequests是否记录请求。false
logResponses是否记录响应。false

响应元数据

你可以访问 Cohere 特有的响应元数据:

java
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请求的计费明细(输入词元、输出词元、搜索单元、分类)。
cachedTokens由 Cohere 提示词缓存命中的词元数。

示例

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。