Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›Inference API

Интеграция с Cohere

Новая справка по API

Для получения самых актуальных данных по API обратитесь к API-интерфейсам инференса.

Создает конечную точку инференса для выполнения задачи инференса с помощью сервиса cohere.

Запрос

PUT /_inference/<task_type>/<inference_id>

Параметры пути

<inference_id>
(Обязательно, строка) Уникальный идентификатор конечной точки инференса.
<task_type>

(Обязательно, строка) Тип задачи инференса, которую будет выполнять модель.

Доступные типы задач:

  • completion,
  • rerank,
  • text_embedding.

Тело запроса

chunking_settings

(Необязательно, объект) Объект конфигурации фрагментации. Обратитесь к Настройка фрагментации, чтобы узнать больше о фрагментации.

max_chunk_size
(Необязательно, целое число) Указывает максимальный размер фрагмента в словах. По умолчанию 250. Это значение не может быть больше 300 или меньше 20 (для стратегии sentence) или 10 (для стратегии word).
overlap
(Необязательно, целое число) Только для стратегии фрагментации word. Указывает количество перекрывающихся слов для фрагментов. По умолчанию 100. Это значение не может быть больше половины max_chunk_size.
sentence_overlap
(Необязательно, целое число) Только для стратегии фрагментации sentence. Указывает количество перекрывающихся предложений для фрагментов. Может быть либо 1, либо 0. По умолчанию 1.
strategy
(Необязательно, строка) Указывает стратегию фрагментации. Может быть либо sentence, либо word.
service
(Обязательно, строка) Тип сервиса, поддерживаемого для указанного типа задачи. В данном случае cohere.
service_settings

(Обязательно, объект) Настройки, используемые для установки модели инференса.

Эти настройки специфичны для сервиса cohere.

api_key

(Обязательно, строка) Действительный API-ключ вашей учетной записи Cohere. Вы можете найти свои API-ключи Cohere или создать новый на странице настроек API-ключей.

Вам нужно предоставить 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 по ключам для производства.

service_settings для типа задачи completion
model_id
(Необязательно, строка) Имя модели, используемой для задачи инференса. Чтобы ознакомиться с доступными моделями completion, обратитесь к документации Cohere.
service_settings для типа задачи rerank
model_id
(Необязательно, строка) Имя модели, используемой для задачи инференса. Чтобы ознакомиться с доступными моделями rerank, обратитесь к документации Cohere.
service_settings для типа задачи text_embedding
embedding_type

(Необязательно, строка) Указывает типы эмбеддингов, которые вы хотите получить обратно. По умолчанию float. Допустимые значения:

  • byte: используйте для подписанных целых чисел int8 эмбеддингов (это синоним int8).
  • float: используйте для стандартных плавающих эмбеддингов.
  • int8: используйте для подписанных целых чисел int8 эмбеддингов.
model_id
(Необязательно, строка) Имя модели, используемой для задачи инференса. Чтобы ознакомиться с доступными моделями text_embedding, обратитесь к документации Cohere. Значение по умолчанию для text_embedding равно embed-english-v2.0.
similarity
(Необязательно, строка) Мера сходства. Одно из значений: cosine, dot_product, l2_norm. Значение по умолчанию основано на embedding_type (float → dot_product, int8/byte → cosine).
task_settings

(Необязательно, объект) Настройки для конфигурации задачи инференса. Эти настройки специфичны для указанного вами <task_type>.

task_settings для типа задачи rerank
return_documents
(Необязательно, булево) Указать, нужно ли возвращать текстовое содержимое документа в результатах.
top_n
(Необязательно, целое число) Количество наиболее релевантных документов для возврата, по умолчанию равно количеству документов. Если эта конечная точка инференса используется в запросе ретривера text_similarity_reranker и top_n установлено, оно должно быть больше или равно rank_window_size в запросе.
task_settings для типа задачи text_embedding
input_type

(Необязательно, строка) Указывает тип входных данных, передаваемых в модель. Допустимые значения:

  • classification: используйте для эмбеддингов, передаваемых через классификатор текста.
  • clusterning: используйте для эмбеддингов, запускаемых через алгоритм кластеризации.
  • ingest: используйте для хранения эмбеддингов документов в базе данных векторов.
  • search: используйте для хранения эмбеддингов поисковых запросов, запущенных против базы данных векторов, чтобы найти релевантные документы.

    Поле input_type обязательно при использовании моделей эмбеддингов v3 и выше.

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.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/infer-service-cohere.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API