Invocare uno strumento
Se Amazon Nova decide di chiamare uno strumento, verrà restituito un blocco sull’uso dello strumento come parte del messaggio dell’assistente e il motivo dell’interruzione sarà “tool_use”. Il blocco dello strumento conterrà il nome dello strumento e i relativi input.
Nota
Per migliorare l’accuratezza delle chiamate agli strumenti, il comportamento predefinito dei modelli Amazon Nova prevede l’utilizzo del ragionamento basato sulla catena di pensiero per la chiamata degli strumenti. Il processo di pensiero verrà reso disponibile nel messaggio dell’assistente e sarà contenuto nei tag <thinking>. È possibile avere molteplici chiamate degli strumenti e blocchi di pensiero, quindi l’applicazione deve tenerne conto.
Se la scelta dello strumento è configurata su any o tool, ciò sovrascriverà il comportamento della catena di pensiero e la risposta conterrà solo le chiamate agli strumenti necessarie.
{ "toolUse": { "toolUseId": "tooluse_20Z9zl0BQWSXjFuLKdTJcA", "name": "top_song", "input": { "sign": "WZPZ" } } }
Per chiamare effettivamente lo strumento, è possibile estrarre il nome dello strumento e gli argomenti dal messaggio e l’applicazione può quindi invocarlo.
Ecco un esempio di come puoi elaborare una chiamata dello strumento.
def get_top_song(sign): print(f"Getting the top song at {sign}") return ("Espresso", "Sabrina Carpenter") stop_reason = response["stopReason"] tool, song, artist = None, None, None if stop_reason == "tool_use": thought_process = next( block["text"] for block in response["output"]["message"]["content"] if "text" in block ) print(thought_process) tool = next( block["toolUse"] for block in response["output"]["message"]["content"] if "toolUse" in block ) if tool["name"] == "top_song": song, artist = get_top_song(tool["input"]["sign"])
È importante tenere a mente la sicurezza quando si definiscono e si invocano gli strumenti. Gli LLM come Amazon Nova non hanno accesso ai dettagli della sessione, quindi le autorizzazioni devono essere convalidate in caso di necessità prima di invocare uno strumento. Basati sui dettagli utente della sessione invece di migliorare il prompt e consentire ad Amazon Nova di inserirlo nella chiamata dello strumento.