# Contesto: argomenti ed etichette

AIsuru ti permette di creare conversazioni dinamiche e contestuali attraverso l'uso del contesto. Questa funzionalità ti consente di controllare quando determinate domande sono appropriate e come l'Agente dovrebbe interpretare e rispondere alle richieste dell'utente in base al contesto della conversazione.

### Contesto: cos'è e a cosa serve

La gestione del contesto ti permette di definire in quali situazioni specifiche una domanda o una risposta hanno senso.

Il contesto dice ad AIsuru di cosa si sta parlando in un preciso momento e, quindi, è necessario per guidare al meglio la conversazione, accedendo ad alcuni [contenuti](https://docs.aisuru.com/istruzione-gestione-contenuti-agenti/contenuti) e limitando la visibilità degli altri.

#### Argomenti ed etichette

Il contesto in AIsuru può essere gestito attraverso due tipi di elementi:

* **Argomenti** -> sono coppie nome-valore che definiscono un contesto specifico:

  * Il nome identifica il tipo di contesto (ANIMALE, OGGETTO, ecc.);
  * Il valore specifica il contesto attuale (CANE, SMARTPHONE, ecc.).

  Esempio: ANIMALE:CANE
* **Etichette** -> sono contesti semplici:
  * Il nome identifica il tema di cui si parla (es. DOMANDE\_GENERICHE);
  * Le etichette sono, in realtà, argomenti che hanno "✔️" come valore nascosto.

### Contesto impostato e contesto necessario

Gli argomenti e le etichette possono essere utilizzati in due modi diversi che influenzano come l'Agente gestisce i contenuti:

* **Contesto impostato** ("Imposta argomenti" in piattaforma):
  * Indica all'Agente di cosa si sta parlando in questo momento;
  * Aiuta l'Agente a prioritizzare i contenuti più rilevanti per il contesto attuale;
  * NON limita l'accesso ai contenuti, ma li organizza per rilevanza;
  * Esempio:&#x20;
    * Domanda: "Parliamo di cani";
    * Risposta: "Ok, parliamo di cani" \[argomento impostato: `ANIMALE:CANE`];
    * Dopo questa frase, l'Agente saprà che la conversazione riguarda i cani e potrà fornire risposte più pertinenti.
* **Contesto necessario** ("argomenti necessari" in piattaforma):
  * Funziona come un vero e proprio filtro che impedisce all'Agente di accedere ai contenuti finché non viene impostato un certo contesto;
  * L'IA può accedere a questi contenuti SOLO quando quel specifico contesto è attivo;
  * Se non imposti alcun argomento necessario, l'Agente avrà sempre accesso al tuo contenuto, a prescindere dal contesto impostato;
  * Esempio:
    * `ANIMALE:CANE`: la domanda è rilevante solo quando si parla di cani;
    * `OGGETTO:BACCHETTA`: la domanda è appropriata solo nel contesto di una bacchetta.

La differenza chiave tra i due tipi di contesto è che:

* **Il contesto impostato aiuta l'Agente a capire meglio la conversazione** e a prioritizzare i contenuti più rilevanti;
* **Il contesto necessario impedisce del tutto l'accesso ai contenuti** finché non viene impostato quello specifico contesto.

{% hint style="info" %} <mark style="color:blue;">Una volta impostato un certo contesto, anche i contenuti con quel contesto necessario potranno essere passati all'IA generativa per rispondere alle domande degli utenti.</mark>
{% endhint %}

### Come gestire il contesto dei tuoi contenuti

#### Aggiungi un contesto

Se vuoi aggiungere un contesto ai tuoi contenuti:

1. Accedi ai <img src="https://1354986948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuUjufNfSvKb2ycDd1oKF%2Fuploads%2Fp1o2EhTGPAcmZa9cUfd5%2Fcontenuti.svg?alt=media&#x26;token=49675fc6-676f-4adc-b3e3-16bc70f44401" alt="" data-size="line"> **Contenuti** e creane uno o modificane uno esistente;
2. Vai alla sezione "Avanzate: gestione contesto";
3. Scegli se aggiungere un argomento da impostare (sezione "Argomenti impostati") o necessario (sezione "Argomenti necessari");
4. Scegli tra "Nuovo argomento" o "Nuova etichetta" in base alle tue esigenze;
5. Compila nome e valore (se presente) nella scheda che si aprirà;
6. Conferma i dati e salva le modifiche del contenuto.

💡 Puoi anche utilizzare "Suggerisci etichette" per ricevere proposte basate sul contenuto.

#### Annulla un contesto

Per annullare un contesto, aggiungi un argomento con lo stesso nome e **inserisci "-" come valore**.

Esempio: `ANIMALE:-` annullerà il contesto "ANIMALE", che non sarà più impostato e non avrà più alcun valore.

### Esempi pratici

#### Scenario: assistente per un negozio di animali

1. Domanda dell'Agente all'utente: "Che tipo di animale ti interessa?";
2. Utente: "I cani", imposta argomento: `ANIMALE:CANE`;
3. Argomento necessario: Domanda: "Quali sono le esigenze alimentari specifiche?", argomento necessario: `ANIMALE:CANE`;
4. Annullare un contesto: Domanda: "Vorrei parlare di un altro animale", imposta argomento: `ANIMALE:-`.

#### Flusso di conversazione

1. Utente: "Vorrei informazioni sugli animali domestici";
2. Agente: "Certo! Che tipo di animale ti interessa?";
3. Utente: "I cani";
4. Agente: (imposta `ANIMALE:CANE`) "Ottimo! I cani sono animali meravigliosi. Cosa vorresti sapere sui cani?";
5. Utente: "Quali sono le loro esigenze alimentari?";
6. Agente: (verifica `ANIMALE:CANE`, domanda pertinente) "I cani hanno bisogno di una dieta equilibrata. In generale, necessitano di proteine di alta qualità, carboidrati, grassi, vitamine e minerali. La quantità e il tipo di cibo dipendono dall'età, dalla taglia e dal livello di attività del cane...";
7. Utente: "Vorrei parlare di un altro animale";
8. Agente: (imposta `ANIMALE:-`) "Certamente! Di quale altro animale vorresti parlare?".

{% hint style="info" %}
Per ragioni di sicurezza, **l'**[**IA generativa**](https://docs.aisuru.com/ai-generativa) **non può leggere né applicare i contesti in autonomia**. Questo compito viene svolto da AIsuru.
{% endhint %}

### Vantaggi dell'uso dei contesti

* Conversazioni più naturali e coerenti;
* Risposte più pertinenti e precise;
* Possibilità di creare percorsi di dialogo complessi e ramificati;
* Migliore gestione di argomenti multipli all'interno della stessa conversazione.

L'utilizzo efficace di contesti e variabili di contesto può trasformare il tuo Agente in un assistente veramente intelligente e contestuale. Sperimenta con queste funzionalità per creare esperienze di conversazione ricche e dinamiche che si adattano alle esigenze e agli interessi specifici dei tuoi utenti.
