Utilizzo dello strumento (chiamata delle funzioni) con Amazon Nova - Amazon Nova

Utilizzo dello strumento (chiamata delle funzioni) con Amazon Nova

Gli strumenti sono un modo per fornire funzionalità esterne ad Amazon Nova, come una chiamata API o una funzione di codice. Questa sezione illustrerà come definire e integrare gli strumenti quando lavori con i modelli Amazon Nova.

L’uso degli strumenti prevede tre fasi generali:

  • Interrogazione dell’utente: definisci gli strumenti che Amazon Nova può utilizzare fornendo uno schema JSON che descrive le funzionalità e i requisiti di input di ogni strumento.

  • Selezione dello strumento: quando un utente invia un messaggio, Amazon Nova lo analizza per determinare se è necessario uno strumento per generare una risposta. Questa operazione viene definita scelta dello strumento Auto. Per ulteriori informazioni, consulta Choosing a tool. Se Amazon Nova identifica uno strumento adatto, “chiamerà” lo strumento e restituirà il nome dello strumento e i parametri da utilizzare.

    In qualità di sviluppatore, tu sei responsabile dell’esecuzione dello strumento in base alla richiesta del modello. Ciò significa che devi scrivere il codice che invoca la funzionalità dello strumento e l’elaborazione dei parametri di input forniti dal modello.

    Nota

    Come tutte le risposte LLM, è possibile che Amazon Nova produca una chiamata dello strumento. È tua responsabilità, in qualità di sviluppatore, verificare che lo strumento esista, che gli input siano formattati correttamente e che le autorizzazioni appropriate siano già messe in atto.

  • Restituzione dei risultati: dopo aver eseguito lo strumento, devi inviare nuovamente i risultati ad Amazon Nova in un formato strutturato. I formati validi includono JSON o una combinazione di testo e immagini. Ciò consente ad Amazon Nova di incorporare l’output dello strumento nella risposta finale all’utente.

    Se si verificano errori durante l’esecuzione dello strumento, puoi indicarlo nella risposta dello strumento ad Amazon Nova, consentendo ad Amazon Nova di modificare di conseguenza la sua risposta.

Prendiamo un esempio semplice di uno strumento di calcolo:

User query

Il primo passaggio del flusso di lavoro di chiamata dello strumento è la richiesta dell’utente ad Amazon Nova per il risultato di un’equazione matematica, 10 per 5. Questa query viene inviata come prompt ad Amazon Nova insieme a una specifica dello strumento che rappresenta la calcolatrice.

user_query = "10*5" messages = [{ "role": "user", "content": [{"text": user_query}] }] tool_config = { "tools": [ { "toolSpec": { "name": "calculator", # Name of the tool "description": "A calculator tool that can execute a math equation", # Concise description of the tool "inputSchema": { "json": { "type": "object", "properties": { "equation": { # The name of the parameter "type": "string", # parameter type: string/int/etc "description": "The full equation to evaluate" # Helpful description of the parameter } }, "required": [ # List of all required parameters "equation" ] } } } } ] }
Tool selection

Amazon Nova utilizza il contesto dello strumento insieme al prompt dell’utente per determinare lo strumento necessario da utilizzare e la configurazione richiesta. Questo viene restituito come parte della risposta dell’API.

{ "toolUse": { "toolUseId": "tooluse_u7XTryCSReawd9lXwljzHQ", "name": "calculator", "input": { "equation": "10*5" } } }

L’applicazione è responsabile dell’esecuzione dello strumento e della memorizzazione del risultato.

def calculator(equation: str): return eval(equation) tool_result = calculator("10*5")
Return results

Per restituire il risultato dello strumento ad Amazon Nova, il risultato dello strumento viene incluso in una nuova richiesta API. L’ID di utilizzo dello strumento è coerente con quello restituito da Amazon Nova nella risposta precedente.

{ "toolResult": { "toolUseId": "tooluse_u7XTryCSReawd9lXwljzHQ", "content": [ { "json": { "result": "50" } } ], "status": "success" } }
  • Amazon Nova utilizzerà l’intero contesto dei messaggi, fra cui la query iniziale dell’utente, l’uso dello strumento e il risultato dello strumento per determinare la risposta finale all’utente. In questo caso, Amazon Nova risponderà all’utente che “10 per 5 fa 50”.

Amazon Nova consente l’uso di strumenti sia nell’API Invoke che nell’API Converse; tuttavia, per una gamma completa di funzionalità, consigliamo di utilizzare l’API Converse e in futuro utilizzeremo esempi con questa API.

Riferimenti aggiuntivi