PythonでAmazon BedrockのAPIを使ってみよう

2024/11/26に公開

Amazon Web Services(AWS)が提供する新しい生成AIプラットフォーム、Amazon Bedrockは、機械学習やAIモデルをより簡単に利用できるようにする強力なサービスです。本記事では、Pythonを使ってAmazon BedrockのAPIにアクセスする方法についてご紹介します。特に、開発者やデータサイエンティストが、自身のアプリケーションにAIを組み込む際の最初のステップとして役立つ内容となっています。

Amazon Bedrockとは?

Amazon Bedrockは、生成AIモデル(たとえば、テキスト生成や画像生成など)を容易に利用できるようにするAWSのサービスです。異なる大手AIプロバイダーから提供される複数の生成AIモデルをAPI経由で利用することができ、非常に柔軟です。たとえば、企業が生成AIを用いたアプリケーションを構築する場合、基盤となるモデルを選び、ビジネスニーズに合わせて使用することが可能です。

必要な準備

Amazon Bedrockを利用するためには、いくつかの準備が必要です。

  1. AWSアカウントの作成:AWSのサービスを利用するために、まずAWSアカウントが必要です。
  2. IAMユーザーの作成:適切な権限を持つIAMユーザーを作成し、APIキーとシークレットキーを取得しましょう。
  3. Python環境の構築:Pythonと必要なパッケージをインストールする必要があります。例えば、boto3というAWSのSDKを利用してAPIにアクセスします。

以下はPython環境の構築方法です。

pip install boto3

Amazon Bedrockへの接続

Amazon BedrockをPythonから利用するには、boto3ライブラリを使ってAWSに接続します。以下のコードでは、基本的なセットアップ方法とBedrock APIにリクエストを送る流れを示します。

import boto3
import json

# AWSの認証情報を設定
aws_access_key = "YOUR_AWS_ACCESS_KEY"
aws_secret_key = "YOUR_AWS_SECRET_KEY"
region_name = "us-west-2"  # 利用するリージョンを指定します

# Boto3クライアントの作成
client = boto3.client(
    'bedrock',
    aws_access_key_id=aws_access_key,
    aws_secret_access_key=aws_secret_key,
    region_name=region_name
)

# ベースとなるモデルに問い合わせるリクエストを作成
def generate_text(prompt):
    response = client.invoke_model(
        ModelId='example-model-id',  # 利用したいモデルIDを指定します
        Prompt=prompt
    )
    return response['GeneratedText']

# 例:テキスト生成を試してみる
if __name__ == "__main__":
    prompt = "AIがどのように未来を変えるかについて教えてください。"
    result = generate_text(prompt)
    print("生成されたテキスト: ", result)

このコードでは、boto3を使ってAmazon Bedrockに接続し、生成AIモデルを使ってテキストを生成しています。invoke_modelメソッドを利用して、プロンプトを指定し、AIモデルからの応答を受け取ることができます。

実際に使ってみよう

Amazon Bedrockは、生成AIモデルを使って自然言語処理やデータ生成など、幅広いユースケースに対応しています。たとえば、カスタマーサービス向けのチャットボットの構築、データの要約、クリエイティブな文章の生成など、多くの用途で利用が可能です。

上記のサンプルコードを応用して、自身のアプリケーションにどのように組み込めるかを試してみましょう。また、プロンプトを工夫することで、生成される内容を自在にコントロールすることもできます。

まとめ

chatgptだけでなく簡単にpythonでapiをつかうことができます
料金もお財布にやさしいような・・・

Discussion