Cohere 推理服务

编辑

创建一个推理端点,以使用 cohere 服务执行推理任务。

请求

编辑

PUT /_inference/<task_type>/<inference_id>

路径参数

编辑
<inference_id>
(必需,字符串)推理端点的唯一标识符。
<task_type>

(必需,字符串)模型将执行的推理任务类型。

可用的任务类型

  • completion,
  • rerank,
  • text_embedding.

请求正文

编辑
chunking_settings

(可选,对象)分块配置对象。有关分块的更多信息,请参阅配置分块

max_chunking_size
(可选,整数)指定一个块的最大字数。默认为 250。此值不能高于 300 或低于 20(对于 sentence 策略)或 10(对于 word 策略)。
overlap
(可选,整数)仅用于 word 分块策略。指定块的重叠字数。默认为 100。此值不能高于 max_chunking_size 的一半。
sentence_overlap
(可选,整数)仅用于 sentence 分块策略。指定块的重叠句子数。它可以是 10。默认为 1
strategy
(可选,字符串)指定分块策略。它可以是 sentenceword
service
(必需,字符串)指定任务类型支持的服务类型。在这种情况下,为 cohere
service_settings

(必需,对象)用于安装推理模型的设置。

这些设置特定于 cohere 服务。

api_key

(必需,字符串)您的 Cohere 帐户的有效 API 密钥。您可以在 API 密钥设置页面 上找到您的 Cohere API 密钥或创建一个新的。

您只需在创建推理模型时提供一次 API 密钥。 获取推理 API 不会检索您的 API 密钥。创建推理模型后,您不能更改关联的 API 密钥。如果要使用不同的 API 密钥,请删除推理模型,然后使用相同的名称和更新的 API 密钥重新创建它。

rate_limit

(可选,对象)默认情况下,cohere 服务将每分钟允许的请求数设置为 10000。此值对于所有任务类型都是相同的。这有助于最大限度地减少 Cohere 返回的速率限制错误数。要修改此值,请在您的服务设置中设置此对象的 requests_per_minute 设置

"rate_limit": {
    "requests_per_minute": <<number_of_requests>>
}

有关 Cohere 速率限制的更多信息,请参阅 Cohere 的生产密钥文档

completion 任务类型的 service_settings
model_id
(可选,字符串)用于推理任务的模型的名称。要查看可用的 completion 模型,请参阅 Cohere 文档
rerank 任务类型的 service_settings
model_id
(可选,字符串)用于推理任务的模型的名称。要查看可用的 rerank 模型,请参阅 Cohere 文档
text_embedding 任务类型的 service_settings
embedding_type

(可选,字符串)指定您要返回的嵌入类型。默认为 float。有效值为

  • byte:用于有符号 int8 嵌入(这是 int8 的同义词)。
  • float:用于默认的浮点嵌入。
  • int8:用于有符号 int8 嵌入。
model_id
(可选,字符串)用于推理任务的模型的名称。要查看可用的 text_embedding 模型,请参阅 Cohere 文档text_embedding 的默认值为 embed-english-v2.0
similarity
(可选,字符串)相似度度量。可以是 cosinedot_productl2_norm 之一。默认值基于 embedding_typefloatdot_productint8/bytecosine)。
task_settings

(可选,对象)用于配置推理任务的设置。这些设置特定于您指定的 <task_type>

rerank 任务类型的 task_settings
return_documents
(可选,布尔值)指定是否在结果中返回文档文本。
top_n
(可选,整数)要返回的最相关文档的数量,默认为文档的数量。如果此推理端点用于 text_similarity_reranker 检索器查询且设置了 top_n,则它必须大于或等于查询中的 rank_window_size
text_embedding 任务类型的 task_settings
input_type

(可选,字符串)指定传递给模型的输入类型。有效值为

  • classification:用于通过文本分类器传递的嵌入。
  • clusterning:用于通过聚类算法运行的嵌入。
  • ingest:用于在向量数据库中存储文档嵌入。
  • search:用于存储针对向量数据库运行的搜索查询的嵌入,以查找相关文档。

    当使用嵌入模型 v3 及更高版本时,input_type 字段是必需的。

truncate

(可选,字符串)指定 API 如何处理超过最大令牌长度的输入。默认为 END。有效值为

  • NONE:当输入超过最大输入令牌长度时,将返回错误。
  • START:当输入超过最大输入令牌长度时,将丢弃输入的开头。
  • END:当输入超过最大输入令牌长度时,将丢弃输入的结尾。

Cohere 服务示例

编辑

以下示例演示如何创建一个名为 cohere-embeddings 的推理端点以执行 text_embedding 任务类型。

resp = client.inference.put(
    task_type="text_embedding",
    inference_id="cohere-embeddings",
    inference_config={
        "service": "cohere",
        "service_settings": {
            "api_key": "<api_key>",
            "model_id": "embed-english-light-v3.0",
            "embedding_type": "byte"
        }
    },
)
print(resp)
const response = await client.inference.put({
  task_type: "text_embedding",
  inference_id: "cohere-embeddings",
  inference_config: {
    service: "cohere",
    service_settings: {
      api_key: "<api_key>",
      model_id: "embed-english-light-v3.0",
      embedding_type: "byte",
    },
  },
});
console.log(response);
PUT _inference/text_embedding/cohere-embeddings
{
    "service": "cohere",
    "service_settings": {
        "api_key": "<api_key>",
        "model_id": "embed-english-light-v3.0",
        "embedding_type": "byte"
    }
}

以下示例演示如何创建一个名为 cohere-rerank 的推理端点以执行 rerank 任务类型。

resp = client.inference.put(
    task_type="rerank",
    inference_id="cohere-rerank",
    inference_config={
        "service": "cohere",
        "service_settings": {
            "api_key": "<API-KEY>",
            "model_id": "rerank-english-v3.0"
        },
        "task_settings": {
            "top_n": 10,
            "return_documents": True
        }
    },
)
print(resp)
const response = await client.inference.put({
  task_type: "rerank",
  inference_id: "cohere-rerank",
  inference_config: {
    service: "cohere",
    service_settings: {
      api_key: "<API-KEY>",
      model_id: "rerank-english-v3.0",
    },
    task_settings: {
      top_n: 10,
      return_documents: true,
    },
  },
});
console.log(response);
PUT _inference/rerank/cohere-rerank
{
    "service": "cohere",
    "service_settings": {
        "api_key": "<API-KEY>",
        "model_id": "rerank-english-v3.0"
    },
    "task_settings": {
        "top_n": 10,
        "return_documents": true
    }
}

有关更多示例,另请参阅 Cohere 文档