Maison >développement back-end >Tutoriel Python >Gagnez du temps avec l'API Amazon Bedrock Converse !

Gagnez du temps avec l'API Amazon Bedrock Converse !

Linda Hamilton
Linda Hamiltonoriginal
2024-12-03 03:40:08240parcourir

Avec Bedrock, vous avez accès à une gamme de différents grands modèles de langages (par exemple, Claude, Mistral, Llama et Amazon Titan) avec de nouvelles versions disponibles à tout moment.

Avoir le choix, c'est bien, mais devoir coder vos demandes différemment pour chaque modèle est pénible.

Voici pourquoi l'API Amazon Bedrock Converse va vous faire économiser beaucoup de temps et d'efforts lorsque vous comparez les résultats de différents modèles de fondation !

La cohérence est la clé !

L'API Converse est une interface cohérente qui fonctionne avec tous les modèles prenant en charge les messages/invites système. Cela signifie que vous pouvez écrire votre code une seule fois et l'utiliser pour expérimenter différents modèles.

Voici un exemple de la façon dont cela fonctionne, et cet exercice devrait coûter < 1 $.

Configurer l'accès au modèle

Avant de commencer, assurez-vous de vérifier que les modèles que vous souhaitez utiliser sont disponibles dans votre région, et que vous en avez activé l'accès, voici ceux que j'utilise, vous pouvez les sélectionner ou choisir le vôtre :
anthropique.claude-v2
anthropique.claude-3-haiku
Claude 3.5 Sonnet
Mistral petit

Save time with the Amazon Bedrock Converse API!

1) Nous pouvons tout faire en utilisant CloudShell dans la console AWS.

Save time with the Amazon Bedrock Converse API!

2) Lorsque CloudShell est prêt, installez boto3 qui est le SDK AWS pour Python
pip installer boto3

Save time with the Amazon Bedrock Converse API!

3) Téléchargez le fichier nommé converse_demo.py depuis GitHub Vous pouvez le faire en utilisant wget et en fournissant le chemin brut du fichier :

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) Exécutez le code Python comme ceci :

python converse_demo.py

Cela devrait vous donner un résultat similaire à celui-ci :

Save time with the Amazon Bedrock Converse API!

5) Nous pouvons également exécuter ce même code en utilisant un modèle différent, en remplaçant l'ID du modèle dans notre code comme suit :

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

Comparez la sortie du deuxième modèle, elle est légèrement différente :

Save time with the Amazon Bedrock Converse API!

6) On peut tester à nouveau avec une autre version :

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

Save time with the Amazon Bedrock Converse API!

Lorsqu'une nouvelle version de Claude sort, nous pouvons en demander l'accès et ensuite simplement remplacer le nom du modèle dans notre code !

Erreur d'accès refusé

Si vous voyez une erreur similaire à celle-ci, cela signifie simplement que vous essayez d'utiliser un modèle auquel vous n'avez pas encore accès. Demandez simplement l'accès au modèle et réessayez une fois l'accès accordé.

Save time with the Amazon Bedrock Converse API!

7) Je l'ai également essayé avec un autre fournisseur de modèles, en changeant l'identifiant du modèle en :

mistral.mistral-small-2402-v1:0

Save time with the Amazon Bedrock Converse API!

L'API Converse vous offre donc une API simple et cohérente, qui fonctionne avec tous les modèles Amazon Bedrock prenant en charge les messages. Et cela signifie que vous pouvez écrire votre code une seule fois et l'utiliser avec différents modèles pour comparer les résultats !

Alors la prochaine fois que vous travaillerez avec Bedrock, rendez-vous service, essayez l'API Converse et remerciez-moi plus tard !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn