Amazon Bedrock推論サービス

  1. ## リクエスト
  2. `````PUT /_inference/<task_type>/<inference_id>

パスパラメータ

  • <inference_id>
  • (必須、文字列)推論エンドポイントの一意の識別子。
  • <task_type>
  • (必須、文字列)モデルが実行する推論タスクのタイプ。
    利用可能なタスクタイプ:
    • completion,
    • text_embedding.

リクエストボディ

  • service
  • (必須、文字列)指定されたタスクタイプに対してサポートされているサービスのタイプ。この場合、amazonbedrock
  • service_settings
  • (必須、オブジェクト)推論モデルをインストールするために使用される設定。
    これらの設定はamazonbedrockサービスに特有です。
    • access_key
    • (必須、文字列)Amazon Bedrockを使用し、推論リクエストのためのモデルにアクセスする権限を持つ有効なAWSアクセスキー。
    • secret_key
    • (必須、文字列)access_keyとペアになっている有効なAWSシークレットキー。アクセスキーとシークレットキーを作成または管理するには、AWSドキュメントのIAMユーザーのアクセスキーの管理を参照してください。

アクセスキーとシークレットキーは、推論モデルの作成時に一度だけ提供する必要があります。推論APIを取得するは、アクセスキーまたはシークレットキーを取得しません。推論モデルを作成した後は、関連付けられたキーのペアを変更することはできません。異なるアクセスキーとシークレットキーのペアを使用したい場合は、推論モデルを削除し、同じ名前と更新されたキーで再作成してください。

  • provider
  • (必須、文字列)デプロイメントのためのモデルプロバイダー。いくつかのプロバイダーは特定のタスクタイプのみをサポートしている場合があります。サポートされているプロバイダーには次のものが含まれます:
    • amazontitan - text_embeddingおよびcompletionタスクタイプで利用可能
    • anthropic - completionタスクタイプのみで利用可能
    • ai21labs - completionタスクタイプのみで利用可能
    • cohere - text_embeddingおよびcompletionタスクタイプで利用可能
    • meta - completionタスクタイプのみで利用可能
    • mistral - completionタスクタイプのみで利用可能
  • model
  • (必須、文字列)基盤となるモデルに基づくカスタムモデルのベースモデルIDまたはARN。ベースモデルIDは、Amazon BedrockモデルIDドキュメントで見つけることができます。モデルIDは選択したプロバイダーで利用可能でなければならず、IAMユーザーはモデルにアクセスできる必要があります。
  • region
  • (必須、文字列)モデルまたはARNがデプロイされているリージョン。モデルごとの利用可能なリージョンのリストは、AWSリージョンによるモデルサポートドキュメントで見つけることができます。
  • rate_limit
  • (オプション、オブジェクト)デフォルトでは、amazonbedrockサービスは、1分あたりのリクエスト数を240に設定します。これにより、Amazon Bedrockから返されるレート制限エラーの数を最小限に抑えることができます。これを変更するには、サービス設定内のこのオブジェクトのrequests_per_minute設定を設定します:

テキスト

  1. "rate_limit": {
  2. "requests_per_minute": <<number_of_requests>>
  3. }
    1. - (オプション、オブジェクト)推論タスクを構成するための設定。これらの設定は、指定した`````<task_type>`````に特有です。
    2. `````task_settings``````````completion`````タスクタイプのためのものです
    3. - `````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
    • (オプション、浮動小数点数)anthropiccoheremistralプロバイダーのみで利用可能。temperatureの代替。最も可能性の高いK個の単語にサンプルを制限し、一貫性と変動性のバランスを取ります。temperatureが指定されている場合は使用しないでください。
  • .task_settingstext_embeddingタスクタイプのためのものです
    詳細
    text_embeddingタスクタイプにはtask_settingsは利用できません。

Amazon Bedrockサービスの例

以下の例は、amazon_bedrock_embeddingsという推論エンドポイントを作成してtext_embeddingタスクタイプを実行する方法を示しています。

Amazon Bedrockベースモデルからアクセスできるチャット完了および埋め込みモデルを選択してください。

Python

  1. resp = client.inference.put(
  2. task_type="text_embedding",
  3. inference_id="amazon_bedrock_embeddings",
  4. inference_config={
  5. "service": "amazonbedrock",
  6. "service_settings": {
  7. "access_key": "<aws_access_key>",
  8. "secret_key": "<aws_secret_key>",
  9. "region": "us-east-1",
  10. "provider": "amazontitan",
  11. "model": "amazon.titan-embed-text-v2:0"
  12. }
  13. },
  14. )
  15. print(resp)

Js

  1. const response = await client.inference.put({
  2. task_type: "text_embedding",
  3. inference_id: "amazon_bedrock_embeddings",
  4. inference_config: {
  5. service: "amazonbedrock",
  6. service_settings: {
  7. access_key: "<aws_access_key>",
  8. secret_key: "<aws_secret_key>",
  9. region: "us-east-1",
  10. provider: "amazontitan",
  11. model: "amazon.titan-embed-text-v2:0",
  12. },
  13. },
  14. });
  15. console.log(response);

コンソール

  1. PUT _inference/text_embedding/amazon_bedrock_embeddings
  2. {
  3. "service": "amazonbedrock",
  4. "service_settings": {
  5. "access_key": "<aws_access_key>",
  6. "secret_key": "<aws_secret_key>",
  7. "region": "us-east-1",
  8. "provider": "amazontitan",
  9. "model": "amazon.titan-embed-text-v2:0"
  10. }
  11. }

次の例は、amazon_bedrock_completionという推論エンドポイントを作成してcompletionタスクタイプを実行する方法を示しています。

Python

  1. resp = client.inference.put(
  2. task_type="completion",
  3. inference_id="amazon_bedrock_completion",
  4. inference_config={
  5. "service": "amazonbedrock",
  6. "service_settings": {
  7. "access_key": "<aws_access_key>",
  8. "secret_key": "<aws_secret_key>",
  9. "region": "us-east-1",
  10. "provider": "amazontitan",
  11. "model": "amazon.titan-text-premier-v1:0"
  12. }
  13. },
  14. )
  15. print(resp)

Js

  1. const response = await client.inference.put({
  2. task_type: "completion",
  3. inference_id: "amazon_bedrock_completion",
  4. inference_config: {
  5. service: "amazonbedrock",
  6. service_settings: {
  7. access_key: "<aws_access_key>",
  8. secret_key: "<aws_secret_key>",
  9. region: "us-east-1",
  10. provider: "amazontitan",
  11. model: "amazon.titan-text-premier-v1:0",
  12. },
  13. },
  14. });
  15. console.log(response);

コンソール

  1. PUT _inference/completion/amazon_bedrock_completion
  2. {
  3. "service": "amazonbedrock",
  4. "service_settings": {
  5. "access_key": "<aws_access_key>",
  6. "secret_key": "<aws_secret_key>",
  7. "region": "us-east-1",
  8. "provider": "amazontitan",
  9. "model": "amazon.titan-text-premier-v1:0"
  10. }
  11. }