Definizione di uno strumento - Amazon Nova

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Definizione di uno strumento

Una fase fondamentale del flusso di lavoro di chiamata degli utensili è la definizione dello strumento. La definizione dell'utensile deve includere tutto il contesto necessario per guidare il modello nel momento in cui è opportuno richiamare lo strumento.

Per definire uno strumento, create una configurazione dello strumento e passatela con il messaggio dell'utente all'API. Lo schema di configurazione dello strumento prevede una serie di strumenti e, facoltativamente, un parametro di scelta dello strumento.

Nota

Amazon Nova supporta autoany, e tool opzioni pertoolChoice. Per ulteriori informazioni, consulta ToolChoicela documentazione dell'API Amazon Bedrock e Usa uno strumento per completare una risposta del modello Amazon Bedrock.

Ecco un esempio di come definire uno strumento:

tool_config = { "tools": [ { "toolSpec": { "name": "top_song", "description": "Get the most popular song played on a radio station.", "inputSchema": { "json": { "type": "object", "properties": { "sign": { "type": "string", "description": "The call sign for the radio station for which you want the most popular song. Example calls signs are WZPZ, and WKRP." } }, "required": [ "sign" ] } } } } ], }

Il nome, la descrizione e lo schema di input devono essere espliciti con l'esatta funzionalità dello strumento. Assicurati che tutti i principali fattori di differenziazione relativi all'utilizzo dello strumento si riflettano nella configurazione dello strumento.

Nota

I modelli di comprensione di Amazon Nova attualmente supportano solo un sottoinsieme di JsonSchema funzionalità se utilizzati per definire l'API ToolInputSchemain Converse.

Per la chiamata allo strumento, consigliamo di impostare la temperatura su 0 per consentire una decodifica avida.

Ecco un esempio di chiamata a uno strumento con l'API Converse:

import json import boto3 client = boto3.client("bedrock-runtime", region_name="us-east-1") input_text = "What is the most popular song on WZPZ?" messages = [{ "role": "user", "content": [{"text": input_text}] }] inf_params = {"maxTokens": 1000, "temperature": 0} response = client.converse( modelId="us.amazon.nova-lite-v1:0", messages=messages, toolConfig=tool_config, inferenceConfig=inf_params ) messages.append(response["output"]["message"]) # Pretty print the response JSON. print("[Full Response]") print(json.dumps(response, indent=2)) # Print the tool content for easy readability. tool = next( block["toolUse"] for block in response["output"]["message"]["content"] if "toolUse" in block ) print("\n[Tool Response]") print(tool)