Bedrock を使用すると、さまざまな大規模な言語モデル (Claude、Mistral、Llama、Amazon Titan など) にアクセスでき、常に新しいバージョンが利用可能になります。
選択肢があるのは素晴らしいことですが、モデルごとにリクエストを別々にコーディングしなければならないのは面倒です。
Amazon Bedrock Converse API が、さまざまな基礎モデルの出力を比較する際に、時間と労力を大幅に節約できる理由は次のとおりです!
Converse API は、メッセージ/システム プロンプトをサポートするすべてのモデルで動作する一貫したインターフェイスです。これは、コードを一度作成すれば、それを使用してさまざまなモデルを実験できることを意味します。
これがどのように機能するかの例です。この演習には < の費用がかかります。 $1.
始める前に、使用したいモデルがお住まいの地域で利用可能であること、およびそれらへのアクセスが有効になっていることを必ずご確認ください。ここでは私が使用しているモデルを示します。これらを選択することも、独自のモデルを選択することもできます。 :
anthropic.claude-v2
anthropic.claude-3-haiku
クロード 3.5 ソネット
ミストラル小
1) AWS コンソールの CloudShell を使用してすべてを行うことができます。
2) CloudShell の準備ができたら、AWS SDK for Python である boto3 をインストールします
pip install boto3
3) converse_demo.py という名前のファイルを GitHub からダウンロードします。これは、wget を使用し、ファイルへの生のパスを指定することで実行できます。
wget https://raw.githubusercontent.com/fayekins/demos/refs/heads/main/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
次のような出力が得られるはずです:
5) コード内のモデル ID を次のように置き換えることで、別のモデルを使用して同じコードを実行することもできます。
anthropic.claude-3-haiku-20240307-v1:0
2 番目のモデルの出力を比較すると、わずかに異なります。
6) 別のバージョンで再度テストできます:
anthropic.claude-3-5-sonnet-20240620-v1:0
Claude の新しいバージョンがリリースされたら、アクセスをリクエストして、コード内のモデル名を置き換えるだけです!
これと同様のエラーが表示された場合は、まだアクセスできないモデルを使用しようとしていることを意味します。単にモデルへのアクセスをリクエストし、アクセスが許可された後に再試行してください。
7) モデル ID を次のように変更して、別のモデルプロバイダーでも試してみました。
mistral.mistral-small-2402-v1:0
つまり、Converse API は、メッセージをサポートするすべての Amazon Bedrock モデルで動作する、シンプルで一貫した API を提供します。これは、コードを一度作成すれば、それをさまざまなモデルで使用して結果を比較できることを意味します!
次回、Bedrock を使用するときは、ぜひ Converse API を試してみてください。後で私に感謝します!
以上がAmazon Bedrock Converse API で時間を節約しましょう!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。