Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›REST API ›API вывода

Интеграция вывода Google Vertex AI

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

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

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

Spec-Zone.ru

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