Интеграция вывода Google Vertex AI
Создаёт конечную точку вывода для выполнения задачи вывода с помощью сервиса googlevertexai.
Запрос
PUT /_inference/<task_type>/<inference_id>
Параметры пути
-
<inference_id> - (Обязательно, строка) Уникальный идентификатор конечной точки вывода.
-
<task_type> -
(Обязательно, строка) Тип задачи вывода, которую будет выполнять модель.
Доступные типы задач:
-
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 - (Обязательно, строка) Тип сервиса, поддерживаемого для указанного типа задачи. В данном случае,
googlevertexai. -
service_settings -
(Обязательно, объект) Параметры, используемые для установки модели вывода.
Эти параметры специфичны для сервиса
googlevertexai.-
service_account_json - (Обязательно, строка) Действительный учётная запись сервиса в формате JSON для API Google Vertex AI.
-
model_id - (Обязательно, строка) Название модели для использования в задаче вывода. Поддерживаемые модели можно найти на странице API текстовых вложений.
-
location - (Обязательно, строка) Название расположения для выполнения задачи вывода. Поддерживаемые расположения можно найти на странице Расположения Generative AI в Vertex AI.
-
project_id - (Обязательно, строка) Название проекта для выполнения задачи вывода.
-
rate_limit -
(Необязательно, объект) По умолчанию, сервис
googlevertexaiустанавливает количество разрешённых запросов в минуту на30.000. Это помогает минимизировать количество ошибок ограничения скорости, возвращаемых Google Vertex AI. Для изменения этого, установите значениеrequests_per_minuteв этом объекте в настройках сервиса:"rate_limit": { "requests_per_minute": <<number_of_requests>> }Дополнительную информацию об ограничениях скорости для Google Vertex AI можно найти в документации квоты Google Vertex AI.
-
-
task_settings -
(Необязательно, объект) Параметры для настройки задачи вывода. Эти параметры специфичны для указанного вами
<task_type>.task_settingsдля типа задачиrerank-
top_n - (необязательно, логическое значение) Указывает количество первых n документов, которые должны быть возвращены.
task_settingsдля типа задачиtext_embedding-
auto_truncate - (необязательно, логическое значение) Указывает, обрезает ли API автоматически входные данные, превышающие максимальную длину токена.
-
Пример сервиса Google Vertex AI
Следующий пример показывает, как создать конечную точку вывода под названием google_vertex_ai_embeddings для выполнения задачи типа text_embedding.
resp = client.inference.put(
task_type="text_embedding",
inference_id="google_vertex_ai_embeddings",
inference_config={
"service": "googlevertexai",
"service_settings": {
"service_account_json": "<service_account_json>",
"model_id": "<model_id>",
"location": "<location>",
"project_id": "<project_id>"
}
},
)
print(resp) const response = await client.inference.put({
task_type: "text_embedding",
inference_id: "google_vertex_ai_embeddings",
inference_config: {
service: "googlevertexai",
service_settings: {
service_account_json: "<service_account_json>",
model_id: "<model_id>",
location: "<location>",
project_id: "<project_id>",
},
},
});
console.log(response); PUT _inference/text_embedding/google_vertex_ai_embeddings
{
"service": "googlevertexai",
"service_settings": {
"service_account_json": "<service_account_json>",
"model_id": "<model_id>",
"location": "<location>",
"project_id": "<project_id>"
}
} Следующий пример показывает, как создать конечную точку вывода под названием google_vertex_ai_rerank для выполнения задачи типа rerank.
resp = client.inference.put(
task_type="rerank",
inference_id="google_vertex_ai_rerank",
inference_config={
"service": "googlevertexai",
"service_settings": {
"service_account_json": "<service_account_json>",
"project_id": "<project_id>"
}
},
)
print(resp) const response = await client.inference.put({
task_type: "rerank",
inference_id: "google_vertex_ai_rerank",
inference_config: {
service: "googlevertexai",
service_settings: {
service_account_json: "<service_account_json>",
project_id: "<project_id>",
},
},
});
console.log(response); PUT _inference/rerank/google_vertex_ai_rerank
{
"service": "googlevertexai",
"service_settings": {
"service_account_json": "<service_account_json>",
"project_id": "<project_id>"
}
}
© 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-google-vertex-ai.html