

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à.

# Utilizzo di strumenti integrati
<a name="tool-built-in"></a>

Gli strumenti integrati sono strumenti completamente gestiti e disponibili immediatamente, senza bisogno di implementazioni personalizzate. Questi possono essere abilitati nell'API Converse con un semplice interruttore. 

## Interprete di codice
<a name="code-interpreter"></a>

Code Interpreter consente a Nova di eseguire in modo sicuro il codice Python in ambienti sandbox isolati. Ciò consente la scrittura e l'esecuzione di codice, l'analisi dei dati, la creazione di visualizzazioni e la risoluzione di problemi matematici. Ad esempio, Code Interpreter può essere utilizzato per:
+ Generare report finanziari basati sui dati caricati
+ Analisi statistiche complete o simulazioni di algoritmi
+ Esegui script di migrazione del database in ambienti isolati
+ Esegui test unitari per il nuovo codice generato

Ecco un esempio di come abilitare Code Interpreter con l'API Converse:

```
{
  "messages": [
    {
      "role": "user",
      "content": [{"text":  "What is the average of 10, 24, 2, 3, 43, 52, 13, 68, 6, 7, 902, 82")}]
    }
  ],

"toolConfig": {
    "tools": [
        {
            "systemTool": {
                "name": "nova_code_interpreter"
            }
        }
    ]
},
```

In questo caso, il modello determinerà che la richiesta richiede un calcolo, quindi genera il codice Python richiesto e chiama lo strumento interprete del codice. 

```
{
    "toolUse": {
        "input": {
            "code": "'''Calculate the average of the given numbers.'''\nnumbers = [10, 24, 2, 3, 43, 52, 13, 68, 6, 7, 902, 82]\nsum_numbers = sum(numbers)\ncount = len(numbers)\naverage = sum_numbers / count\n(sum_numbers, count, average)"
        },
        "name": "nova_code_interpreter",
        "toolUseId": "tooluse_WytfF0g1S5qUeEPm0ptOdQ",
        "type": "server_tool_use"
    }
},
```

L'interprete esegue questo codice in una sandbox e acquisisce il risultato, restituito in uno schema standard:

```
{
  "stdOut": String,
  "stdErr": String,
  "exitCode": int,
  "isError": boolean
}
```

In questo caso, riceverai in cambio:

```
{
    "toolResult": {
        "content": [
            {
                "text": "{\"stdOut\":\"(1212, 12, 101.0)\",\"stdErr\":\"\",\"exitCode\":0,\"isError\":false}"
            }
        ],
        "status": "success",
        "toolUseId": "tooluse_WytfF0g1S5qUeEPm0ptOdQ",
        "type": "nova_code_interpreter_result"
    }
}
```

## Model Context Protocol
<a name="w2aac51c28b7"></a>

Il Model Context Protocol (MCP) è uno standard aperto che consente agli sviluppatori di creare connessioni bidirezionali sicure tra le fonti di dati e gli strumenti basati sull'intelligenza artificiale. Invece di scrivere adattatori personalizzati per ogni API o servizio, puoi eseguire un server MCP e lasciare che Nova scopra automaticamente i suoi strumenti tramite un bridge client. Una volta connessa, Nova tratta questi strumenti come qualsiasi altra integrazione esterna: decide quando chiamarli, invia i parametri richiesti e incorpora i risultati nella sua risposta. 