ホームページ > バックエンド開発 > Python チュートリアル > Amazon Bedrock Converse API で時間を節約しましょう!

Amazon Bedrock Converse API で時間を節約しましょう!

Linda Hamilton
リリース: 2024-12-03 03:40:08
オリジナル
267 人が閲覧しました

Bedrock を使用すると、さまざまな大規模な言語モデル (Claude、Mistral、Llama、Amazon Titan など) にアクセスでき、常に新しいバージョンが利用可能になります。

選択肢があるのは素晴らしいことですが、モデルごとにリクエストを別々にコーディングしなければならないのは面倒です。

Amazon Bedrock Converse API が、さまざまな基礎モデルの出力を比較する際に、時間と労力を大幅に節約できる理由は次のとおりです!

一貫性が鍵です!

Converse API は、メッセージ/システム プロンプトをサポートするすべてのモデルで動作する一貫したインターフェイスです。これは、コードを一度作成すれば、それを使用してさまざまなモデルを実験できることを意味します。

これがどのように機能するかの例です。この演習には < の費用がかかります。 $1.

モデルアクセスを構成する

始める前に、使用したいモデルがお住まいの地域で利用可能であること、およびそれらへのアクセスが有効になっていることを必ずご確認ください。ここでは私が使用しているモデルを示します。これらを選択することも、独自のモデルを選択することもできます。 :
anthropic.claude-v2
anthropic.claude-3-haiku
クロード 3.5 ソネット
ミストラル小

Save time with the Amazon Bedrock Converse API!

1) AWS コンソールの CloudShell を使用してすべてを行うことができます。

Save time with the Amazon Bedrock Converse API!

2) CloudShell の準備ができたら、AWS SDK for Python である boto3 をインストールします
pip install boto3

Save time with the Amazon Bedrock Converse API!

3) converse_demo.py という名前のファイルを GitHub からダウンロードします。これは、wget を使用し、ファイルへの生のパスを指定することで実行できます。

wget https://raw.githubusercontent.com/fayekins/demos/refs/heads/main/converse_demo.py
ログイン後にコピー

Save time with the Amazon Bedrock Converse API!

converse_demo.py

#first we import boto3 and json 
import boto3, json

#create a boto3 session - stores config state and allows you to create service clients
session = boto3.Session()

#create a Bedrock Runtime Client instance - used to send API calls to AI models in Bedrock
bedrock = session.client(service_name='bedrock-runtime')

#here's our prompt telling the model what we want it to do, we can change this later
system_prompts = [{"text": "You are an app that creates reading lists for book groups."}]

#define an empty message list - to be used to pass the messages to the model
message_list = []

#here’s the message that I want to send to the model, we can change this later if we want
initial_message = {
            "role": "user",
               "content": [{"text": "Create a list of five novels suitable for a book group who are interested in classic novels."}],
               }

#the message above is appended to the message_list
message_list.append(initial_message)

#make an API call to the Bedrock Converse API, we define the model to use, the message, and inference parameters to use as well
response = bedrock.converse(
modelId="anthropic.claude-v2",
messages=message_list,
system=system_prompts,
inferenceConfig={
            "maxTokens": 2048,
            "temperature": 0,
            "topP": 1
            },
)

#invoke converse with all the parameters we provided above and after that, print the result 
response_message = response['output']['message']
print(json.dumps(response_message, indent=4))
ログイン後にコピー

4) 次のように Python コードを実行します。

python converse_demo.py
ログイン後にコピー

次のような出力が得られるはずです:

Save time with the Amazon Bedrock Converse API!

5) コード内のモデル ID を次のように置き換えることで、別のモデルを使用して同じコードを実行することもできます。

anthropic.claude-3-haiku-20240307-v1:0

2 番目のモデルの出力を比較すると、わずかに異なります。

Save time with the Amazon Bedrock Converse API!

6) 別のバージョンで再度テストできます:

anthropic.claude-3-5-sonnet-20240620-v1:0

Save time with the Amazon Bedrock Converse API!

Claude の新しいバージョンがリリースされたら、アクセスをリクエストして、コード内のモデル名を置き換えるだけです!

アクセス拒否エラー

これと同様のエラーが表示された場合は、まだアクセスできないモデルを使用しようとしていることを意味します。単にモデルへのアクセスをリクエストし、アクセスが許可された後に再試行してください。

Save time with the Amazon Bedrock Converse API!

7) モデル ID を次のように変更して、別のモデルプロバイダーでも試してみました。

mistral.mistral-small-2402-v1:0

Save time with the Amazon Bedrock Converse API!

つまり、Converse API は、メッセージをサポートするすべての Amazon Bedrock モデルで動作する、シンプルで一貫した API を提供します。これは、コードを一度作成すれば、それをさまざまなモデルで使用して結果を比較できることを意味します!

次回、Bedrock を使用するときは、ぜひ Converse API を試してみてください。後で私に感謝します!

以上がAmazon Bedrock Converse API で時間を節約しましょう!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート