Интеграция с Cohere
Создает конечную точку инференса для выполнения задачи инференса с помощью сервиса 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