跳到主要内容

Cohere

@dsh-ai-providers/cohere 是 Firefox2100 在本项目中维护的 Cohere 原生提供方。它直接使用 Cohere 的 v2 API,涵盖语言模型、嵌入和重排。它不是 DSH 或 Cohere 官方软件包。

支持能力​

能力原生端点
语言模型POST /v2/chat(服务器发送事件)
模型发现GET /v1/models?endpoint=chat
嵌入POST /v2/embed
重排POST /v2/rerank

本插件不涉及 Cohere 的 TTS、STT 或图像生成,因此不会注册这些服务。嵌入和重排的传输层来自共用的 @dsh-ai-providers/jina-cohere 库,Jina 提供方也使用它;两个提供方之间没有依赖。

配置连接​

打开 设置 > 提供方 > Cohere 连接。默认连接为:

DSH 设置中的 Cohere 连接与凭据引用

设置默认值
基础 URLhttps://api.cohere.com/v2
凭据引用COHERE_API_KEY
流静默上限5 分钟
嵌入与重排超时1 分钟

基础 URL 需包含版本。密钥通过 DSH 凭据服务保存,不会写入配置档案,并以 Authorization: Bearer 发送。模型发现读取与版本化 API 并列的 /v1/models。

语言模型​

创建路由,选择连接,并添加 Cohere 模型名称,例如 command-a-03-2025。点击 列出账户可用的模型 会添加模型,并带上 Cohere 报告的上下文长度,以及其声明的视觉支持。

提供方支持系统提示、文本与图像内容(图像以 data URL 发送,请使用支持视觉的模型)、工具声明与结果、流式文本、思考和工具调用,以及包含缓存读取的 token 用量。助手在调用工具前说的话是 Cohere 的 tool_plan:它以文本流式输出,并在回传历史时放回该字段。工具选择按 DSH 的要求工作:required 对应 tool_choice: REQUIRED,指定某个工具时同样用 REQUIRED 并只提供该工具,none 则不提供任何工具。

采样设置在同一个对象里,既有通用字段,也有 Cohere 自己的字段。缺省表示使用服务器默认值。

字段请求字段说明
temperature、seed、frequencyPenalty、presencePenalty同名惩罚范围为 0 到 1
topP、topKp、k
maxTokens、stopmax_tokens、stop_sequences停止字符串最多 5 个
minP、repetitionPenalty无Cohere 没有对应控制项,会被忽略
thinking、thinkingBudgetthinking.type、thinking.token_budget适用于会思考的模型
safetyModesafety_modeCONTEXTUAL、STRICT 或 OFF
strictToolsstrict_tools严格遵循工具模式
citationModecitation_options.mode
responseFormatresponse_format例如 { "type": "json_object", "json_schema": {...} }
prioritypriority
body顶层API 接受的其他任何字段,例如 documents

推理等级是请求片段,例如 { "thinking": { "type": "enabled", "token_budget": 4000 } },优先于带类型的字段。

嵌入与重排​

在 嵌入 或 重排序 标签中选择 Cohere。嵌入默认使用 embed-v4.0,每批 96 条(Cohere 的上限);使用方选择的查询或文档会作为 search_query 或 search_document 发送,未作选择的文本按文档发送。向量维度 适用于 embed-v4 及更新版本。重排默认使用 rerank-v3.5,可选限制每篇文档读取的 token 数(max_tokens_per_doc)。Cohere 的 v2 重排没有 return_documents,因此不会发送。

使用方可以通过两个请求选项逐次调整。maxTokensPerDoc 覆盖配置的限制(Cohere 自身默认为 4096)。queuePriority 作为 Cohere 的 priority 发送,数字越小越先处理;它与并发闸门使用的前台/后台优先级无关。较新的重排模型可返回 relevant_spans,这里没有提供,因为结果契约中每篇文档只有序号和分数。

错误与取消​

HTTP 和流式失败会映射为 DSH 语言模型的失败类别:认证、限流、付费或用量上限、无效请求、上下文溢出(包括 Cohere 的 “too many tokens” 回答)、服务器故障、超时和取消。以 ERROR 或 TIMEOUT 结束的消息会按对应类别抛出。