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

Интеграция с Amazon Bedrock для инференса

Новая ссылка на API

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

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

Запрос

PUT /_inference/<task_type>/<inference_id>

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

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

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

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

  • completion,
  • 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
(Обязательно, строка) Тип сервиса, поддерживаемого для указанного типа задачи. В данном случае, amazonbedrock.
service_settings

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

Эти параметры специфичны для сервиса amazonbedrock.

access_key
(Обязательно, строка) Действительный ключ доступа AWS, имеющий разрешения на использование Amazon Bedrock и доступ к моделям для запросов инференса.
secret_key
(Обязательно, строка) Действительный секретный ключ AWS, связанный с access_key. Чтобы создать или управлять ключами доступа и секретными ключами, см. Управление ключами доступа для пользователей IAM в документации AWS.

Вам необходимо предоставить ключи доступа и секретные ключи только один раз во время создания модели инференса. API Получить API инференса не извлекает ваши ключи доступа и секретные ключи. После создания модели инференса вы не сможете изменить связанные пары ключей. Если вы хотите использовать другую пару ключей доступа и секретных ключей, удалите модель инференса и пересоздайте её с тем же именем и обновлёнными ключами.

provider

(Обязательно, строка) Поставщик модели для вашего развертывания. Обратите внимание, что некоторые поставщики могут поддерживать только определённые типы задач. Поддерживаемые поставщики включают:

  • amazontitan - доступен для text_embedding и completion типов задач
  • anthropic - доступен только для completion типа задачи
  • ai21labs - доступен только для completion типа задачи
  • cohere - доступен для text_embedding и completion типов задач
  • meta - доступен только для completion типа задачи
  • mistral - доступен только для completion типа задачи
model
(Обязательно, строка) Идентификатор базовой модели или ARN пользовательской модели, основанной на фундаментальной модели. Идентификаторы базовых моделей можно найти в документации Amazon Bedrock model IDs. Обратите внимание, что идентификатор модели должен быть доступен для выбранного поставщика, и ваш пользователь IAM должен иметь к нему доступ.
region
(Обязательно, строка) Регион, в котором развернута ваша модель или ARN. Список доступных регионов по модели можно найти в документации Model support by AWS region.
rate_limit

(Необязательно, объект) По умолчанию сервис amazonbedrock устанавливает количество разрешённых запросов в минуту на 240. Это помогает минимизировать количество ошибок ограничения скорости, возвращаемых Amazon Bedrock. Чтобы изменить это, установите параметр requests_per_minute в настройках вашего сервиса:

"rate_limit": {
    "requests_per_minute": <<number_of_requests>>
}
task_settings
(Необязательно, объект) Параметры для настройки задачи инференса. Эти параметры специфичны для указанного вами <task_type>.
task_settings для типа задачи completion
max_new_tokens
(Необязательно, целое число) Устанавливает максимальное число генерируемых выходных токенов. По умолчанию 64.
temperature
(Необязательно, число с плавающей точкой) Число от 0,0 до 1,0, контролирующее кажущуюся креативность результатов. При температуре 0,0 модель наиболее детерминирована, при температуре 1,0 — наиболее случайная. Не следует использовать, если указано top_p или top_k.
top_p
(Необязательно, число с плавающей точкой) Альтернатива temperature. Число в диапазоне от 0,0 до 1,0 для исключения токенов с низкой вероятностью. Top-p использует выборочное отбор по ядру для выбора верхних токенов, сумма вероятностей которых не превышает определённого значения, обеспечивая разнообразие и связность. Не следует использовать, если указано temperature.
top_k
(Необязательно, число с плавающей точкой) Доступно только для поставщиков anthropic, cohere и mistral. Альтернатива temperature. Ограничивает выборки до самых вероятных слов Top-K, обеспечивая баланс между связностью и изменчивостью. Не следует использовать, если указано temperature.

Пример сервиса Amazon Bedrock

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

Выберите модели чат-заполнения и эмбеддингов, к которым у вас есть доступ, из Amazon Bedrock base models.

resp = client.inference.put(
    task_type="text_embedding",
    inference_id="amazon_bedrock_embeddings",
    inference_config={
        "service": "amazonbedrock",
        "service_settings": {
            "access_key": "<aws_access_key>",
            "secret_key": "<aws_secret_key>",
            "region": "us-east-1",
            "provider": "amazontitan",
            "model": "amazon.titan-embed-text-v2:0"
        }
    },
)
print(resp)
const response = await client.inference.put({
  task_type: "text_embedding",
  inference_id: "amazon_bedrock_embeddings",
  inference_config: {
    service: "amazonbedrock",
    service_settings: {
      access_key: "<aws_access_key>",
      secret_key: "<aws_secret_key>",
      region: "us-east-1",
      provider: "amazontitan",
      model: "amazon.titan-embed-text-v2:0",
    },
  },
});
console.log(response);
PUT _inference/text_embedding/amazon_bedrock_embeddings
{
    "service": "amazonbedrock",
    "service_settings": {
        "access_key": "<aws_access_key>",
        "secret_key": "<aws_secret_key>",
        "region": "us-east-1",
        "provider": "amazontitan",
        "model": "amazon.titan-embed-text-v2:0"
    }
}

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

resp = client.inference.put(
    task_type="completion",
    inference_id="amazon_bedrock_completion",
    inference_config={
        "service": "amazonbedrock",
        "service_settings": {
            "access_key": "<aws_access_key>",
            "secret_key": "<aws_secret_key>",
            "region": "us-east-1",
            "provider": "amazontitan",
            "model": "amazon.titan-text-premier-v1:0"
        }
    },
)
print(resp)
const response = await client.inference.put({
  task_type: "completion",
  inference_id: "amazon_bedrock_completion",
  inference_config: {
    service: "amazonbedrock",
    service_settings: {
      access_key: "<aws_access_key>",
      secret_key: "<aws_secret_key>",
      region: "us-east-1",
      provider: "amazontitan",
      model: "amazon.titan-text-premier-v1:0",
    },
  },
});
console.log(response);
PUT _inference/completion/amazon_bedrock_completion
{
    "service": "amazonbedrock",
    "service_settings": {
        "access_key": "<aws_access_key>",
        "secret_key": "<aws_secret_key>",
        "region": "us-east-1",
        "provider": "amazontitan",
        "model": "amazon.titan-text-premier-v1:0"
    }
}

© 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-amazon-bedrock.html

Spec-Zone.ru

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