Heim >Backend-Entwicklung >Python-Tutorial >Sparen Sie Zeit mit der Amazon Bedrock Converse API!

Sparen Sie Zeit mit der Amazon Bedrock Converse API!

Linda Hamilton
Linda HamiltonOriginal
2024-12-03 03:40:08240Durchsuche

Mit Bedrock erhalten Sie Zugriff auf eine Reihe verschiedener großer Sprachmodelle (z. B. Claude, Mistral, Llama und Amazon Titan), wobei ständig neue Versionen verfügbar sind.

Die Wahl zu haben ist großartig, aber die Anforderungen für jedes Modell unterschiedlich zu codieren, ist mühsam.

Deshalb erspart Ihnen die Amazon Bedrock Converse API eine Menge Zeit und Mühe, wenn Sie die Ergebnisse verschiedener Foundation-Modelle vergleichen!

Konsistenz ist der Schlüssel!

Die Converse API ist eine konsistente Schnittstelle, die mit allen Modellen funktioniert, die Nachrichten/Systemaufforderungen unterstützen. Das bedeutet, dass Sie Ihren Code einmal schreiben und ihn zum Experimentieren mit verschiedenen Modellen verwenden können.

Hier ist ein Beispiel dafür, wie es funktioniert. Diese Übung sollte < 1 $.

Konfigurieren Sie den Modellzugriff

Bevor Sie beginnen, überprüfen Sie unbedingt, ob die Modelle, die Sie verwenden möchten, in Ihrer Region verfügbar sind und ob Sie den Zugriff darauf aktiviert haben. Hier sind die Modelle, die ich verwende. Sie können diese oder Ihre eigenen auswählen :
anthropic.claude-v2
anthropic.claude-3-haiku
Claude 3.5 Sonett
Mistral klein

Save time with the Amazon Bedrock Converse API!

1) Wir können alles mit der CloudShell in der AWS-Konsole erledigen.

Save time with the Amazon Bedrock Converse API!

2) Wenn die CloudShell bereit ist, installieren Sie boto3, das AWS SDK für Python
pip install boto3

Save time with the Amazon Bedrock Converse API!

3) Laden Sie die Datei converse_demo.py von GitHub herunter. Sie können dies mit wget tun und den Rohpfad zur Datei angeben:

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) Führen Sie den Python-Code wie folgt aus:

python converse_demo.py

Sie sollten eine Ausgabe erhalten, die dieser ähnelt:

Save time with the Amazon Bedrock Converse API!

5) Wir können denselben Code auch mit einem anderen Modell ausführen, indem wir die Modell-ID in unserem Code wie folgt ersetzen:

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

Vergleichen Sie die Ausgabe des zweiten Modells, sie ist etwas anders:

Save time with the Amazon Bedrock Converse API!

6) Wir können noch einmal mit einer anderen Version testen:

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

Save time with the Amazon Bedrock Converse API!

Wenn eine neue Version von Claude veröffentlicht wird, können wir Zugriff anfordern und dann einfach den Namen des Modells in unserem Code ersetzen!

Fehler „Zugriff verweigert“.

Wenn Sie einen ähnlichen Fehler sehen, bedeutet das lediglich, dass Sie versuchen, ein Modell zu verwenden, auf das Sie noch keinen Zugriff haben. Fordern Sie einfach Zugriff auf das Modell an und versuchen Sie es erneut, nachdem der Zugriff gewährt wurde.

Save time with the Amazon Bedrock Converse API!

7) Ich habe es auch bei einem anderen Modellanbieter versucht, indem ich die Modell-ID geändert habe in:

mistral.mistral-small-2402-v1:0

Save time with the Amazon Bedrock Converse API!

Die Converse-API bietet Ihnen also eine einfache, konsistente API, die mit allen Amazon Bedrock-Modellen funktioniert, die Nachrichten unterstützen. Und das bedeutet, dass Sie Ihren Code einmal schreiben und ihn mit verschiedenen Modellen verwenden können, um die Ergebnisse zu vergleichen!

Wenn Sie also das nächste Mal mit Bedrock zusammenarbeiten, tun Sie sich selbst einen Gefallen, probieren Sie die Converse-API aus und bedanken Sie sich später bei mir!

Das obige ist der detaillierte Inhalt vonSparen Sie Zeit mit der Amazon Bedrock Converse API!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn