Utilisation de l’API Converse - Amazon Nova

Utilisation de l’API Converse

Une méthode pour invoquer les modèles de compréhension Amazon Nova (Amazon Nova Micro, Lite, Pro et Premier) consiste à utiliser l’API Converse. Les composants évoqués précédemment sont utilisés tout en conservant un schéma cohérent entre les fournisseurs de modèles. Cette approche offre un moyen pratique de mettre en œuvre des applications plus portables en tirant parti d’une API cohérente, ce qui permet de porter plus facilement les applications existantes utilisant d’autres modèles vers les modèles Nova. L’API Converse prend en charge les fonctionnalités de modèle suivantes :

  • Converse : les conversations multi-tours de base avec des réponses mises en mémoire tampon (par opposition aux réponses en continu) sont prises en charge

  • ConverseStream : conversations multi-tours avec une réponse en continu pour une génération plus incrémentielle et une sensation plus interactive

  • Invites système : instructions système telles que des personas ou des directives de réponse

  • Chat de documents : interagir avec et interroger des documents ou des collections de documents

  • Vision : entrées d’images et de vidéos

  • Utilisation d’outils : appel de fonctions pour prendre en charge divers outils externes

  • Utilisation d’outils de streaming : combiner l’utilisation d’outils et le streaming de génération en temps réel

  • Barrières de protection : prévention des contenus inappropriés ou préjudiciables

Important

Le délai d’expiration pour les appels d’inférence vers Amazon Nova est de 60 minutes. Par défaut, les clients du kit AWS SDK expirent au bout d’une minute. Nous vous recommandons d’augmenter le délai de lecture du client de votre kit AWS SDK à au moins 60 minutes. Par exemple, dans le kit SDK AWS Python botocore, modifiez la valeur du champ read_timeout dans botocore.config à au moins 3 600.

client = boto3.client( "bedrock-runtime", region_name="us-east-1", config=Config( connect_timeout=3600, # 60 minutes read_timeout=3600, # 60 minutes retries={'max_attempts': 1} ) )

Vous pouvez utiliser les modèles Amazon Nova avec l’API Converse comme vous le feriez avec n’importe quel autre modèle. Définissez le modelId sur l’une des valeurs suivantes pour utiliser les modèles Amazon Nova.

Amazon Nova Micro

Amazon Nova Lite

Amazon Nova Pro

Amazon Nova Premier

amazon.nova-micro-v1:0

amazon.nova-lite-v1:0

amazon.nova-pro-v1:0

amazon.nova-premier-v1:0

L’API Converse prend en charge les paramètres d’inférence suivants transmis sous forme d’objet JSON sous l’attribut inferenceConfig :

  • maxTokens : le nombre maximum de jetons à autoriser dans la réponse.

  • stopSequences – Liste des séquences d’arrêt. Une séquence d’arrêt est une séquence de caractères qui empêche le modèle de générer la réponse.

  • temperature : probabilité que le modèle sélectionne des options à probabilité plus élevée tout en générant une réponse.

  • topP : pourcentage de candidats les plus probables pris en compte par le modèle pour le jeton suivant.

Le paramètre supplémentaire « topK » peut être transmis via l’attribut additionalModelRequestFields, comme indiqué ci-dessous.

Voici un exemple d’utilisation de l’API Converse avec boto3, le kit SDK AWS pour Python avec Amazon Nova Lite :

import boto3 import json client = boto3.client("bedrock-runtime") system = [{ "text": "You are a helpful assistant" }] messages = [ {"role": "user", "content": [{"text": "Write a short story about dragons"}]}, ] inf_params = {"maxTokens": 300, "topP": 0.1, "temperature": 0.3} additionalModelRequestFields = { "inferenceConfig": { "topK": 20 } } model_response = client.converse( modelId="us.amazon.nova-lite-v1:0", messages=messages, system=system, inferenceConfig=inf_params, additionalModelRequestFields=additionalModelRequestFields ) print("\n[Full Response]") print(json.dumps(model_response, indent=2)) print("\n[Response Content Text]") print(model_response["output"]["message"]["content"][0]["text"])

Pour plus de détails sur l’API Converse et son utilisation, veuillez vous référer à Mener une conversation avec les opérations API Converse.