Utilisation des outils - Amazon Nova

Utilisation des outils

Pour utiliser un outil, celui-ci doit être défini dans le cadre de l’événement promptStart dans votre configuration de session. Ceci est illustré dans le code suivant :

{ "event": { "promptStart": { "promptName": "string", "textOutputConfiguration": { "mediaType": "text/plain" }, "audioOutputConfiguration": { "mediaType": "audio/lpcm", "sampleRateHertz": 8000 | 16000 | 24000, "sampleSizeBits": 16, "channelCount": 1, "voiceId": "matthew" | "tiffany" | "amy", "encoding": "base64", "audioType": "SPEECH" }, "toolUseOutputConfiguration": { "mediaType": "application/json" }, "toolConfiguration": { "tools": [ { "toolSpec": { "name": "string", "description": "string", "inputSchema": { "json": "{}" } } } ] } } } }

Composants de la définition d’un outil

Chaque spécification d’outil nécessite les éléments suivants :

  • Nom : identifiant unique de l’outil.

  • Description : une explication de ce que fait l’outil et quand il doit être utilisé.

  • Schéma d’entrée : le schéma JSON qui définit les paramètres requis.

Exemple d’outil de base

Voici un exemple d’outil simple qui récupère des informations sur la date actuelle. Pour plus d’informations sur la définition d’un outil, consultez Définition d’un outil.

// A simple tool with no required parameters const dateTool = { toolSpec: { name: "getDateTool", description: "Get information about the current date", inputSchema: { json: JSON.stringify({ type: "object", properties: {}, required: [] }) } } };

Voici à quoi ressemblerait l’événement promptStart :

{ event: { promptStart: { promptName: "string", textOutputConfiguration: { mediaType: "text/plain" }, audioOutputConfiguration: { mediaType: "audio/lpcm", sampleRateHertz: 24000, sampleSizeBits: 16, channelCount: 1, voiceId: "tiffany", encoding: "base64", audioType: "SPEECH" }, toolUseOutputConfiguration: { mediaType: "application/json" }, toolConfiguration: { tools: [ { toolSpec: { name: "getDateTool", description: "get information about the current date", inputSchema: { json: JSON.stringify({ type: "object", properties: {}, required: [] }) } } } ] } } } }