Maison >développement back-end >Tutoriel Python >Gagnez du temps avec l'API Amazon Bedrock Converse !
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 !
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 $.
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
1) Nous pouvons tout faire en utilisant CloudShell dans la console AWS.
2) Lorsque CloudShell est prêt, installez boto3 qui est le SDK AWS pour Python
pip installer boto3
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
#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 :
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 :
6) On peut tester à nouveau avec une autre version :
anthropic.claude-3-5-sonnet-20240620-v1:0
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 !
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é.
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
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!