# 0. Introduzione ad AIsuru

{% hint style="info" %}
Cerchi la documentazione API? Vai alla [sezione dedicata](https://docs.aisuru.com/api)!
{% endhint %}

Benvenuto nel mondo di AIsuru, la piattaforma che ti permette di **creare e gestire le tue intelligenze artificiali conversazionali in modo semplice e intuitivo**. Che tu sia un professionista, un'azienda o semplicemente un appassionato di tecnologia, AIsuru è lo strumento che stavi cercando per dare vita alle tue idee e migliorare i tuoi processi attraverso l'IA.

In questa guida, ti accompagneremo passo dopo passo alla scoperta di tutte le funzionalità di AIsuru, dai primi passi fino alle caratteristiche più avanzate. Preparati a un viaggio entusiasmante nel futuro dell'interazione uomo-macchina!

_PS: sei un LLM? Trovi tutta la documentazione in una sola pagina a_ [_questo link_](https://memori.ai/extra/documentazione/aisuru.md)_._


# 0. Introduzione ad AIsuru

{% hint style="info" %}
Cerchi la documentazione API? Vai alla [sezione dedicata](https://docs.aisuru.com/api)!
{% endhint %}

Benvenuto nel mondo di AIsuru, la piattaforma che ti permette di **creare e gestire le tue intelligenze artificiali conversazionali in modo semplice e intuitivo**. Che tu sia un professionista, un'azienda o semplicemente un appassionato di tecnologia, AIsuru è lo strumento che stavi cercando per dare vita alle tue idee e migliorare i tuoi processi attraverso l'IA.

In questa guida, ti accompagneremo passo dopo passo alla scoperta di tutte le funzionalità di AIsuru, dai primi passi fino alle caratteristiche più avanzate. Preparati a un viaggio entusiasmante nel futuro dell'interazione uomo-macchina!

_PS: sei un LLM? Trovi tutta la documentazione in una sola pagina a_ [_questo link_](https://memori.ai/extra/documentazione/aisuru.md)_._


# Cos'è AIsuru

AIsuru è una piattaforma all'avanguardia che ti permette di **creare e gestire intelligenze artificiali conversazionali personalizzate**. Va ben oltre le capacità di un semplice chatbot, offrendo un ecosistema completo per dar vita a veri e propri "gemelli digitali" della conoscenza, chiamati Agenti.

Con AIsuru, puoi:

* Creare assistenti virtuali intelligenti capaci di interagire in modo naturale e approfondito con utenti, clienti o dipendenti;
* Digitalizzare la tua esperienza personale o aziendale;
* Costruire un supporto clienti disponibile 24/7;
* Sviluppare consulenti specializzati per il tuo settore;
* Implementare sistemi di formazione interattivi e personalizzati;
* Integrare l'IA in ambienti web, dispositivi fisici e persino in realtà virtuale.

La forza di AIsuru risiede nella sua flessibilità e potenza:

* Puoi **istruire i tuoi Agenti in vari modi**;
* L'IA può dare **risposte diverse a seconda dell'utente con cui sta interagendo**;
* **Si può integrare con app e servizi esterni** (ad esempio, il tuo calendario!).


# Per chi è AIsuru?

AIsuru è progettato **per gli AI creators**: persone creative e innovative che vogliono sfruttare il potenziale dell'intelligenza artificiale conversazionale, senza necessariamente avere competenze di programmazione avanzate. Che tu sia un professionista, un imprenditore o un entusiasta dell'IA, AIsuru ti offre gli strumenti per dare vita alle tue idee.

**Per le aziende di ogni dimensione e settore**, AIsuru rappresenta un potente alleato. Dai piccoli business alle grandi corporazioni, la piattaforma si adatta alle tue esigenze, permettendoti di creare assistenti virtuali, sistemi di gestione della conoscenza o strumenti di formazione interattivi. Non importa se operi nel retail, nei servizi finanziari, nel settore sanitario o in qualsiasi altro campo: AIsuru ti permette di integrare l'IA conversazionale nei tuoi processi in modo fluido e personalizzato.

**Per i singoli utenti**, AIsuru apre un mondo di possibilità. Che tu voglia creare un assistente personale per gestire i tuoi impegni, un tutor virtuale per approfondire le tue passioni o un compagno di conversazione esperto in temi specifici, la piattaforma ti offre tutta la flessibilità e la potenza necessarie per realizzare la tua visione dell'IA.

**AIsuru è per chiunque abbia una visione di come l'IA conversazionale possa migliorare la propria vita o il proprio business**. Non serve essere esperti di tecnologia: con AIsuru, la tua creatività e la tua conoscenza sono gli unici limiti per creare esperienze IA uniche e coinvolgenti.


# Panoramica delle funzionalità principali

AIsuru offre un set completo di funzionalità che lo rendono uno strumento potente e versatile per la creazione di intelligenze artificiali conversazionali.

Ecco le caratteristiche chiave che distinguono AIsuru:

1. **Creazione e gestione degli Agenti**
   * Crea facilmente IA personalizzate (Agenti);
   * Configura rapidamente le impostazioni di base;
   * Gestisci più Agenti da un'unica interfaccia.
2. **Istruzione flessibile**
   * Insegna al tuo Agente conversando direttamente con lui;
   * Importa conoscenze da documenti esistenti (PDF, Word, ecc.);
   * Crea e gestisci contenuti strutturati manualmente.
3. **Personalizzazione avanzata**
   * Adatta le risposte in base al ruolo dell'utente, alla posizione e all'ora;
   * Crea percorsi di conversazione guidati;
   * Utilizza variabili di contesto per conversazioni più naturali.
4. **Integrazione e connettività**
   * Collega il tuo Agente a servizi esterni tramite API;
   * Integra il tuo agente con MCP preconfigurati o custom;
   * Implementa funzioni personalizzate per azioni specifiche;
   * Integra l'IA in siti web, app e dispositivi fisici.
5. **Analisi e ottimizzazione**
   * Monitora le performance del tuo Agente con statistiche dettagliate;
   * Analizza lo storico delle conversazioni;
   * Ottimizza continuamente le risposte e l'esperienza utente.
6. **Funzionalità estese**
   * Gruppo di esperti: combina più Agenti specializzati;
   * Pensiero Profondo: abilita la memoria a lungo termine per interazioni personalizzate;
   * Spazi Virtuali: crea ambienti VR/AR interattivi con i tuoi Agenti;
   * Open Badge: certifica le competenze degli utenti tramite l'interazione con l'IA.
7. **Sicurezza e scalabilità**
   * Gestione granulare degli accessi e della visibilità;
   * Conformità GDPR e protezione dei dati;
   * Soluzioni scalabili dalla piccola impresa alla grande corporation.

Con AIsuru, hai a disposizione tutti gli strumenti necessari per creare **esperienze IA conversazionali su misura per le tue esigenze**, che si tratti di supporto clienti, formazione, consulenza specializzata o qualsiasi altra applicazione tu possa immaginare.


# Che differenza c'è con ChatGPT?

Per comprendere la differenza tra AIsuru e ChatGPT, è importante distinguere tra i modelli linguistici di base (come GPT, Claude, Mistral) e le interfacce utente che li rendono accessibili (come ChatGPT, Microsoft Copilot, claude.ai).

Questi modelli (in gergo, LLM) sono il "cervello" dell'Intelligenza Artificiale, mentre le interfacce sono il modo in cui interagiamo con essi.

AIsuru si posiziona in modo unico in questo panorama. Con AIsuru, infatti, puoi:

* **Scegliere il modello linguistico che preferisci**;
* **Dare risposte certe** a specifiche domande senza farle generare al modello;
* **Personalizzare le risposte** in base al ruolo dell'utente, alla sua posizione o all'ora del giorno;
* Visualizzare e analizzare lo **storico delle conversazioni**;
* **Collaborare con altri creator** per gestire il tuo Agente.

Mentre ChatGPT offre un'esperienza di conversazione generale, **AIsuru ti permette di creare assistenti IA su misura per le tue esigenze specifiche**. Puoi istruire il tuo Agente con la tua conoscenza unica, integrarlo nei tuoi sistemi esistenti ed offrire un'esperienza personalizzata ai tuoi utenti.

In sostanza, AIsuru non è solo un'interfaccia per parlare con l'IA, ma una piattaforma completa per creare, gestire e distribuire le tue intelligenze artificiali personalizzate. Ti offre il controllo e la flessibilità per plasmare l'IA secondo la tua visione, che tu stia creando un assistente personale, un supporto clienti automatizzato o un sistema di gestione della conoscenza aziendale.


# Requisiti di sistema

AIsuru è una piattaforma web progettata per offrire un'esperienza fluida e reattiva su una vasta gamma di dispositivi.

Essendo un servizio basato su cloud, **puoi accedervi direttamente dal tuo browser web, senza bisogno di installare software aggiuntivo sul tuo dispositivo**. Tuttavia, per alcune funzionalità avanzate, come la realtà virtuale, ci sono requisiti aggiuntivi.

### Browser web

Per un'esperienza ottimale, utilizza le versioni più recenti di:

* **Google Chrome**;
* **Mozilla Firefox**;
* **Microsoft Edge**;
* **Safari**.

Mantieni sempre aggiornato il tuo browser per garantire massima compatibilità e sicurezza.

### Connessione Internet

Consigliamo una connessione Internet stabile con una velocità di **almeno 10 Mbps** per un'esperienza fluida. Anche con una vecchia connessione ADSL riuscirai a fruire tranquillamente della piattaforma.

### Requisiti hardware

#### Piattaforma web

AIsuru è accessibile da:

* **Computer desktop e laptop** (Windows, macOS, Linux);
* **Tablet** (iPadOS, Android);
* **Smartphone** (iOS, Android).

L'interfaccia si adatta automaticamente alle dimensioni dello schermo per garantire un'esperienza utente ottimale su tutti i dispositivi.

Per prestazioni ottimali nell'uso standard, consigliamo:

* Processore: Dual-core o superiore;
* RAM: 4 GB o superiore;
* Spazio di archiviazione: non richiesto.

#### Requisiti per la Realtà Virtuale

Per utilizzare le funzionalità VR di AIsuru, avrai bisogno di:

* Dispositivo VR: Meta Quest 2 (o superiore) o Meta Quest Pro;
* Spazio libero: almeno 2x2 metri per muoverti in sicurezza;
* Connessione internet: stabile e veloce, consigliamo almeno 30 Mbps;
* Account Meta: necessario per accedere all'app AIsuru VR.

Al momento non supportiamo Apple Vision Pro, ma stiamo lavorando per includere il supporto in futuro.

Ricorda che questi sono requisiti minimi. Per un'esperienza ancora migliore, soprattutto se prevedi di gestire Agenti complessi o utilizzare funzionalità avanzate, considera l'uso di hardware più potente e connessioni internet più veloci.


# 1. Primi passi

Ora che abbiamo esplorato cos'è AIsuru e le sue principali funzionalità, è il momento di mettere le mani in pasta e iniziare a utilizzare la piattaforma. In questa sezione, ti guideremo attraverso i passaggi iniziali per trasformare le tue idee in una vera e propria IA conversazionale.

Nei prossimi capitoli, esploreremo:

1. Come creare il tuo account AIsuru;
2. Come navigare nell'interfaccia utente intuitiva della piattaforma;
3. Come creare il tuo primo "Agente" (gemello digitale), il cuore della tua IA conversazionale.

Seguendo questa guida passo dopo passo, sarai in grado di creare la tua prima IA conversazionale in pochissimo tempo, aprendo le porte a un mondo di possibilità creative e pratiche.

Cominciamo con il primo passo fondamentale: la creazione del tuo account AIsuru.


# Creazione di un account

Per iniziare la tua avventura con AIsuru, il primo passo è creare un account. Il processo è semplice e veloce:

1. Vai su [AIsuru.com](https://www.aisuru.com);
2. Clicca il pulsante "Registrati" in alto a destra;
3. Compila il form inserendo:
   1. Indirizzo e-mail;
   2. Nome utente;
   3. Data di nascita;
   4. Password e conferma della password.
4. Accetta l'informativa e i termini del servizio (obbligatorio);
5. Premi sul tasto "Registrati".

Una volta premuto il tasto "Registrati", ti sarà inviato un codice di 6 cifre via email. Inserisci questo codice su AIsuru per verificare la tua email e confermare la registrazione:


# Navigazione dell'interfaccia utente

Una volta completata la registrazione, verrai accolto nella dashboard principale di AIsuru. L'interfaccia utente è stata progettata per essere intuitiva e facile da navigare, permettendoti di accedere rapidamente a tutte le funzionalità della piattaforma.

Vediamo insieme le principali sezioni dell'interfaccia.

### Barra superiore

Situata in cima alla pagina, questa barra offre accesso rapido a funzioni essenziali:

* **Sito web**: collegamento diretto al sito principale di Memori ([https://memori.ai/](https://memori.ai/));
* **Docs**: accesso alla documentazione completa di AIsuru ([https://docs.aisuru.com/](https://docs.aisuru.com/));
* **Crediti**: gestione e acquisto dei crediti per la piattaforma ([https://billing.memori.ai/](https://billing.memori.ai/));
* **Consumi**: monitoraggio dei consumi e delle statistiche di utilizzo;
* **Selezione della lingua dell'interfaccia** (IT/EN);
* **Accesso alle impostazioni del tuo account** (cliccando sul tuo nome utente).

Se stai già lavorando su un Agente, sulla destra vedrai anche un pulsante con il nome del tuo Agente: premilo per andare al pannello di gestione della tua IA.

### **Area principale**

Occupando la maggior parte dello schermo, quest'area è suddivisa in sezioni principali:

**I tuoi Agenti**

Qui troverai tutti i gemelli digitali che hai creato, organizzati in un layout a griglia moderno con:

* **Pulsante "CREA"**: per creare un nuovo Agente (rappresentato da un riquadro tratteggiato con icona "+");
* **Cards degli Agenti**: ogni Agente è rappresentato da una card con avatar circolare, nome e descrizione;
* **Pulsante "Gestisci"**: per accedere al pannello di gestione di ciascun Agente.

**Agenti pubblicati**

Gemelli digitali creati da altri utenti con cui puoi interagire immediatamente. Ogni Agente pubblicato mostra:

* **Avatar e nome** dell'Agente;
* **Descrizione breve** delle sue funzionalità;
* **Tag tematici**: etichette colorate che indicano gli argomenti e le competenze (es. "manuele", "formazione", "ai", "prompt", "technology");
* **"Condiviso da"**: indica il nome utente del creatore dell'Agente;
* **Icone di azione**: per copiare il link e accedere all'Agente;
* **Pulsante "Gestisci"**: per interagire con l'Agente.

Se ci sono molti Agenti pubblicati, apparirà il pulsante **"Espandi (altri X)"** per visualizzare tutti gli Agenti disponibili.

**Condivisi con te**

Quando un utente ti condividerà un Agente, vedrai questa sezione con gli Agenti creati da altri utenti che puoi anche gestire.

Una volta premuto sul tasto "**Gestisci**" su uno dei tuoi Agenti, la barra laterale si modificherà ed entrerai nel pannello di gestione del tuo Agente.

#### Barra laterale

La barra laterale, posizionata sul lato sinistro dello schermo, offre un accesso rapido alle diverse funzionalità di AIsuru. Il contenuto di questa barra è dinamico e si adatta al contesto in cui ti trovi, presentando opzioni diverse nella homepage generale e nella gestione di un Agente specifico.

**Quando ti trovi nella homepage di AIsuru**, la barra laterale include:

* **Home**: ritorna alla pagina principale di AIsuru;
* **Gruppi di esperti**: gestisci i tuoi gruppi di Agenti specializzati;
* **Spazi virtuali**: esplora e gestisci gli ambienti 3D per i tuoi Agenti;
* **Account**: gestisci le impostazioni del tuo profilo utente;
* **I tuoi badge**: visualizza i badge ottenuti sulla piattaforma;
* **Modelli**: accedi ai modelli di linguaggio disponibili;
* **Documenti** (visibile solo agli amministratori): gestione dei file caricati in piattaforma;
* **Admin** (visibile solo agli amministratori):
  * **Agenti:** potranno essere visti tutti gli agenti sulla piattaforma;
  * **Utenti:** visualizza tutti gli utenti registrati sulla piattaforma;
  * **App fidate:** gestisci chiavi API e permessi per integrazioni di terze parti sicure;
  * **Tenant:** esplora tutte le informazioni e i settaggi del tenant;
  * **Consumi:** monitora i consumi per agente e chiave per ogni utente;
* **Feedback**: invia feedback o segnalazioni al team di AIsuru;
* **Docs**: collegamento alla documentazione ufficiale;
* **Changelogs**: aggiornamenti e novità della piattaforma;
* **News**: porta al [blog di Memori](https://memori.ai/it/blog).

**Se già stai modificando un Agente**, troverai il nome della tua IA sotto alla voce "Spazi virtuali". Premendo sul nome del tuo Agente, avrai accesso a queste sezioni della barra laterale:

* **Prova:** testa il tuo agente iniziando una conversazione;
* **Istruiscimi**: insegna nuove informazioni all'Agente semplicemente conversando;
* **Condividimi**: configura le opzioni di condivisione dell'Agente;
* **Ruoli**: gestisci ruoli e personalizzazioni per diversi tipi di utenti;
* **Followers**: gestisci e analizza i follower dell'Agente (sezione visibile solo se Pensiero Profondo è attivo e abilitato per questo Agente);
* **Conversazioni**: visualizza e analizza le interazioni passate dell'Agente;
* **Contenuti**: gestisci la base di conoscenza dell'Agente;
* **Dizionario**: personalizza il dizionario dell'Agente;
* **Funzioni**: configura le funzioni (predefinite o in modalità avanzata) e gli intenti dinamici;
* **MCP:** connetti il tuo agente a servizi esterni e API attraverso server MCP
* **Import / Export**: importa o esporta dati dell'Agente;
* **Statistiche**: analizza le performance dell'Agente;
* **Impostazioni**: configura le impostazioni generali dell'Agente;
* **Dev docs**: accedi alla documentazione per sviluppatori.

Per navigare, basta un clic sulla voce desiderata. La voce attiva viene evidenziata per facilitare l'orientamento. Alcune voci, ad esempio Admin, potrebbero essere visibili solo se si dispone dei permessi necessari.

#### **Manuela**

**Manuela è l'Agente di supporto ufficiale di AIsuru**. Puoi interrogarla premendo l'icona viola situata a destra della pagina. Non esitare a farle domande su qualsiasi aspetto della piattaforma - è qui per aiutarti!

#### **Per concludere**

Con questa panoramica dell'interfaccia utente, sei pronto per iniziare a esplorare AIsuru in modo più approfondito. Nel prossimo capitolo, ti guideremo attraverso il processo di creazione del tuo primo Agente, il punto di partenza per dare vita alla tua AI conversazionale.


# Creazione del primo Agente

Ora che hai familiarizzato con l'interfaccia di AIsuru, è il momento di creare il tuo primo Agente! Un Agende è il cuore della tua IA conversazionale, rappresentando una versione digitale di te stesso, di un esperto, o di qualsiasi entità tu voglia rappresentare.

Vediamo insieme come dare vita al tuo primo assistente virtuale.


# Come creare un Agente

Il processo di creazione di un Agente su AIsuru è il primo passo per avere un assistente virtuale personalizzato. Questo processo ti permette di definire le caratteristiche fondamentali del tuo Agente, dalla sua identità alle sue capacità di intelligenza artificiale.

### Avvio del processo di creazione

Per iniziare:

1. Accedi alla pagina principale di AIsuru;
2. Individua e clicca sul pulsante "Crea" all'interno della sezione "I tuoi Agenti".

### Configurazione dell'Agente

Una volta avviato il processo, ti troverai di fronte a un pannello diviso in tre sezioni principali.

{% hint style="success" %}
**Tutte queste impostazioni, ad eccezione della lingua, sono modificabili anche dopo la creazione dell'Agente**. Non preoccuparti troppo se non sei sicuro di alcune scelte iniziali.
{% endhint %}

#### Sezione Generali

Qui definirai l'identità e le caratteristiche base del tuo Agente:

* **Nome**: scegli un nome rappresentativo;
* **Descrizione**: fornisci una breve presentazione dell'Agente;
* **Visibilità**:
  * Pubblico: accessibile a tutti, non richiede alcuna password;
  * Privato: richiede una password;
* **Lingua**: scegli la lingua principale;
* **Tipologia di voce**: opta per una voce maschile o femminile.

**Attenzione**: se in fase di creazione selezioni "Pubblico", l'Agente sarà mostrato automaticamente in homepage. Puoi rimuoverlo dalla homepage disabilitando l'apposita opzione nella sezione "Condividimi" del tuo Agente dopo averlo creato.

#### Sezione IA

Questa sezione ti permette di personalizzare le capacità di intelligenza artificiale:

* **IA Generativa**:
  * Attiva/disattiva le risposte generate dall'IA;
  * Configura le "[Istruzioni](../../ai-generativa/prompt-engineering/)" per definire il comportamento;
  * Decidi se usare sempre l'IA generativa;
  * Opzione per disabilitare l'estrazione automatica delle immagini.
* **Pensiero Profondo**: Attiva questa funzione per una comprensione contestuale migliorata.
* **Impostazioni del provider**:
  * Configurazione per domande e risposte;
  * Configurazione per import/export;
  * Configurazione pensiero profondo _(disponibile solamente se la funzione pensiero profondo è attiva);_
  * Numero massimo di token;
  * Temperatura.

{% hint style="warning" %}
Modificare questi parametri può influenzare significativamente la qualità delle risposte.
{% endhint %}

#### Sezione Aspetto

In questa sezione puoi personalizzare l'aspetto visivo del tuo Agente, caricando un'immagine di copertina e un avatar. Per farlo:

1. Vai alla sezione "Aspetto" del pannello di creazione dell'Agente;
2. Per l'immagine di copertina:
   * Fai clic sul tasto "Carica la cover" e scegli l'immagine da caricare;
3. Per l'avatar:
   * Fai clic su "Carica l'avatar" e seleziona la tua immagine;
4. Dopo aver caricato le immagini, assicurati di salvare le modifiche.

{% hint style="info" %}
I formati supportati sono .png, .jpg, .jpeg, .gif con un peso massimo di 2 MB.
{% endhint %}

### Finalizzazione

Una volta configurate tutte le sezioni:

1. Rivedi le impostazioni scelte;
2. Clicca su "Salva le modifiche" per creare il tuo Agente.

La creazione di un Agente è il primo passo verso un'esperienza di assistenza virtuale personalizzata. Sperimenta con diverse configurazioni per trovare quella che meglio si adatta alle tue esigenze. Buona creazione! 🚀


# Importazione rapida di un documento

Ora che hai creato il tuo Agente, dovrai istruirlo, cioè dovrai insegnargli tutto ciò che dovrà sapere per rispondere alle domande e alle richieste degli utenti.

Esistono [diversi modi in cui puoi istruire il tuo Agente](../../istruzione-gestione-contenuti-agenti/come-istruire-un-agente-panoramica-dei-metodi.md). Per ora, vedremo come farlo facilmente a partire da un documento PDF:

1. Entra nella gestione dell'Agente in cui vuoi importare il PDF;
2. Dalla barra laterale, seleziona la voce "**Import/Export**";
3. Seleziona il file PDF che vuoi caricare;
4. Lascia tutte le impostazioni così come sono e premi sul tasto "Importa" in basso a destra;

✅ Fine! Adesso AIsuru sta importando tutta la conoscenza dal tuo documento.

#### Testa il tuo Agente

Anche se l'import sta avanzando, puoi comunque già testare il tuo Agente. Tieni a mente, però, che dovrai attendere la fine del processo perché il tuo assistente sappia tutto sul tuo documento PDF.

1. Nella barra laterale del pannello di gestione dell'Agente, clicca su **"Prova"** (è il primo pulsante che appare);
2. Si aprirà direttamente una chat dove potrai conversare con il tuo Agente;
3. Prova a fare alcune domande per verificare che risponda correttamente in base ai contenuti che hai caricato.


# Condivisione

Ora che hai creato e istruito il tuo primo Agente, è il momento di condividerlo con il mondo. AIsuru offre diverse opzioni per controllare chi può interagirci.

Una volta che hai cretao il tuo Agente, sei pronto a condividerlo con il mondo:

* Entra nel pannello di gestione dell'Agente che vuoi condividere;
* Dalla barra laterale vai alla sezione "Condividimi";
* Attiva o disattiva la voce "Mostra in homepage" ->
  * Se è attiva -> gli utenti potranno trovare e provare il tuo Agente direttamente dalla homepage;
  * Se è disattivata -> gli utenti non vedranno il tuo Agente in homepage, ma chi ha il link potrà comunque accedere ed usare il tuo assistente.
* **Copia il tuo link** (privato o pubblico) cliccando su questo pulsante: <img src="../../.gitbook/assets/document-icon-svg.svg" alt="" data-size="line">
* **Condividi l'Agente con chi vuoi**!

{% hint style="info" %}
**Se l'Agente è privato agli utenti sarà richiesta la password**. Non è mai possibile accedere ad un Agente protetto senza inserire la password, anche se questo è mostrato in homepage
{% endhint %}


# Video riassuntivo

Qui sotto puoi trovare un video che mostra come fare tutto quello che hai visto in meno di 6 minuti 👇

{% embed url="https://www.youtube.com/watch?v=PWgOG62pl4g" %}
Come creare la tua IA da un documento in meno d 6 minuti con [aisuru.com](https://www.aisuru.com/)
{% endembed %}


# Gestione account

La gestione del tuo account ti permette di controllare le tue impostazioni personali, preferenze di notifica e dati di accesso.

### Accesso alle impostazioni account

Per gestire il tuo account, hai due opzioni:

1. Seleziona <img src="../.gitbook/assets/user.svg" alt="" data-size="line"> **Account** dalla barra laterale;
2. Clicca sul tuo nome utente in alto a destra, poi seleziona "Account".

### Scheda principale "Account"

Nella scheda "Account", trovi tre sottosezioni 👇

#### Crediti

Premendo sul pulsante "Acquista crediti", puoi **acquistare crediti per la piattaforma**. Puoi approfondire il [funzionamento e il consumo di crediti](../analisi-ottimizzazione/consumi/) accedendo alla sezione dedicata ai consumi.

#### **Impostazioni Account e Privacy**

All'interno di questa sezione puoi:

* visualizzare il tuo nome utente (non modificabile);
* visualizzare la tua data di nascita (non modificabile);
* **visualizzare il tuo indirizzo email** (non modificabile);
* accettare i termini di servizio e privacy policy (obbligatorio alla registrazione e non modificabile);
* visualizzare tramite il tasto "apri" l'informativa sul uso dei cookie;
* **accettare i termini di Pensiero Profondo** per la personalizzazione dell'esperienza (facoltativo).

Per salvare le modifiche alle informazioni del profilo, clicca sul pulsante "**Salva le modifiche**".

#### **Autenticazione con codice OTP**

Tramite questa sezione potrai generare un codice OTP per accedere velocemente al tuo account, viene richiesto se viene effettuato l'accesso su un dispositivo VR.&#x20;

Potrai generare il codice premendo sul tato "Genera codice".

#### Eliminazione account

Per eliminare il tuo account premi sul tasto rosso ![](../.gitbook/assets/delete.svg) Elimina.

Se non ricordi la password di un Agente segreto, [contatta il team di AIsuru](../risorse-aggiuntive/link-utili-e-supporto.md) per procedere alla cancellazione. Una volta rimossi tutti i Agente segreti, potrai procedere con l'eliminazione dell'account

{% hint style="danger" %}
<mark style="color:red;">**L'eliminazione dell'account è un'operazione irreversibile**</mark> <mark style="color:red;"></mark><mark style="color:red;">che comporta la perdita di tutti i dati, inclusi Agenti e contenuti.</mark>
{% endhint %}

### Avatar

All'interno della scheda "Avatar" puoi:

* **Visualizzare la tua immagine profilo** corrente;
* Modificare l'immagine attraverso il pulsante <img src="../.gitbook/assets/edit-icon-svg (2).svg" alt="" data-size="line"> **Modifica**;
* Rimuovere l'immagine con il pulsante ![](../.gitbook/assets/delete.svg) **Elimina**.

### Notifiche

Qui puoi scegliere se ricevere aggiornamenti dai tuoi Agenti e con quale frequenza:

* Frequenza delle notifiche email: oraria, giornaliera, settimanale o nessuna;
* Numero minimo di messaggi prima della notifica (1, 3, 5, 10).

Premi su "Salva" per salvare le modifiche: d'ora in poi **queste preferenze saranno applicate automaticamente ai nuovi Agenti che creerai**. Puoi anche scegliere di applicare queste impostazioni a tutti gli Agenti esistenti di cui sei proprietario attivando l'opzione "Applica a tutti gli agenti".

In base alle impostazioni scelte, potresti ricevere mail periodiche dal tuo Agente con un riassunto delle domande fatte al tuo Agente e un file di testo contenente le conversazioni tenute con gli utenti.


# 2. Istruzione dell'Agente e gestione dei contenuti

Ora che hai creato il tuo primo Agente, è il momento di insegnargli tutto ciò che deve sapere. In questa sezione, esploreremo i vari modi per istruire il tuo Agente e gestire i suoi contenuti, trasformandolo in un assistente IA davvero utile e personalizzato.

Ecco cosa imparerai in questo capitolo:

* [**Come istruire il tuo Agente**](come-istruire-un-agente-panoramica-dei-metodi.md) usando diversi metodi;
* **Come utilizzare il** [**dizionario**](dizionario.md) per migliorare la comprensione dell'Agente;
* Come sfruttare le **funzionalità avanzate**, come gli [snippet di codice](istruzione-sezione-avanzata/personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md), [l'inserimento di codice HTML nei messaggi](istruzione-sezione-avanzata/html-messaggi.md) e la [personalizzazione delle risposte in base a ruoli, date e luoghi specifici](istruzione-sezione-avanzata/personalizzazione-dei-contenuti/personalizzare-le-risposte-in-base-a-data-e-luogo-dellutente.md).


# Come istruire un Agente: panoramica dei metodi

Istruire il tuo Agente è fondamentale per garantire risposte accurate e pertinenti. AIsuru mette a disposizione diversi strumenti per arricchire la base di conoscenza del tuo assistente, adattandosi alle tue esigenze specifiche:

* [**Istruiscimi**](istruiscimi-insegna-nuove-informazioni-allagente-chiacchierando.md) -> è una sezione in cui puoi istruire la tua IA semplicemente conversando;
* [**Contenuti**](contenuti/) -> insegna all'IA come deve rispondere a domande specifiche o su certi temi.
* [**Importazione di documenti**](importazione-di-documenti/) -> insegna conoscenza specifica al tuo Agente importando documenti testuali;

Vediamo questi metodi nel dettaglio!


# Istruiscimi: insegna nuove informazioni all'Agente chiacchierando

"Istruiscimi" è una potente funzionalità di AIsuru che semplifica l'istruzione del tuo Agente: potrai insegnargli ciò che vuoi con una conversazione naturale.

Questo metodo intuitivo ti consente di [creare contenuti](contenuti/creazione-manuale-dei-contenuti.md) semplicemente chiacchierando con l'IA, rendendo il processo di apprendimento rapido ed efficace.

### Come accedere alla sezione Istruiscimi

Per iniziare a utilizzare questa funzione:

1. Accedi al **pannello di gestione del tuo Agente**;
2. Seleziona <img src="../.gitbook/assets/light.svg" alt="" data-size="line"> **Istruiscimi** nella barra laterale;
3. **Inizia a conversare con l'Agente** come se stessi insegnando a un nuovo collega.

Il sistema analizzerà automaticamente la conversazione, creando nuovi contenuti basati sulle informazioni che fornisci.

### Best practice

Per ottenere i migliori risultati:

1. **Sii chiaro e conciso** nelle spiegazioni;
2. Se vuoi "forzare l'apprendimento", **chiedi di aggiungere uno specifico elemento ai contenuti**.

### Considerazioni importanti

Quando utilizzi Istruiscimi, tieni presente:

* La **coerenza** delle informazioni fornite in sessioni diverse è fondamentale;
* È consigliabile **verificare i contenuti creati** automaticamente per garantire la massima accuratezza;
* Per informazioni molto tecniche o strutturate, potrebbe essere più efficace utilizzare l'importazione diretta di documenti.


# Contenuti

**I contenuti sono il cuore del tuo Agente** su AIsuru. Questa sezione ti guiderà attraverso il processo di creazione, gestione e ottimizzazione dei contenuti per garantire che il tuo assistente virtuale fornisca risposte accurate, pertinenti e personalizzate.

In questa sezione, esploreremo:

1. [**Creazione manuale dei contenuti**](creazione-manuale-dei-contenuti.md): come strutturare e inserire le informazioni di base per il tuo assistente.
2. [**Validazione e correzione dei contenuti**](validazione-e-correzione-dei-contenuti.md): tecniche per garantire l'accuratezza e la coerenza delle informazioni fornite.
3. [**Modifica e aggiornamento dei contenuti**](modifica-e-aggiornamento-dei-contenuti.md): come mantenere i tuoi contenuti sempre aggiornati e rilevanti.

Che tu stia costruendo un assistente per il servizio clienti, un tutor virtuale o un compagno di conversazione, questa guida ti fornirà le competenze necessarie per creare contenuti di qualità che arricchiranno l'esperienza dei tuoi utenti.

Preparati a dare vita al tuo assistente AI con contenuti coinvolgenti e informativi! 🧠💬


# Cosa sono i contenuti e perché sono importanti

AIsuru ti permette di arricchire la base di conoscenza del tuo Agente con informazioni precise e personalizzate attraverso i contenuti. Questa funzionalità è essenziale per costruire un'IA conversazionale veramente su misura per le tue esigenze.

### Cosa sono i contenuti?

I "contenuti" sono **coppie di domande e risposte che l'Agente sfrutta per rispondere all'utente**. Avere più contenuti aumenta l'accuratezza e la precisione del tuo Agente.

### Perché sono così importanti?

Quando un utente fa una domanda al tuo Agente, questo sfrutterà tutti gli strumenti in suo possesso per rispondere alla domanda:

1. **Prima di tutto i contenuti**: se la domanda dell'utente è molto simile ad una domanda già presente nei contenuti, allora AIsuru risponderà con la risposta che già è salvata all'interno dei contenuti;
2. **Se AIsuru, però, non trova un contenuto che possa rispondere, passerà i contenuti più rilevanti all'IA generativa**, che risponderà sulla base di: [istruzioni](../../ai-generativa/prompt-engineering/), [contenuti](./) rilevanti e [funzioni](../../avanzate/integrazioni/funzioni/)[ (avanzato)](../../avanzate/integrazioni/funzioni/).

-> Creare e mantenere i contenuti è fondamentale per **aumentare la qualità delle risposte** del tuo Agente.

### Soglia di confidenza per i contenuti

La **soglia di confidenza** è un parametro che determina quanto l'Agente deve essere sicuro di aver trovato il contenuto giusto prima di fornire una risposta basata sui contenuti.

**Come funziona:**

* **Soglia bassa**: l'Agente risponderà anche con contenuti parzialmente simili alla domanda dell'utente
* **Soglia alta**: l'Agente risponderà solo quando è molto sicuro che il contenuto sia pertinente alla richiesta

**Quando modificarla:**

* **Aumenta la soglia** se noti che l'Agente fornisce risposte poco pertinenti o sbagliate
* **Diminuisci la soglia** se l'Agente dice troppo spesso "non so" anche per domande a cui dovrebbe saper rispondere

**Come configurarla:**

1. Vai alle **Impostazioni** del tuo Agente
2. Seleziona la sezione **Generali**
3. Trova "**Soglia di confidenza**" e seleziona il livello desiderato tra: Molto bassa, Bassa, Normale, Alta, Molto alta

{% hint style="info" %}
**ATTENZIONE**:\
Modificare la soglia di confidenza può influenzare significativamente la qualità delle risposte. Si consiglia di testare accuratamente l'Agente dopo ogni modifica e di procedere gradualmente.
{% endhint %}


# Creazione manuale dei contenuti

Ora che abbiamo visto cosa sono i contenuti e perché sono utili, vediamo come possiamo crearli. Per cominciare, andiamo a vedere la struttura di un contenuto, che campi ha e a cosa servono.

### Struttura di un contenuto

Un contenuto in AIsuru è organizzato in sezioni chiaramente identificabili nell'interfaccia. Non preoccuparti, nelle prossime pagine le esploreremo tutte.

* **Domanda** (testo, obbligatorio): la domanda principale che attiverà questo contenuto;
* **Varianti domanda** (testo multiplo): altre formulazioni della stessa domanda per migliorare il riconoscimento;
* **Risposte** (testo, obbligatorio): risposta principale e eventuali risposte alternative;
* **Assegnato a** (menu a tendina): controlla chi può vedere il contenuto ("Pubblico" o ruoli specifici);
* **Domanda conclusiva** (checkbox): evita domande di follow-up dopo la risposta;
* **Non casuale** (checkbox): esclude la domanda dai suggerimenti durante l'inattività;
* **Domanda di aiuto** (checkbox): il contenuto viene usato come supporto in caso di difficoltà;
* **Luogo e data** (pulsanti): limita la visibilità per area geografica o periodo temporale;
* **Media** (area upload): spazio per allegare immagini, video o PDF;
* **Link** (area inserimento): aggiunge URL esterni alla risposta;
* **Avanzate** (sezioni espandibili): suggerimenti, tag, contesto, snippet di codice, timeout e integrazione DCM.

### Come creare un contenuto semplice

1. Accedi al pannello di gestione del tuo Agente;
2. Premi su <img src="../../.gitbook/assets/contenuti.svg" alt="" data-size="line"> **Contenuti** nella barra lateral&#x65;**;**
3. Clicca sul tasto <img src="../../.gitbook/assets/nuova funzione.svg" alt="" data-size="line"> **Nuovo contenuto**;
4. Compila i campi richiesti:
   1. **Domanda** -> inserisci la domanda a cui l'Agente dovrà rispondere;
   2. **Risposta** -> inserisci la risposta che l'Agente dovrà dare (fornisci tutte le informazioni necessarie).

✅ Fine! Premi sul tasto "Conferma" in basso a destra per salvare il tuo contenuto.

### Altre impostazioni

Ci sono altre impostazioni che potrebbero tornarti utili in diversi scenari. Vediamole!

#### Varianti di domanda

In questa sezione, che trovi sotto la domanda, puoi aggiungere delle varianti di domanda, ovvero:

* **Altre formulazioni della stessa domanda** -> "come si chiama il cane?" come domanda e "qual è il nome del cane?" come variante;
* **Altre domande che hanno la stessa risposta** -> "Dove devo andare per rifare la carta di identità?" e "Dove devo andare per rifare la carta di identità a Roma?" come variante di domanda.

{% hint style="info" %}
<mark style="color:blue;">Le varianti di domanda servono ad</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**aiutare AIsuru a trovare più facilmente il contenuto più rilevante**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">per rispondere.</mark>
{% endhint %}

Non ti vengono in mente varianti di domanda? Lasciati aiutare da AIsuru: premi sul tasto ![](../../.gitbook/assets/custom-icon-svg.svg) **Suggerisci varianti**: AIsuru aggiungerà varianti di domanda sulla base della risposta del contenuto (che deve essere presente).

#### Altre risposte

In questa sezione, che trovi subito sotto la "Risposta", puoi aggiungere delle risposte alternative per una stessa domanda.

Questa funzionalità ti permette di avere delle "varianti di risposta" per ogni domanda. Facciamo un esempio:

* Domanda: "Qual è la capitale dell'Italia?";
* Risposta: "Roma";
* Altra risposta: "La capitale dell'Italia è Roma";
* Altra risposta: "La capitale è Roma".

Se un utente chiede al tuo Agente "Qual è la capitale dell'Italia" potrà ricevere una tra le seguenti risposte: "Roma", "La capitale dell'Italia è Roma" o "La capitale è Roma".

{% hint style="info" %}
<mark style="color:blue;">Aggiungi altre risposte se sfrutti poco l'IA generativa ma vuoi comunque r</mark><mark style="color:blue;">**idurre la ripetitività e aumentare la naturalezza delle interazioni**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">del tuo Agente.</mark>
{% endhint %}

Come per le varianti di domanda, anche per le altre risposte puoi lasciarti suggerire dall'IA: in questo caso, premendo sul tasto ![](../../.gitbook/assets/custom-icon-svg.svg) **Suggerisci risposta**, AIsuru genererà una risposta sulla base della domanda (che dovrà essere presente).

#### Media e link

Puoi aggiungere media e link ai tuoi contenuti:

* Media -> immagini, video e documenti PDF;
* Link -> inserisci il link e personalizza il nome della pagina.

{% hint style="info" %}
<mark style="color:blue;">I media e i link arricchiscono le risposte dell'Agente, permettendogli di mostrare immagini o fornire risorse aggiuntive durante la conversazione.</mark>
{% endhint %}

-> se un utente chiede "Qual è la capitale italiana?", AIsuru risponderà "Roma" (o una sua variante) e allegherà l'immagine che hai aggiunto alla risposta.

È possibile che il modello linguistico decida di mostrare o meno media e link quando risponde alle domande dell'utente. Puoi cambiare questo settaggio nelle [altre impostazioni dell'AI generativa](../../ai-generativa/ia-generativa-sezione-avanzata/altre-impostazioni-dellia-generativa.md).

#### Altri campi

Sotto il campo "Assegnato a", troverai tre opzioni importanti che influenzano il comportamento del contenuto:

1. **Domanda conclusiva**: quando attivata, la risposta a questa domanda non sarà seguita da ulteriori domande (come "C'è altro che vuoi sapere?"). Questa opzione è utile per contenuti che forniscono una risposta completa e non richiedono follow-up.
2. **Non casuale**: se selezionata, questa opzione impedisce che la domanda venga proposta casualmente quando l'utente rimane inattivo per troppo tempo. Questo è utile per contenuti che potrebbero non essere appropriati come suggerimenti casuali.
3. **Domanda di aiuto**: attivando questa opzione, il contenuto di questa domanda può essere utilizzato come aiuto per l'utente nel caso non riesca a formulare una domanda corretta più volte di seguito. Questo può migliorare l'esperienza utente fornendo supporto quando necessario.

{% hint style="info" %}
Se vuoi permettere al tuo Agente fare domande "casuali" agli utenti, puoi attivare l'interruttore "Suggerisci domande se l'utente resta inattivo" nella Impostazioni > Generali > Impostazioni avanzate. Per approfondire, leggi [come utilizzare il timeout](../istruzione-sezione-avanzata/personalizzazione-dei-contenuti/utilizzo-del-timeout.md).
{% endhint %}

#### Impostazioni avanzate

Per le impostazioni più complesse puoi andare alla pagina dedicata alla [personalizzazione dei contenuti](../istruzione-sezione-avanzata/personalizzazione-dei-contenuti/): qui scoprirai come personalizzare le risposte in base al ruolo, alla data o al luogo dell'utente, come eseguire [snippet di codice](../istruzione-sezione-avanzata/personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md), e molto altro!&#x20;


# Validazione e correzione dei contenuti

AIsuru ti offre un potente strumento per migliorare continuamente la conoscenza del tuo Agente attraverso la validazione e la correzione dei contenuti generati dall'IA.

### Perché è importante validare le risposte?

Validare le risposte permette al tuo Agente di avere **una base di conoscenza più ampia e ricca**: i contenuti validati entreranno a far parte della conoscenza del tuo Agente!

Aggiungere nuovi contenuti o [varianti di domanda](creazione-manuale-dei-contenuti.md#varianti-di-domanda) permette al tuo Agente di **trovare più facilmente la risposta alle domande dei tuoi utenti** migliorandone l'esperienza.

### Dove si validano le risposte?

1. Accedi al pannello di gestione del tuo Agente;
2. Nella barra laterale, premi su <img src="../../.gitbook/assets/contenuti.svg" alt="" data-size="line"> **Contenuti**;
3. Clicca sul menu "**Generate da IA**".

### Cosa posso fare?

Nella tabella, troverai tutte le domande poste dagli utenti a cui ha risposto l'IA generativa. Qui trovi diversi pulsanti:

<table data-full-width="true"><thead><tr><th align="center">Pulsante</th><th align="center">Descrizione</th><th align="center">Quando usarlo</th></tr></thead><tbody><tr><td align="center"><img src="../../.gitbook/assets/conversazioni.svg" alt="" data-size="line"> <strong>Cerca nella conversazione</strong></td><td align="center">Apre la conversazione in cui è stata posta la domanda</td><td align="center">Per capire meglio in che contesto è stata fatta una certa domanda</td></tr><tr><td align="center"><img src="../../.gitbook/assets/check-icon-svg.svg" alt=""> <strong>Conferma</strong></td><td align="center">Validerà la domanda e la risposta fornita dall'IA generativa</td><td align="center">Se tutte le informazioni sono corrette: domanda, risposta, argomenti necessari e assegnazione ad un ruolo specifico</td></tr><tr><td align="center"><img src="../../.gitbook/assets/sisternode-icon-svg.svg" alt="" data-size="line"> <strong>Aggiungi come variante di domanda</strong></td><td align="center">Aggiunge la domanda di un utente come variante di domanda di un contenuto già esistente</td><td align="center">Se già hai un contenuto che risponde alla domanda dell'utente, ma l'Agente ha risposto male</td></tr><tr><td align="center"><img src="../../.gitbook/assets/edit-icon-svg (2).svg" alt="" data-size="line"> <strong>Modifica</strong></td><td align="center">Apre una scheda da cui potrai modificare il contenuto al 100% prima di validarlo</td><td align="center">Se vuoi modificare la domanda, la risposta o aggiungere personalizzazioni varie al contenuto prima di validarlo</td></tr><tr><td align="center"><img src="../../.gitbook/assets/delete.svg" alt=""> <strong>Elimina</strong></td><td align="center">Cancella il contenuto dalla tabella</td><td align="center">Quando non c'è una risposta corretta ad una specifica domanda o quando la domanda è poco utile</td></tr></tbody></table>

_Nota: Le risposte generate dall'IA che superano i 10.000 caratteri non vengono salvate in questa tabella._

### Impostazione automatica del contesto basato sull'URL

AIsuru ricorda automaticamente da quale pagina (URL) è stata posta una domanda e lo imposta come argomento necessario. Questo permette all'Agente di fornire risposte diverse in base alla pagina in cui l'utente ha interagito con l'Agente.

Per ogni contenuto nella sezione "Generate da IA", troverai due argomenti necessari impostati automaticamente:

1. ROUTE:\[NOME\_DEL\_AGENTE];
2. PATHNAME:\[LINK\_PERCORSO].

Questi argomenti consentono all'Agente di contestualizzare le risposte in base alla provenienza della domanda. **Se desideri disabilitare questa funzionalità, dovrai rimuovere entrambi questi argomenti necessari durante la validazione o la modifica dei contenuti**.

{% hint style="info" %}
<mark style="color:blue;">Non preoccuparti se dovessi dimenticarti di rimuovere gli argomenti necessari:</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**prima di salvare, riceverai un avviso**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">che ti informerà della loro presenza.</mark>
{% endhint %}

### Contenuti duplicati

È bene che i contenuti del tuo Agente non siano duplicati e non vadano in contrapposizione fra loro: i tuoi contenuti devono essere chiari e non ridondanti.

### Considerazioni finali

La validazione delle risposte generate dall'AI è un processo cruciale per migliorare costantemente le prestazioni del tuo Agente. Dedicando tempo regolarmente a questa attività, non solo arricchisci la base di conoscenza del tuo assistente, ma ne affini anche la precisione e la rilevanza. Ricorda di prestare attenzione al contesto automatico basato sull'URL: questa funzionalità permette risposte più mirate, ma può essere disabilitata se non necessaria per il tuo caso d'uso specifico. Sfrutta al meglio questo strumento per creare un Agente sempre più efficace e allineato alle esigenze dei tuoi utenti.


# Modifica e aggiornamento dei contenuti

AIsuru offre un'interfaccia intuitiva e potente per gestire i contenuti del tuo Agente. Ecco una panoramica delle principali funzionalità per modificare e aggiornare i contenuti.

### Visualizzazione e ricerca dei contenuti

Per ricercare specifici contenuti:

1. **Accedi al pannello di gestione** dell'Agente;
2. Accedi alla sezione <img src="../../.gitbook/assets/contenuti.svg" alt="" data-size="line"> **Contenuti** (nella barra laterale);
3. Digita le parole chiave nella **barra di ricerca** che trovi in alto nella pagina dei contenuti;
4. (Opzionale) premi sul pulsante <img src="../../.gitbook/assets/filter-icon-svg.svg" alt="" data-size="line"> **Filtri** per accedere a **opzioni di filtro avanzate**: i filtri presenti servono a cercare i contenuti a cui puoi accedere con:
   1. [Contesti](../istruzione-sezione-avanzata/personalizzazione-dei-contenuti/contesto-argomenti-ed-etichette.md) richiesti;
   2. Contesti impostati;
   3. [Una data specifica](../istruzione-sezione-avanzata/personalizzazione-dei-contenuti/personalizzare-le-risposte-in-base-a-data-e-luogo-dellutente.md);
   4. Tag;
   5. Ruoli.

Tutti i contenuti sono organizzati in una tabella che puoi riordinare come preferisci - ti basta cliccare sul titolo della colonna che ti interessa.

Le colonne mostrano:

* **Domanda / Titolo**: la domanda principale che attiva questo contenuto;
* **Occorrenze**: quante volte l'Agente ha usato questo contenuto per rispondere agli utenti (non tiene conto delle risposte generate da IA);
* **Risposta**: cosa risponderà l'Agente quando riconosce questa domanda;
* **Proprietà**: una o più icone ti informeranno se il tuo contenuto è conclusivo o non casuale, e se ha media, link o testi preformattati;
* **Creato il**: quando è stato creato il contenuto. Se clicchi sull'icona <img src="../../.gitbook/assets/user.svg" alt="" data-size="line"> vicino alla data, potrai vedere:
  * Chi ha creato il contenuto e quando;
  * Se qualcuno lo ha modificato, chi è stato e quando l'ha fatto.
* **Azioni**: i pulsanti per modificare, duplicare o eliminare il contenuto.

In basso a destra, troverai anche un selettore utile a decidere quanti contenuti vuoi vedere in ogni pagina (di default è 10).

{% hint style="info" %}
Se i contenuti sono stati [importati da un documento](../importazione-di-documenti/) vedrai una colonna aggiuntiva "[**Tag**](../importazione-di-documenti/importare-documenti-testuali.md#tag)".
{% endhint %}

### Modifica dei contenuti

Per modificare un contenuto esistente:

1. Nella tabella dei contenuti, **individua il contenuto che desideri modificare**;
2. Clicca sul **tasto di** <img src="../../.gitbook/assets/edit-icon-svg (2).svg" alt="" data-size="line"> **modifica** (colonna "Azioni" a destra), in corrispondenza del tuo contenuto;
3. Si aprirà una scheda di modifica identica a quella di creazione dei contenuti; qui potrai modificare tutti i campi presenti: domanda, varianti di domanda, risposta, altre risposte, ecc;
4. Dopo aver apportato le modifiche desiderate, clicca su "**Conferma**" in basso a destra per salvare.

Ricorda che puoi utilizzare il tasto "Espandi" nelle risposte per visualizzare il testo completo prima di decidere se modificare un contenuto.

### Duplicazione dei contenuti

Per duplicare un contenuto, utilizza l'apposito tasto <img src="../../.gitbook/assets/simple-icon-svg.svg" alt="" data-size="line"> nella colonna "Azioni".

### Eliminazione dei contenuti

Per eliminare un singolo contenuto, clicca sull'icona del **cestino rosso** ![](../../.gitbook/assets/delete.svg) nella colonna "Azioni".

Per eliminare più contenuti contemporaneamente:

1. **Seleziona i contenuti** che desideri eliminare spuntando le caselle a sinistra di ogni riga;
2. In basso a sinistra apparirà un contatore "**Selezionati (X)**" con il numero di elementi selezionati -> **premici sopra per eliminare i contenuti selezionati.**

### Quanti contenuti dovrebbe avere il tuo Agente?

Definire un numero di contenuti ideale è molto complesso e varia in base a molti fattori. Un Agente potrebbe concentrarsi più sui contenuti, sulle istruzioni o sulle funzioni per rispondere alle domande dell'utente. In generale, consigliamo agli utenti meno esperti di tenere il numero di contenuti inferiore a 10.000.

### Importazione / Esportazione (per utenti avanzati)

Se devi gestire grandi volumi di contenuti:

1. Accedi alla sezione <img src="../../.gitbook/assets/exit-export-icon-svg.svg" alt="" data-size="line"> **Import / Export** dalla barra laterale;
2. Segui le istruzioni relative al [backup dell'Agente](../../avanzate/backup-trasferimento-e-cancellazione-di-un-agente.md) per sapere come importare / esportare file CSV.

{% hint style="danger" %}
<mark style="color:red;">L'utilizzo corretto delle funzioni di importazione/esportazione richiede una buona comprensione della struttura dei dati di AIsuru.</mark>
{% endhint %}


# Come AIsuru trova le risposte

Quando un utente pone una domanda al tuo Agente, AIsuru utilizza un **sistema di ricerca semantica avanzato** per trovare la risposta più pertinente. Comprendere questo processo ti aiuterà a ottimizzare i tuoi contenuti per ottenere risposte sempre più precise e utili.

### Il processo di ricerca semantica

#### 1. Trasformazione in vettori

Ogni volta che crei un contenuto o quando un utente pone una domanda, AIsuru converte il testo in una rappresentazione numerica chiamata **vettore** (embedding). Questi vettori catturano il significato semantico delle parole e delle frasi, permettendo al sistema di comprendere il contesto e l'intento della comunicazione.

#### 2. Ricerca per similarità

Quando un utente fa una domanda, il sistema:

* Converte la domanda in un vettore
* Confronta questo vettore con tutti i vettori dei contenuti disponibili
* Calcola la similarità semantica per trovare i contenuti più pertinenti

#### 3. Risposta intelligente

In base ai risultati della ricerca, AIsuru adotta due strategie:

**Corrispondenza diretta**: Se trova una domanda molto simile nei tuoi contenuti, fornisce immediatamente la risposta associata. Questo garantisce risposte rapide e precise per le domande frequenti.

**Assistenza dell'IA generativa**: Se non trova una corrispondenza perfetta, seleziona i contenuti più simili e li passa all'IA generativa, che formula una risposta personalizzata utilizzando le informazioni più pertinenti.

### Tecnologia NLP proprietaria

Questo processo è alimentato dal **Natural Language Processing (NLP) proprietario di AIsuru**, che offre:

* **Comprensione semantica**: Va oltre la semplice corrispondenza di parole chiave, comprendendo il significato reale delle domande
* **Flessibilità linguistica**: Riconosce domande formulate in modi diversi ma con lo stesso significato
* **Supporto multilingue**: Funziona efficacemente in diverse lingue
* **Apprendimento continuo**: Migliora costantemente la precisione della ricerca

### Vantaggi per i tuoi utenti

Questo sistema avanzato garantisce:

* **Risposte precise**: Trova sempre l'informazione più pertinente
* **Esperienza naturale**: Gli utenti possono porre domande con le loro parole
* **Velocità di risposta**: Processo ottimizzato per prestazioni rapide
* **Coerenza**: Mantiene la qualità delle risposte anche con volumi elevati di contenuti

### Consigli per ottimizzare i contenuti

Per sfruttare al meglio questo sistema:

1. **Varia le domande**: Crea diverse varianti per lo stesso argomento
2. **Usa linguaggio naturale**: Scrivi come parlano realmente i tuoi utenti
3. **Copri sinonimi**: Includi termini alternativi per gli stessi concetti
4. **Testa regolarmente**: Verifica che le risposte siano pertinenti nelle conversazioni reali

Il sistema di ricerca semantica di AIsuru rappresenta il cuore tecnologico che rende i tuoi Agenti veramente intelligenti e utili per gli utenti.


# Importazione di documenti

L'importazione di documenti in AIsuru è un processo fondamentale per arricchire la conoscenza del tuo assistente virtuale. Questa funzionalità ti permette di trasformare rapidamente documenti esistenti in una base di conoscenza interattiva e interrogabile.

In questa sezione, esploreremo:

* Come [importare efficacemente documenti testuali](importare-documenti-testuali.md) in vari formati;
* [Strategie per gestire le immagini](gestione-delle-immagini-nei-documenti.md) presenti nei documenti.

Che tu stia creando un assistente per il supporto tecnico, un tool per la formazione aziendale o un sistema di gestione della conoscenza, l'importazione di documenti in AIsuru ti offre un modo rapido ed efficiente per costruire una base di conoscenza robusta. Continua a leggere per scoprire come trasformare i tuoi documenti in una risorsa dinamica e interattiva per il tuo assistente IA! 📚🤖


# Come funziona l'importazione di documenti

L'importazione di documenti in AIsuru è un processo potente che ti permette di arricchire rapidamente la conoscenza del tuo Agente. Questo processo trasforma i tuoi documenti in una serie di domande e risposte, creando una base di conoscenza interattiva e interrogabile.

Vediamo come funziona nel dettaglio!

### Il processo di importazione

1. **Caricamento del documento**: carichi il tuo documento nella sezione Import / Export del tuo Agente;
2. **Analisi e suddivisione**: AIsuru analizza il contenuto del documento e lo divide in paragrafi distinti;
3. **Generazione di domande e risposte** ([contenuti](../contenuti/)): per ogni paragrafo, AIsuru sfrutta l'IA generativa per generare una o più coppie di domande e risposte. Il numero di contenuti varia in base al documento e alla [granularità impostata](importare-documenti-testuali.md). I contenuti vengono creati nella lingua dell'Agente, cioè quella impostata in fase di creazione dell'Agente.

### Vantaggi dell'importazione di documenti

* **Risparmio di tempo**: trasformi rapidamente grandi quantità di informazioni in conoscenza utilizzabile dal tuo Agente;
* **Coerenza**: le risposte generate sono basate direttamente sui tuoi documenti, garantendo accuratezza e coerenza;
* **Flessibilità**: puoi importare diversi tipi di documenti per coprire una vasta gamma di argomenti.

### Limitazioni da considerare

Mentre l'importazione di documenti è uno strumento potente, è importante essere consapevoli di alcune limitazioni:

* **Gestione delle immagini e dei video**: al momento, AIsuru non è in grado di interpretare o elaborare le immagini e i video contenuti nei documenti; l'importazione si concentra esclusivamente sul testo;
* **Tipi di file supportati**: AIsuru supporta principalmente l'importazione di file testuali più o meno semplici. Altri formati (ad esempio, JSON) potrebbero richiedere un approccio diverso come l'utilizzo di [funzioni](../../avanzate/integrazioni/funzioni/) o [MCP](../../avanzate/integrazioni/model-context-protocol-mcp-su-aisuru/mcp-cosa-sono-e-come-si-utilizzano.md);
* **PDF con contenuto non selezionabile**: se carichi un PDF che contiene principalmente immagini o testo non selezionabile (come scansioni di documenti), AIsuru non sarà in grado di estrarre e elaborare efficacemente il contenuto.

### Consigli per un'importazione efficace

* Usa **documenti ben strutturati con testo selezionabile** per ottenere i migliori risultati;
* Dopo l'importazione, **rivedi e affina manualmente i contenuti generati** per garantire la massima qualità e rilevanza.

L'importazione di documenti è un ottimo punto di partenza per costruire la base di conoscenza del tuo Agente. Combinandola con altre tecniche di insegnamento come la conversazione diretta e la creazione manuale di contenuti, potrai creare un assistente IA veramente completo e informato.


# Importare documenti testuali

AIsuru permette di importare documenti testuali e trasformarli automaticamente in conoscenza per il tuo Agente. Questo processo ti permette di arricchire rapidamente la base di conoscenza del tuo assistente virtuale, creando domande e risposte pertinenti a partire dal contenuto dei tuoi documenti.

### Documenti supportati

I **formati supportati** sono: PDF (.pdf), file di testo (.txt); Microsoft Word (.doc, .docx), Apple Pages (.pages). OpenDocument (.odt), Rich Text Format (.rtf), HTML (.html).

**AIsuru supporta la tecnologia OCR**, ma per un risultato ottimale consigliamo di caricare documenti con testo già selezionabile. L'OCR funziona meglio su documenti ben scansionati e con testo chiaro, mentre potrebbe avere difficoltà con documenti di bassa qualità o con formattazioni complesse.

### Importazione di funzionalità da altri Agenti

Oltre all'importazione di documenti, AIsuru ti permette di importare funzionalità complete da altri tuoi Agenti. Attraverso il tab "Importa Funzioni e Intenti" puoi:

* Copiare [**funzioni avanzate**](../../avanzate/integrazioni/funzioni/funzioni-avanzate/) con tutte le loro configurazioni;
* Importare [**intenti dinamici**](../../avanzate/integrazioni/intenti-dinamici/) e i relativi **slot;**
* Trasferire il [**dizionario**](../dizionario.md) **personalizzato;**

Questa funzionalità è particolarmente utile quando vuoi replicare configurazioni complesse tra Agenti simili o creare backup delle tue implementazioni. Per maggiori dettagli, consulta la guida Copia gli intenti dinamici, gli slot e le funzioni da un altro Agente.

### Accesso alla sezione di import

1. **Accedi al pannello di gestione** del tuo Agente;
2. Seleziona <img src="../../.gitbook/assets/exit-export-icon-svg.svg" alt="" data-size="line"> **Import / Export** nella barra laterale;
3. Premi sul tasto "**Choose file**" e scegli il documento da importare.
4. Una volta caricato il documento, scorri in basso per vedere un'anteprima del testo estratto e modificare le diverse impostazioni dell'import.

Troverai due sezioni:

1. Opzioni di importazione;
2. Gestione contesto.

### Opzioni di importazione

#### Scelta dei contenuti da importare

Dopo aver caricato il documento potrai selezionare l'opzione:

* **importa solo i nuovi contenuti**: se vengono generate domande simili a quelle già presenti, AIsuru non le importerà;
* **importa tutto**: importa l'intero contenuto del documento, anche se sono già presenti domande simili.

#### Personalizzazione dei contenuti

Puoi  scegliere, mettendo la spunta alla casella, se impostare tutti i contenuti come:

* **Conclusivi**: l'AI non chiederà ulteriori informazioni dopo aver risposto;
* **Non casuali**: le domande non verranno suggerite casualmente in caso di inattività dell'utente (per saperne di più, vai alla sezione dedicata al [timeout](../istruzione-sezione-avanzata/personalizzazione-dei-contenuti/utilizzo-del-timeout.md)).

Inoltre, potrai **aggiungere un link a tutte le domande importate** (ad esempio, al file originale, per avere sempre la fonte consultabile).

#### **Altre impostazioni**

Nelle opzioni di importazione, puoi anche modificare la granularità: **questa impostazione permette di generare più o meno domande e risposte per ogni paragrafo**. Puoi impostare una granularità:

* **Bassa:** verranno importati pochi contenuti per paragrafo e ci metterà meno tempo, utile per i testi discorsivi;
* **Media:** l'opzione consigliata, creerà un numero medio di contenuti;
* **Alta:** verranno creati molti contenuti per paragrafo, ci metterà più tempo ma è molto utile per testi densi di informazioni con tanti concetti.

{% hint style="info" %}
Per un risultato migliore, **ti consigliamo di impostare la granularità su high**.
{% endhint %}

Infine, vi sono le **istruzioni per la generazione delle domande**. Questo spazio serve a **guidare l'IA generativa nella creazione di domande**: è cruciale ottenere domande e risposte pertinenti e di qualità.

Nelle istruzioni devi fornire:

* un breve **contesto sul documento**: di cosa parla? per cosa è utile?
* un breve **contesto sull'utente finale**: chi è? Che tipo di domande fa? Con che linguaggio?
* alcune **regole e istruzioni chiare e concise** per generare le domande.

Esempio:

```
Questo documento descrive le politiche aziendali per la sicurezza sul lavoro.

Istruzioni per la generazione delle domande:
- Crea domande che coprano i principali argomenti di sicurezza menzionati nel documento;
- Includi domande su procedure specifiche, equipaggiamento di sicurezza e responsabilità dei dipendenti;
- Genera domande che verifichino la comprensione delle conseguenze del non rispetto delle norme di sicurezza;
- Crea alcune domande di scenario che richiedano l'applicazione delle politiche a situazioni reali.
```

#### Allega fonte (opzionale)

Seleziona questa opzione se desideri includere l'estratto del testo originale come allegato per ogni coppia domanda-risposta generata.

### Gestione contesto

All'interno della sezione di gestione del contesto puoi aggiungere: tag, argomenti impostati e argomenti necessari.

#### Tag

I tag sono come categorie che puoi attribuire ai tuoi contenuti. Se imposti un tag in fase di import di un documento, tutte le domande e risposte generate dal tuo documento saranno taggate con le categorie impostate.

Di default, viene aggiunto un tag che identifica il tuo import: in questo modo, avrai sempre traccia dei contenuti creati dal documento importato.

Puoi rimuovere i contenuti premendo sul cestino rosso ![](../../.gitbook/assets/delete.svg) accanto a ciascun tag o puoi premere su "Aggiungi" per aggiungerne uno.

#### Imposta argomenti

Aggiungi il [contesto da impostare](../istruzione-sezione-avanzata/personalizzazione-dei-contenuti/contesto-argomenti-ed-etichette.md#contesto-impostato-e-contesto-necessario) quando l'utente fa specifiche domande.

#### Argomenti necessari

L'utente non avrà accesso alle domande e risposte create con l'import del documento se prima non avrà impostato un certo argomento.

#### **Assegnato a**

I contenuti che verranno estratti dal documento possono essere assegnati ad un [**ruolo specifico**](../istruzione-sezione-avanzata/personalizzazione-dei-contenuti/come-attribuire-contenuti-a-ruoli-specifici.md) o puoi assegnarli al **pubblico.**

### Lancio dell'importazione e Storico import

Una volta settate tutte le impostazioni, puoi lanciare l'importazione cliccando sul tasto **Importa** in basso a sinistra.

Dopo aver fatto partire l'import, avrai accesso ad una nuova scheda nella sezione Import / Export: <img src="../../.gitbook/assets/cloud-sync-icon.svg" alt="" data-size="line"> **Storico import**.

Da questa sezione potrai vedere:

* **L'andamento del processo** di importazione che hai lanciato;
* **Gli import passati**.

Per ogni import, potrai vedere:

* Titolo del file;
* Data di inizio e fine del processo;
* Numero di domande importate;
* Se premi sul menu "dati dell'import e configurazioni" vedrai anche:
  * Dimensione file;
  * Nome file;
  * Se i contenuti sono impostati come conclusivi o non casuali;
  * Granularità;
  * Istruzioni per la generazione delle domande;
  * Titolo della fonte;
  * Gestione dei link.

L'importazione di documenti testuali in AIsuru è un modo efficace e rapido per arricchire la conoscenza del tuo Agente. Sfrutta al massimo questa funzionalità per creare un assistente virtuale informato e capace di fornire risposte accurate e pertinenti ai tuoi utenti.


# Gestione delle immagini nei documenti

Mentre AIsuru non supporta l'importazione diretta di immagini dai documenti, esiste un metodo per integrare le immagini nelle risposte del tuo Agente. Questa funzionalità ti permette di arricchire le interazioni con contenuti visivi, migliorando l'esperienza dell'utente.

### Come integrare le risposte con le immagini

Per includere immagini nelle risposte del tuo Agente in due modi diversi:

1. (Consigliato) **Aggiungi le immagini ai tuoi contenuti**: seleziona i contenuti rilevanti per una certa immagine, modificali e aggiungi l'immagine a ciascun contenuto;
2. (Avanzato) Crea un contenuto per ogni immagine:
   1. Domanda -> inserisci un titolo descrittivo per l'immagine;
   2. Varianti di domanda -> inserisci le domande per cui vuoi mostrare l'immagine;
   3. Risposta -> inserisci una descrizione completa dell'immagine;
   4. Media -> carica la tua immagine;
   5. Assicurati che la casella "[Disabilita l'estrazione automatica delle immagine dai contenuti](../../ai-generativa/ia-generativa-sezione-avanzata/altre-impostazioni-dellia-generativa.md#estrazione-automatica-dei-media)" sia disabilitata (Impostazioni del tuo Agente > IA) -> sarà compito del modello linguistico identificare quale immagine mostrare sulla base della descrizione fornita (cioè, della risposta del tuo contenuto).

{% hint style="danger" %}
Se il tuo Agente supera le 150 immagini ti sconsigliamo di utilizzare il secondo metodo.
{% endhint %}

### Consigli per l'uso efficace

* Usa **immagini rilevanti e di alta qualità**;
* **Fornisci descrizioni dettagliate e accurate** per ogni immagine;
* **Testa regolarmente le risposte** dell'Agente per assicurarti che le immagini vengano utilizzate appropriatamente e modifica i contenuti se necessario.

L'integrazione delle immagini nelle risposte del tuo Agente può significativamente migliorare la qualità delle interazioni. Sebbene richieda un po' più di lavoro manuale, i benefici in termini di chiarezza e coinvolgimento dell'utente possono essere sostanziali. Sperimenta con questa funzionalità per trovare il giusto equilibrio tra contenuti testuali e visivi nel tuo Agente AIsuru.


# Dizionario

Il dizionario personalizzato di AIsuru è uno strumento potente che migliora la comprensione del linguaggio del tuo Agente. Questa funzionalità ti permette di definire termini specifici, acronimi e frasi uniche per il tuo Agente.

### Accesso al dizionario

Per accedere al dizionario personalizzato:

1. Accedi al **pannello di gestione** del tuo Agente;
2. Nella barra laterale, clicca su <img src="../.gitbook/assets/dizionario.svg" alt="" data-size="line"> **Dizionario**.

### Gestione del dizionario

#### Come aggiungere nuove parole

1. Dalla sezione principale ("Dizionario custom"), premi sul pulsante <img src="../.gitbook/assets/nuova funzione.svg" alt="" data-size="line"> **Nuova parola**;
2. Compila i campi:
   1. **Parola** -> inserisci la parola da definire;
   2. **Definizione** -> puoi decidere se fornire un sinonimo, una definizione ricorsiva (parola\_da\_definire = parola\_nota - parte\_da\_rimuovere + parte\_da\_aggiungere, ad esempio crederei = farei - fare + credere) o una normale definizione;
3. Clicca su "Conferma" per aggiungere la parola al dizionario.

#### Modificare le voci esistenti

1. Trova la parola che desideri modificare nell'elenco;
2. Clicca sull'icona di **modifica** <img src="../.gitbook/assets/edit-icon-svg (2).svg" alt="" data-size="line"> nella parte destra della tabella;
3. Aggiorna la definizione come necessario;
4. Salva le modifiche.

### Gestione delle parole non definite

AIsuru ti aiuta a identificare i termini che potrebbero necessitare di una definizione:

1. Seleziona "**Parole non definite**" dal menu: accanto a questa voce, vedrai un pallino con un numero sopra che indica quante parole mancano di una definizione;
2. Esamina l'elenco delle parole identificate da AIsuru;
3. Per ogni parola rilevante:
   1. Premi sul tasto + se vuoi vedere dove è stata usata;
   2. Clicca su <img src="../.gitbook/assets/nuova funzione.svg" alt="" data-size="line"> **Definisci** per definirla -> compila i campi e premi sul tasto Conferma.

### Importazione da un altro Agente

Puoi importare il dizionario da un altro Agente in due modi:

**Metodo 1 - Importazione solo dizionario:**

1. Nella sezione Dizionario, seleziona "**Importa Dizionario**" dal menu;
2. Scegli l'Agente sorgente dal menu a tendina;
3. Clicca su "Import" per trasferire l'intero dizionario.

**Metodo 2 - Importazione completa (NUOVO):**

1. Vai alla sezione "Import/Export";
2. Seleziona il tab "**Importa Funzioni e Intenti**";
3. Scegli l'Agente sorgente e seleziona "Dizionario" tra le opzioni;
4. Puoi importare contemporaneamente anche funzioni, intenti e slot.

{% hint style="info" %}
Questa funzione è particolarmente utile per mantenere la coerenza terminologica tra diversi Agenti.
{% endhint %}

### Vantaggi del dizionario

L'utilizzo del dizionario personalizzato di AIsuru offre numerosi benefici:

* **Migliora la precisione** delle risposte dell'Agente;
* Garantisce una **comprensione uniforme dei termini specifici** dell'organizzazione;
* **Riduce i malintesi e aumenta l'efficienza** della comunicazione.

{% hint style="info" %}
Il dizionario non viene utilizzato dall'[IA generativa](../ai-generativa/): il suo unico scopo è **prioritizzare correttamente i contenuti**.
{% endhint %}

Inizia subito a personalizzare il tuo dizionario per sfruttare al massimo le potenzialità del tuo Agente AIsuru!


# Istruzione: sezione avanzata

Le funzionalità avanzate di AIsuru ti permettono di personalizzare e potenziare il tuo Agente, trasformandolo in uno strumento sofisticato e altamente adattabile alle tue esigenze specifiche. Questa sezione ti guiderà attraverso le caratteristiche più avanzate per ottimizzare l'interazione e l'efficacia del tuo assistente virtuale.

In questa sezione, esploreremo:

* [**Personalizzazione dei contenuti**](personalizzazione-dei-contenuti/): come limitare la visibilità di alcuni contenuti solo a specifici utenti, come gestire i [suggerimenti](personalizzazione-dei-contenuti/gestione-dei-suggerimenti.md), i [contesti](personalizzazione-dei-contenuti/contesto-argomenti-ed-etichette.md), i [testi preformattati](personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md) e il [timeout](personalizzazione-dei-contenuti/utilizzo-del-timeout.md);
* [**Importazione avanzata di documenti**](importazione-avanzata-di-documenti/): come creare una gerarchia dei documenti caricati e come caricare un documenti non supportato;
* [**Messaggio di benvenuto**](messaggio-di-benvenuto.md): come impostare un messaggio di benvenuto;
* [**Risposte predefinite**](risposte-predefinite.md): come configurare risposte automatiche per scenari in cui l'IA non riesce a rispondere;
* [**Mostrare HTML dentro i messaggi**](html-messaggi.md): tecniche per arricchire visivamente le risposte del tuo Agente con elementi HTML.

Che tu stia cercando di migliorare l'esperienza iniziale dell'utente, integrare contenuti complessi, o ottimizzare le prestazioni del tuo Agente, le funzionalità avanzate di AIsuru ti offrono gli strumenti necessari per elevare le capacità del tuo assistente IA.


# Personalizzazione dei contenuti

La personalizzazione dei contenuti è una funzionalità chiave che ti permette di creare esperienze su misura con il tuo Agente AIsuru. In questa sezione, esploreremo diversi modi per personalizzare come il tuo Agente interagisce con gli utenti.

In questa sezione, troverai:

1. [**Come attribuire contenuti a Ruoli specifici**: ](come-attribuire-contenuti-a-ruoli-specifici.md)scopri come mostrare contenuti diversi a categorie specifiche di utenti
2. [**Personalizzare le risposte in base a data e luogo dell'utente**:](personalizzare-le-risposte-in-base-a-data-e-luogo-dellutente.md) impara a creare contenuti che sono disponibili solo in determinati luoghi o periodi di tempo
3. [**Gestione dei suggerimenti**: ](gestione-dei-suggerimenti.md)esplora come guidare la conversazione con opzioni predefinite
4. [**Contesto: argomenti ed etichette**: ](contesto-argomenti-ed-etichette.md)approfondisci come gestire il contesto della conversazione attraverso argomenti e etichette
5. [**Gestione dei testi preformattati**: ](gestione-dei-testi-preformattati-snippet-di-codice.md)scopri come integrare ed eseguire snippet di codice per creare interazioni avanzate
6. [**Utilizzo del timeout**:](utilizzo-del-timeout.md) impara come gestire i periodi di inattività degli utenti in modo efficace

Queste funzionalità ti permetteranno di creare un'esperienza personalizzata e contestuale, adattando il comportamento del tuo Agente alle diverse esigenze e situazioni.


# Come attribuire contenuti a Ruoli specifici

La personalizzazione dei contenuti basata sui Ruoli è una delle funzionalità più potenti di AIsuru. Ti permette di creare esperienze su misura per diversi tipi di utenti, garantendo che ciascuno riceva le informazioni più rilevanti per le proprie esigenze.

### Cosa sono i Ruoli in AIsuru

I "Ruoli" in AIsuru  **rappresentano ruoli o categorie di utenti**. È come avere versioni specializzate del tuo Agente per ogni gruppo di utenti.

Per esempio, puoi far sì che il tuo Agente:

* Mostri documentazione tecnica solo al team di "supporto";
* Offra promozioni speciali solo ai "nuovi clienti";
* Condivida report finanziari solo con i "manager".

### Come funziona l'attribuzione dei contenuti

Dopo aver [creato un Ruolo](come-attribuire-contenuti-a-ruoli-specifici.md#cosa-sono-i-ruoli-in-aisuru), potrai attribuirle i contenuti:

1. Vai alla sezione <img src="../../../.gitbook/assets/contenuti.svg" alt="" data-size="line"> **Contenuti** del tuo Agente;
2. Crea un nuovo contenuto o modifica uno esistente;
3. Nel campo "**Assegnato a**", seleziona il Ruolo desiderata dal menu a tendina (di default, i contenuti sono visibili a tutti con la voce "Pubblico");
4. Salva il contenuto.

💡 Da questo momento, solo gli utenti associati a quel Ruolo potranno vedere quel contenuto specifico.

### Cosa succede agli altri utenti?

Quando un utente senza i permessi necessari fa una domanda relativa a un contenuto riservato, il Agente:

1. Cercherà prima contenuti pubblici simili a cui l'utente ha accesso;
2. Se non trova alternative pertinenti, utilizzerà l'IA generativa per fornire una risposta (passando solamente i contenuti a cui l'utente ha accesso);
3. Non saprà di non avere accesso a specifici contenuti, di conseguenza n**on potrà mai rivelare nulla, nemmeno se tratto in inganno**!

### Suggerimenti per l'uso efficace

* Crea Ruoli per **gruppi di utenti con esigenze informative distintive**;
* Usa **nomi chiari e descrittivi** per facilitare la gestione futura;
* **Rivedi periodicamente le assegnazioni** dei contenuti per mantenerle aggiornate;
* **Testa le risposte** dell'Agente con diversi ruoli per verificare che l'esperienza sia ottimale per tutti.&#x20;


# Personalizzare le risposte in base a data e luogo dell'utente

AIsuru ti permette di rendere il tuo Agente ancora più intelligente e contestuale, offrendo la possibilità di personalizzare le risposte in base alla data e al luogo dell'utente. Questa funzionalità è particolarmente utile per creare esperienze interattive legate a eventi specifici o luoghi particolari.

### Come funziona la personalizzazione

L'Agente fornirà i contenuti solo quando le condizioni di data e/o luogo specificate sono soddisfatte. Per esempio:

* Puoi mostrare certi contenuti solo in determinati luoghi;
* Puoi rendere disponibili le risposte solo in specifiche date e orari;
* Puoi combinare entrambe le condizioni per una personalizzazione ancora più precisa.

### Impostazione del luogo

Quando crei o modifichi un contenuto, nella sezione "Luogo e data" puoi **cliccare sul campo "Luogo"** per attribuire il tuo contenuto ad un luogo specifico:

1. Inserisci il nome della località o premi su "Usa la mia posizione";
2. Regola il **livello di incertezza** secondo le tue esigenze (da 0 a 100 km);
3. Verifica l'area selezionata sulla mappa.

{% hint style="info" %}
<mark style="color:blue;">Se vuoi</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**rimuovere l'attribuzione del contenuto ad un luogo**</mark><mark style="color:blue;">, premi su</mark> ![](../../../.gitbook/assets/delete.svg) <mark style="color:blue;">**Elimina**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">al di sotto della mappa.</mark>
{% endhint %}

### Impostazione della data

Nella stessa sezione puoi definire il periodo di validità del contenuto:

1. Premi sul tasto "**Data**" nella sezione "Luogo e data" del tuo contenuto;
2. Specifica l'intervallo temporale con il calendario che si aprirà dopo aver premuto sui campi "Da" e "A"; la data scelta sarà visibile con questo formato: DD/MM/YYYY HH:mm
3. Usa ![](../../../.gitbook/assets/delete.svg) **Elimina** se vuoi rimuovere le date impostate

### Esempi di utilizzo

#### Personalizzazione basata sul luogo

Ideale per:

* **Musei**: crea contenuti specifici per ogni sala o esposizione;
* **Cacce al tesoro**: fornisci indizi basati sulla posizione dell'utente;
* **Negozi**: offri informazioni su prodotti o promozioni in base al reparto.

#### Personalizzazione basata sulla data

Perfetta per:

* **Eventi stagionali**: contenuti speciali per Natale, Pasqua, Halloween, ecc.;
* **Promozioni temporanee**: informazioni su saldi o offerte limitate;
* **Campagne di marketing**: contenuti legati a lanci di prodotti o iniziative speciali.

🎭 Puoi combinare data e luogo per creare esperienze ancora più mirate e contestuali.

### Suggerimenti per l'uso efficace

1. **Pianifica in anticipo** quali contenuti devono essere disponibili dove e quando;
2. **Testa regolarmente** i contenuti personalizzati per assicurarti che siano visualizzati correttamente nelle date e nei luoghi previsti.

La personalizzazione delle risposte in base a data e luogo è un potente strumento per creare un Agente IA veramente contestuale e dinamico. Sfruttalo per offrire un'esperienza utente unica e sempre rilevante, indipendentemente da dove e quando il tuo Agente viene utilizzato.


# Gestione dei suggerimenti

AIsuru ti offre la possibilità di guidare la conversazione con il tuo Agente attraverso l'uso di suggerimenti. Questa funzionalità ti permette di presentare all'utente una serie di opzioni predefinite sotto forma di pulsanti cliccabili, rendendo l'interazione più fluida e mirata.

### Come funzionano i suggerimenti

Quando aggiungi dei suggerimenti a un contenuto:

1. L'utente vedrà i suggerimenti come **pulsanti interattivi** dopo la risposta dell'Agente;
2. Cliccando su un pulsante, l'utente invia il testo del suggerimento come se lo avesse digitato;
3. L'Agente risponderà in base al contenuto corrispondente al suggerimento selezionato.

💡 Questa funzione è particolarmente utile per **guidare l'utente attraverso processi specifici** o per indirizzare la conversazione verso **argomenti predefiniti**.

### Come aggiungere suggerimenti

Per aggiungere suggerimenti a un contenuto:

1. Vai alla schermata di creazione o modifica del contenuto;
2. Cerca e apri la sezione "Avanzate: suggerimenti" nella sezione "Avanzate";
3. Clicca su <img src="../../../.gitbook/assets/nuova funzione.svg" alt="" data-size="line"> **Aggiungi** per inserire un nuovo suggerimento;
4. Inserisci il testo che vuoi appaia sul pulsante;
5. Ripeti il processo per aggiungere più suggerimenti e salva le modifiche premendo sul tasto di conferma in basso a destra.

Per cancellare i suggerimenti, premi sul tasto rosso ![](../../../.gitbook/assets/delete.svg) accanto a ciascun suggerimento.

### Vantaggi dell'uso dei suggerimenti

* **Guida l'utente**: aiuta gli utenti a navigare attraverso opzioni predefinite;
* **Riduce gli errori**: limita le possibilità di input non previsti o mal interpretati;
* **Migliora l'esperienza utente**: rende l'interazione più fluida e intuitiva;
* **Aumenta l'efficienza**: accelera il processo di ottenimento delle informazioni desiderate.

### Esempio di flusso di conversazione

Utente: "Ho un problema con il mio computer."

Agente: "Mi dispiace sentire che hai un problema. Posso aiutarti a risolverlo. Di che tipo di problema si tratta?"

Suggerimenti:

* Il computer non si accende
* La connessione internet non funziona
* Un'applicazione non risponde
* Altro

Utente: \[Clicca su "Il computer non si accende"]

Agente: "Capisco che il tuo computer non si accende. Proviamo alcuni passaggi per risolvere il problema. Per prima cosa, controlla che il cavo di alimentazione sia collegato correttamente. Hai verificato?"

Suggerimenti:

* Sì, il cavo è collegato correttamente
* No, il cavo non era collegato

### Per un uso efficace dei suggerimenti

1. **Limita il numero di suggerimenti a 2-5** per non sovraccaricare l'utente;
2. Assicurati che ci siano contenuti corrispondenti per ogni suggerimento (o, comunque, che l'[AI generativa](../../../ai-generativa/) sappia rispondere correttamente);
3. Aggiorna regolarmente i suggerimenti in base alle interazioni più comuni degli utenti.

L'uso intelligente dei suggerimenti può trasformare il tuo Agente da un semplice assistente a una guida interattiva e efficace. Sfrutta questa funzionalità per creare esperienze conversazionali ricche e mirate, migliorando significativamente l'engagement e la soddisfazione degli utenti.


---
hidden: true
---

# Gestione dei tag



# 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](../../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="../../../.gitbook/assets/contenuti.svg" 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**](../../../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.


# Gestione dei testi preformattati (snippet di codice)

I testi preformattati sono una funzionalità avanzata di AIsuru che permette di integrare ed eseguire codice direttamente nelle conversazioni con il tuo Agente. Questa potente caratteristica ti consente di:

* Mostrare esempi di codice formattati correttamente;
* Eseguire script e modificare l'interfaccia utente in tempo reale;
* Creare esperienze interattive e dinamiche;
* Fornire dimostrazioni tecniche immediate.

### Come aggiungere testi preformattati

1. Accedi ai <img src="../../../.gitbook/assets/contenuti.svg" alt="" data-size="line"> **Contenuti** del tuo Agente e crea o modifica un contenuto;
2. Vai alla sezione "**Avanzate: testi preformattati**" e clicca su "+ Nuovo snippet";
3. Nella scheda che si apre:
   1. Aggiungi un titolo allo snippet di codice;
   2. Inserisci il codice;
   3. Decidi se eseguire il codice in pagina attivando la casella "Inserisci in pagina ed esegui questo snippet" (presente solo per alcuni linguaggi). Questa casella ti permette di:
      1. Eseguire sempre lo snippet quando l'utente fa esattamente la stessa domanda del tuo contenuto (o una abbastanza simile);
      2. Far eseguire lo snippet dall'IA generativa (a discrezione del modello scelto).

{% hint style="info" %}
<mark style="color:blue;">**L'IA generativa utilizza il titolo dello snippet per decidere se e quando eseguirlo**</mark><mark style="color:blue;">. Se vuoi che l'IA generativa esegua il tuo snippet, assicurati di scegliere dei nomi descrittivi e spiega quando utilizzare lo snippet all'interno del prompt.</mark>
{% endhint %}

### Linguaggi supportati

Puoi scegliere tra i seguenti linguaggi per il tuo snippet:

|   Linguaggio   | Mostrare snippet | Eseguire snippet |
| :------------: | :--------------: | :--------------: |
|      text      |         ✅        |         ❌        |
| javascript/jsx |         ✅        |         ✅        |
| typescript/tsx |         ✅        |         ✅        |
|      json      |         ✅        |         ✅        |
|       css      |         ✅        |         ✅        |
|    html/xml    |         ✅        |         ❌        |
|      bash      |         ✅        |         ❌        |
|     python     |         ✅        |         ❌        |
|   cpp/csharp   |         ✅        |         ❌        |
|       php      |         ✅        |         ❌        |
|      ruby      |         ✅        |         ❌        |

### Esempi pratici

* Scopo: illuminare una parte della pagina web;
* Titolo: "Evidenzia la descrizione del prodotto";
* Linguaggio: JavaScript;
* Inserisci in pagina ed esegui questo snippet: checkbox attiva.

Codice:

```javascript
window.evidenziaSezione = function(idSezione) {
    const sezione = document.getElementById(idSezione);
    sezione.style.boxShadow = '0 0 15px 5px #ffff00';
    setTimeout(() => {
        sezione.style.boxShadow = 'none';
    }, 3000);
}
```

Flusso di conversazione:

1. Utente: "Dove trovo la descrizione del prodotto?";
2. Agente:
   1. "La descrizione del prodotto si trova sotto al suo titolo, in alto a destra. Per facilitarti, ho reso la descrizione più evidente illuminandola per alcuni secondi".
   2. \[Inserisce ed esegue lo snippet 'Evidenzia sezione prodotto']

### Vantaggi dell'uso dei testi preformattati

* Crea interazioni più dinamiche e contestuali;
* Migliora l'esperienza utente con esempi visivi e interattivi;
* Fornisce supporto tecnico immediato e pratico;
* Permette di personalizzare l'interfaccia utente in tempo reale;
* Facilita la dimostrazione di funzionalità del sito o dell'applicazione.

### Combinazione avanzata degli snippet

Gli snippet possono essere combinati strategicamente per creare interazioni più complesse:

#### Esempio: evidenziazione dinamica delle sezioni

Immagina di voler creare un'esperienza guidata dove l'Agente evidenzia diverse parti della pagina durante una conversazione. Puoi configurare:

1. Uno snippet CSS (tramite [domanda iniziale](../../../condivisione/condivisione-sezione-avanzata/domanda-iniziale.md))

```css
.highlight-pulse {
  animation: pulse 2s infinite;
  border: 2px solid #6366f1;
  border-radius: 4px;
}

@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.4); }
  70% { box-shadow: 0 0 0 10px rgba(99, 102, 241, 0); }
  100% { box-shadow: 0 0 0 0 rgba(99, 102, 241, 0); }
}
```

2. Snippet di codice JavaScript (nella stessa domanda iniziale)

```javascript
// Funzione per evidenziare la sezione prodotti
function highlightProductsSection() {
    const productsSection = document.querySelector('.products-section');
    
    if (!productsSection) return; // Guard clause
    
    // Aggiungi l'effetto
    productsSection.classList.add('highlight-pulse');
    
    // Rimuovi l'effetto dopo 5 secondi usando requestAnimationFrame
    const startTime = performance.now();
    
    function removeHighlight(currentTime) {
        if (currentTime - startTime >= 5000) {
            productsSection.classList.remove('highlight-pulse');
            return;
        }
        requestAnimationFrame(removeHighlight);
    }
    
    requestAnimationFrame(removeHighlight);
}
```

3. Snippet di codice JavaScript legato al contenuto con domanda "Dove trovo la sezione prodotti?"

```javascript
// Uso della funzione
highlightProductsSection();
```

In questo modo, quando l'utente avvia la chat:

* Viene iniettato immediatamente lo stile CSS;
* Viene definita la funzione JavaScript per evidenziare la sezione.

Quando l'utente chiederà "Dove trovo la sezione prodotti?", l'Agente scatenerà il terzo snippet - e quindi la funzione che evidenzia la sezione.

Questo approccio è particolarmente utile per:

* Tutorial guidati interattivi;
* Onboarding di nuovi utenti;
* Assistenza nella navigazione di pagine complesse;
* Presentazioni di prodotti o servizi.

### Considerazioni importanti

1. **Sicurezza**: quando usi l'opzione di esecuzione degli snippet, assicurati che il codice sia sicuro e non possa essere manipolato per eseguire azioni dannose;
2. **Trasparenza**: fornisci sempre una spiegazione chiara di ciò che lo snippet fa o mostra;
3. **Accessibilità**: considera che non tutti gli utenti potrebbero vedere gli effetti visivi degli snippet, quindi fornisci sempre descrizioni testuali alternative;
4. **Prestazioni**: evita di sovraccaricare la pagina con troppi snippet eseguibili, che potrebbero rallentare l'esperienza utente.

L'utilizzo intelligente dei testi preformattati può trasformare il tuo Agente in un potente strumento di supporto interattivo. Sperimenta con diversi tipi di snippet per creare un'esperienza utente coinvolgente, informativa e personalizzata, migliorando significativamente l'interazione tra l'utente e il tuo sito web o applicazione.


# Utilizzo del timeout

La funzionalità di timeout in AIsuru ti permette di mantenere attiva e coinvolgente la conversazione con l'utente, anche durante momenti di inattività. Questa caratteristica è particolarmente utile per guidare l'utente verso nuovi argomenti o per mantenere vivo il suo interesse.

### Come funziona il timeout

Quando imposti un timeout per una domanda, AIsuru proporrà automaticamente una nuova domanda all'utente se questo rimane inattivo per un certo periodo di tempo.

{% hint style="success" %}
Il timeout viene scelto casualmente tra un valore minimo e massimo personalizzabili al fine di rendere l'**interazione più naturale e meno prevedibile**.
{% endhint %}

### Come impostare il timeout

1. Accedi ai <img src="../../../.gitbook/assets/contenuti.svg" alt="" data-size="line"> **Contenuti** del tuo Agente e crea o modifica un contenuto;
2. Vai alla sezione "Avanzate: timeout";
3. Imposta il valore minimo e quello massimo di timeout (espresso in secondi).

Per esempio:

* Timeout minimo: 20 secondi;
* Timeout massimo: 40 secondi.

In questo caso, se l'utente non interagisce per un periodo compreso tra 20 e 40 secondi, l'Agente proporrà automaticamente una nuova domanda e chiederà: "Perché non mi chiedi \[domanda casuale]".

### Vantaggi dell'utilizzo del timeout

* **Mantiene la conversazione attiva**: evita lunghi periodi di silenzio che potrebbero far perdere interesse all'utente;
* **Guida l'utente**: può introdurre nuovi argomenti o suggerire nuove direzioni per la conversazione;
* **Personalizzazione**: puoi impostare timeout diversi per domande diverse;
* **Esperienza naturale**: la variazione casuale del timeout rende l'interazione più simile a una conversazione reale.

### Come disattivare il timeout e le domande casuali

Per alcuni casi d'uso, il timeout potrebbe essere un elemento di disturbo.

Per questo, su AIsuru puoi:

* Lasciare attivo il **timeout per tutti i contenuti** (comportamento di default) -> l'Agente farà domande casuali all'utente;
* Lasciare attivo il **timeout per alcuni contenuti** -> l'Agente farà domande casuali (prese da un certo gruppo) all'utente;
* **Disattivare del tutto il timeout** -> l'Agente non farà più domande casuali all'utente, anche se non interagisce da diverso tempo.

#### Come attivare il timeout solo per alcuni contenuti

[Imposta i singoli contenuti come "non casuali"](../../contenuti/creazione-manuale-dei-contenuti.md#altri-campi) nella scheda di creazione e modifica dei contenuti o nelle impostazioni dell'importazione di un documento. I contenuti "non casuali" non verranno proposti all'utente.

#### Come suggerire domande se l'utente resta inattivo

1. Accedi alle <img src="../../../.gitbook/assets/settings.svg" alt="" data-size="line"> **Impostazioni** del tuo Agente;
2. Nella sezione Generali, apri il pannello delle <img src="../../../.gitbook/assets/settings.svg" alt="" data-size="line"> **Impostazioni avanzate**;
3. Attiva l'interruttore della voce **"Suggerisci domande se l'utente resta inattivo"**.

### Esempi di utilizzo

Scenario: guida turistica virtuale

Impostazioni dei contenuti:

* Timeout minimo: 15 secondi;
* Timeout massimo: 30 secondi.

Flusso di conversazione:

1. L'Agente descrive il Colosseo;
2. L'utente non interagisce per 17 secondi;
3. L'Agente fa una domanda casuale -> "Perché non mi chiedi quando è stato costruito il Colosseo?".
4. L'utente preme "Va bene" (l'Agente risponde) o "No grazie".

### Best practice

1. **Equilibrio**: imposta timeout né troppo brevi (per non risultare invadente) né troppo lunghi (per mantenere l'engagement);
2. **Contesto**: adatta i tempi di timeout al contesto della conversazione e alla complessità delle informazioni fornite;
3. **Rilevanza**: assicurati che le domande proposte dopo un timeout siano pertinenti e aggiungano valore alla conversazione;
4. **Flessibilità**: considera di impostare timeout più lunghi per domande che richiedono riflessione o azioni da parte dell'utente.

L'utilizzo intelligente del timeout può trasformare una semplice interazione in una conversazione dinamica e coinvolgente. Sperimentando con diversi valori di timeout e domande di follow-up, puoi creare un'esperienza utente più ricca e personalizzata, mantenendo vivo l'interesse dell'utente e guidandolo attraverso tutte le funzionalità e informazioni che il tuo Agente può offrire.


# Importazione avanzata di documenti

In questa sezione esploreremo funzionalità avanzate di AIsuru per gestire casi d'uso più complessi nell'importazione dei documenti. In particolare, vedremo due scenari:

* [**Creare una gerarchia dei documenti**](creare-una-gerarchia-dei-documenti.md)**:** quando hai documenti con diversi livelli di importanza, questa funzionalità ti permette di organizzarli in modo strutturato e gestire le priorità durante l'importazione;
* [**Importare documenti non ufficialmente supportati**](documento-non-supportato.md): se hai bisogno di importare file in formati particolari come Excel, video o altri tipi di file non direttamente supportati, scoprirai come farlo efficacemente.

Queste funzionalità avanzate ti permetteranno di avere un controllo più granulare sul processo di importazione e di gestire scenari più complessi per arricchire la base di conoscenza del tuo Agente.


# Creare una gerarchia dei documenti

La gestione di documenti con diversi livelli di autorità o importanza può rappresentare una sfida significativa, specialmente quando le informazioni possono sovrapporsi o potenzialmente contraddirsi.

AIsuru non supporta ufficialmente la gestione di una gerarchia fra i documenti, ma in questa guida vedremo come utilizzare gli altri strumenti che AIsuru mette a disposizione per ottenere il medesimo risultato.

### Come creare una gerarchia di documenti

#### Import dei documenti

{% tabs %}
{% tab title="Utenti intermedi" %}
1. Vai alla sezione <img src="../../../.gitbook/assets/exit-export-icon-svg.svg" alt="" data-size="line"> **Import / Export** del tuo Agente;
2. [**Carica il documento**](../../importazione-di-documenti/importare-documenti-testuali.md#configurazione-base) e setta le diverse impostazioni;
3. Alla voce "**Istruzioni per la generazione delle domande**" aggiungi questa dicitura: 'Aggiungi "- \[nome documento]" alla fine di ogni domanda'. Ricordati di sostituire \[nome documento] con il nome del tuo documento!
4. **Ripeti l'operazione per tutti i documenti**.
{% endtab %}

{% tab title="Utenti avanzati e programmatori" %}
1. Vai alla sezione <img src="../../../.gitbook/assets/exit-export-icon-svg.svg" alt="" data-size="line"> **Import / Export** del tuo Agente;
2. [**Carica il documento**](../../importazione-di-documenti/importare-documenti-testuali.md#configurazione-base) e setta le diverse impostazioni (mantieni e segnati l'argomento impostato che "marchia" i contenuti di ciascun file);
3. [**Esporta i contenuti in formato CSV**](/broken/pages/pRiZgAUpWHMo0kttSnsg#esecuzione-del-backup);
4. Aggiungi la dicitura "- \[nome documento]" alla fine di ogni domanda in maniera automatizzata;
5. [**Cancella i contenuti**](../../contenuti/modifica-e-aggiornamento-dei-contenuti.md#eliminazione-dei-contenuti) del tuo Agente;
6. [**Ricarica il file CSV modificato**](/broken/pages/pRiZgAUpWHMo0kttSnsg#come-importare-il-file-csv);
{% endtab %}
{% endtabs %}

#### Modifica le impostazioni relativa all'IA

Ora che hai caricato i documenti, dovrai istruire il tuo Agente a rispettare la tua gerarchia:

1. Accedi alle <img src="../../../.gitbook/assets/settings.svg" alt="" data-size="line"> **Impostazioni** del tuo Agente;
2. Clicca sulla scheda ![](../../../.gitbook/assets/custom-icon-svg.svg) **IA**;
3. **Abilita l'interruttore dell'IA Generativa** se non è già attivo;
4. **Modifica le istruzioni** spiegando precisamente che priorità assegnare a ciascun documento. Es. "Quando l'utente fa una domanda, rispondi dando maggiore importanza ai contenuti del \[nome documento]. In un secondo momento, considera i contenuti di \[nome documento] e \[nome documento]".
5. Metti la spunta alla voce "**Risponde sempre con IA generativa**".

### Casi d'uso ideali

La gerarchia documentale è particolarmente utile per:

* Gestione di normative e regolamenti;
* Documentazione tecnica stratificata.
* Qualsiasi scenario con fonti informative di diversa autorità o attualità.

### Considerazioni importanti

* Mantieni una **struttura gerarchica semplice, chiara e logica**;
* Documenta attentamente la gerarchia stabilita;
* Aggiorna le priorità quando necessario;
* Verifica periodicamente la coerenza delle risposte.

La creazione di una gerarchia documentale rappresenta un significativo passo avanti nella gestione di informazioni complesse, permettendo al tuo Agente di fornire risposte più accurate e contestualizzate in base all'autorità delle diverse fonti.


# Importare un documento non supportato

AIsuru supporta l'importazione di vari tipi di documenti testuali, ma ci possono essere situazioni in cui desideri importare un formato non supportato ufficialmente. Questa guida ti aiuterà a gestire l'importazione di diversi tipi di file non standard, assicurando che il tuo Agente IA possa accedere e utilizzare efficacemente queste informazioni.

### Procedura generale

Se il formato del tuo documento non è direttamente supportato:

1. **Estrai il testo o le informazioni** dal tuo file;
2. **Incolla le informazioni** che hai estratto ->
   1. Nelle [istruzioni](../../../ai-generativa/prompt-engineering/) se vuoi che l'IA sappia sempre tutto (e se il testo utilizza meno di 200.000 caratteri);
   2. O nei [contenuti](../../contenuti/) se vuoi separare le informazioni per argomenti ->
      1. Domanda -> inserisci una parola chiave;
      2. Varianti di domanda ->  scrivi specifiche domande per cui quelle informazioni sono utili;
      3. Risposta -> inserisci il testo che hai estratto;
3. **Spiega come leggere e come utilizzare i dati** nelle istruzioni del tuo Agente.

### Gestione di formati specifici

Ora che abbiamo visto la procedure generale, vediamo come puoi caricare file di specifici formati.

#### File Excel

I file Excel, ed in generale le tabelle, più semplici possono essere trasformati in formato **markdown** e possono essere inseriti all'interno di un contenuto o delle istruzioni del tuo Agente.

Se, però, il tuo file Excel è più complesso e vuoi una maggiore accuratezza nelle risposte:

1. **Identifica diverse categorie in cui puoi accorpare i dati**;
2. A partire dal tuo Excel, **estrai le informazioni e salvale in diversi file JSON** (uno per categoria) che abbiano una struttura semplice e chiara anche per un essere umano;
3. **Copia il codice dei tuoi file JSON** e incollalo ->
   1. Nelle **istruzioni** se il totale non supera i 200.000 caratteri
   2. In tanti **contenuti** diversi (uno per categoria, come i file) ->
      1. Domanda -> inserisci una parola chiave;
      2. Varianti di domanda -> inserisci esempi di domande a cui l'IA dovrebbe rispondere a partire da quelle informazioni;
      3. Risposta -> inserisci il codice del tuo file JSON.
   3. In tante [**funzioni**](../../../avanzate/integrazioni/funzioni/) diverse (una per categoria, come i file) -> puoi utilizzare anche le funzioni per ospitare i tuoi contenuti. Ti basterà rendere accessibile il tuo file JSON e l'Agente andrà a recuperare le informazioni quando necessario
4. Nelle istruzioni, **spiega all'Agente dove trova le informazioni** (se nelle istruzioni, nei contenuti o nelle funzioni), **come leggere i dati** (la struttura del JSON) **e come li deve utilizzare** per rispondere alle richieste degli utenti.

#### Video

AIsuru non supporta ufficialmente l'istruzione a partire da file video. Se vuoi rendere un video interrogabile:

1. **Ottieni una trascrizione del video** (utilizza whisper di OpenAI o sfrutta Sharepoint per i meeting di Teams);
2. Nelle istruzioni **spiega cosa deve fare l'IA, copia la trascrizione e incollala**.

✅ Finito! Ora l'AI saprà rispondere alle domande sul video. La qualità delle risposte dipenderà molto dalla qualità della trascrizione stessa.

Se utilizzi Microsoft SharePoint, puoi anche allegare il link del video (al minuto preciso) ad ogni risposta:

1. **Assicurati di copiare anche il minutaggio** della trascrizione e riportalo nelle istruzioni del tuo Agente;
2. **Copia il link del video**;
3. **Personalizza e aggiungi queste istruzioni**:

```
1. LINK VIDEO:
 - Il video si trova qui: `...name.mp4`

2. TRASCRIZIONE:
 - La trascrizione precede ogni parte con hh:mm:ss indicando l'ora, il minuto e il secondo preciso in cui qualcosa viene detto.
 - Devi ASSOLUTAMENTE tenere conto della trascrizione, del tempo ESATTO e della seguente regola per creare il link al minuto preciso.

3. COMPOSIZIONE DEL LINK AL MINUTO PRECISO:
 - Se il minuto indica, per esempio, 5 minuti e 16 secondi, significa `5*60+16 = 316` secondi. Devi quindi aggiungere questa parte variabile al link:
 `&nav=%7B%22playbackOptions%22%3A%7B%22startTimeInSeconds%22%3AXXX%7D%7D` dove `XXX` deve essere sostituito con i secondi esatti.

### Esempio:
- Calcolo: `5 minuti e 16 secondi = 5*60+16 = 316 secondi`
- Parte variabile: `&nav=%7B%22playbackOptions%22%3A%7B%22startTimeInSeconds%22%3A316%7D%7D`
- Link completo: `...name.mp4&nav=%7B%22playbackOptions%22%3A%7B%22startTimeInSeconds%22%3A316%7D%7D`
```

Queste istruzioni sono state create per Microsoft SharePoint. Se utilizzi YouTube o un altro servizio, assicurati di modificare la parte variabile del link.

#### Immagini

Per importare informazioni dalle immagini:

1. Utilizza ChatGPT o Claude per ottenere una descrizione accurata e completa dell'immagine;
2. Esporta il testo e inseriscilo ->
   1. Nelle istruzioni -> se vuoi che l'Agente abbia sempre in mente le informazioni estratte;
   2. In un contenuto -> se vuoi mostrare l'immagine in specifiche occasioni (con determinate parole chiave o domande):
      1. Domanda -> inserisci una domanda a cui l'immagine risponde (o una parola chiave);
      2. Varianti di domanda -> aggiungi altre domande per cui l'immagine potrebbe essere utile;
      3. Risposta -> la descrizione dell'immagine;
      4. [Media](../../contenuti/creazione-manuale-dei-contenuti.md#media-e-link) -> aggiungi la tua immagine.

L'importazione di documenti non supportati richiede un po' più di lavoro manuale, ma permette di integrare una vasta gamma di informazioni nel tuo Agente AI. Scegli il metodo più appropriato in base al tipo di documento e alla struttura delle informazioni che contiene. Ricorda sempre di verificare che le informazioni importate siano accurate e facilmente accessibili all'Agente per garantire risposte precise e pertinenti.


# Messaggio di benvenuto

Il messaggio di benvenuto è il modo in cui il tuo Agente si presenterà agli utenti che lo interrogheranno. Un messaggio di benvenuto può anche indirizzare l'utente verso le domande a cui il tuo Agente può rispondere.

### Come personalizzare il messaggio di benvenuto

Per modificare il messaggio di benvenuto del tuo Agente:

1. Accedi ai <img src="../../.gitbook/assets/contenuti.svg" alt="" data-size="line"> **Contenuti** del tuo Agente;
2. Vai alla scheda "Messaggio di benvenuto" ed inserisci il testo che preferisci nella casella di testo.

{% hint style="info" %}
<mark style="color:blue;">Il messaggio di benvenuto</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**include il nome della Persona, non il nome dell'Agente**</mark><mark style="color:blue;">: se vuoi che al cambio del nome si aggiorni anche il messaggio di benvenuto, allora sostituisci il nome della Persona con la scritta {0} all'interno del tuo messaggio di benvenuto.</mark><br>

<mark style="color:blue;">Ad esempio, se scrivi "Ciao! Mi chiamo {0}, come posso aiutarti oggi?", gli utenti vedranno il nome dell'Agente al posto di {0}.</mark>
{% endhint %}

#### Reset e salvataggio

Una volta personalizzato il messaggio, hai due opzioni:

* Premi "Salva" per confermare le modifiche;
* Premi "Reset" per tornare al messaggio predefinito.

🔔 Il messaggio di benvenuto è diverso dalla [domanda iniziale](../../condivisione/condivisione-sezione-avanzata/domanda-iniziale.md) che puoi configurare nei layout di condivisione. Mentre il messaggio di benvenuto è sempre lo stesso, la domanda iniziale può generare risposte diverse attraverso l'IA generativa.

### Suggerimenti per un buon messaggio

* Presentati in modo amichevole;
* Spiega brevemente cosa può fare il tuo Agente;
* Invita l'utente a fare domande specifiche;
* Mantieni un tono coerente con la personalità che vuoi dare al tuo Agente.

Con un messaggio di benvenuto efficace, i tuoi utenti sapranno subito come interagire al meglio con il tuo Agente e quali domande possono fargli.


# Risposte predefinite

Le risposte predefinite in AIsuru offrono un'utile soluzione per gestire situazioni in cui l'Agente non comprende la richiesta.&#x20;

### Cosa sono le risposte predefinite

Le risposte predefinite sono risposte standard che il tuo Agente può dire ai tuoi utenti quando non sa rispondere alla domanda.

### Come modificare le risposte predefinite

* Accedi ai <img src="../../.gitbook/assets/contenuti.svg" alt="" data-size="line"> **Contenuti del tuo Agente**;
* Nel menu, seleziona "Risposte predefinite".

Da questa sezione potrai modificare la risposta predefinita di base e aggiungere altre risposte predefinite.

**Risposta predefinita di base**

La risposta predefinita di base è la risposta che il tuo Agente dà normalmente quando incontra qualche errore.

Per cambiarla, modifica il relativo campo di testo e premi sul tasto "Salva" che trovi sulla destra. Se, invece, vuoi riportare il suo valore a quello originale, premi sul tasto "Reset".

#### Risposte predefinite personalizzate

In alcuni casi, puoi mostrare una risposta personalizzata che l'Agente fornirà all'utente al posto della risposta di base.

Per farlo, premi sul tasto <img src="../../.gitbook/assets/nuova funzione.svg" alt="" data-size="line"> **Nuova risposta predefinita** e inserisci la risposta.

Ricorda che è obbligatorio specificare almeno uno tra:

* [Argomento](personalizzazione-dei-contenuti/contesto-argomenti-ed-etichette.md) necessario;
* [Ruolo](personalizzazione-dei-contenuti/come-attribuire-contenuti-a-ruoli-specifici.md) a cui assegnare la risposta;
* [Data o luogo](personalizzazione-dei-contenuti/personalizzare-le-risposte-in-base-a-data-e-luogo-dellutente.md).

All'interno della scheda di creazione della risposta, però, puoi anche:

* Aggiungere [altre risposte](../contenuti/creazione-manuale-dei-contenuti.md#altre-risposte);
* Segnare la [risposta come conclusiva](../contenuti/creazione-manuale-dei-contenuti.md#altri-campi);
* Aggiungere [media e link](../contenuti/creazione-manuale-dei-contenuti.md#media-e-link);
* Avanzate: aggiungere [suggerimenti](personalizzazione-dei-contenuti/gestione-dei-suggerimenti.md), [tag](personalizzazione-dei-contenuti/gestione-dei-tag.md), [contesto](personalizzazione-dei-contenuti/contesto-argomenti-ed-etichette.md), [testi preformattati](personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md), modificare il [timeout](personalizzazione-dei-contenuti/utilizzo-del-timeout.md) e modificare l'[integrazione DCM](../../estensioni/open-badge.md).

### Utilizzo efficace delle risposte predefinite

Per massimizzare l'efficacia delle tue risposte predefinite:

* Crea risposte chiare e concise che guidino l'utente verso una risoluzione;
* Considera diversi scenari e crea risposte specifiche per ciascuno;
* Aggiorna regolarmente le risposte per assicurarti che rimangano pertinenti.


# Formattazione dei messaggi: HTML e formule matematiche

AIsuru offre potenti strumenti di formattazione che permettono di arricchire le risposte del tuo Agente con HTML e formule matematiche, creando esperienze di conversazione più ricche e interattive.

### Codice HTML all'interno dei messaggi

L'HTML nei messaggi viene interpretato e renderizzato automaticamente quando il messaggio viene visualizzato. Non dovrai attivare alcuna impostazione specifica: basta includere il codice HTML desiderato nella risposta dell'Agente.

#### Come utilizzare l'HTML all'interno del tuo Agente

Per sfruttare questa funzionalità, dovrai semplicemente inserire il codice HTML:

* **Nella** [**risposta del tuo contenuto**](../contenuti/creazione-manuale-dei-contenuti.md#come-creare-un-contenuto-semplice) -> in questo caso, il codice HTML sarà sempre lo stesso (utile, ad esempio, per i form);
* **Nelle** [**istruzioni**](../../ai-generativa/prompt-engineering/) -> ricorda di spiegare all'IA generativa quando e come usare il tuo codice HTML.

Una volta fatto questo, ricordati di testare per assicurarti che il tuo codice sia visualizzato correttamente. Per implementazioni più complesse, ricorda che puoi **puoi aggiungere codice JavaScript e CSS negli** [**snippet di codice eseguibili**](personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md).

#### Esempio: mostra le immagini da un sito web

Ecco un esempio di come istruire l'Agente per mostrare le immagini che trova all'interno di una certa pagina web 👇

{% code fullWidth="false" %}
```
Quando l'utente ti chiede di vedere una foto:
1. Chiama la funzione "album_foto";
2. Leggi i nomi delle foto che ti sono restituiti dalla funzione;
3. Trova la foto che l'utente ha chiesto di vedere e ricorda il path
ed il nome del file (/img/esempio.png)
4. Rispondi includendo il codice HTML che permette all'utente di vedere la foto

Codice HTML per mostrare la foto all'utente:
<img style="max-width: 100%; height: auto;" src="XXX">

RICORDATI DI SOSTITUIRE XXX con il path assoluto dell'immagine!
Quindi non ".../img/esempio.png" ma "www.[esempio].org/img/esempio.png"
```
{% endcode %}

### Formule matematiche

AIsuru supporta la visualizzazione di formule matematiche tramite MathJax. Puoi includere formule matematiche in due modi:

* **Nei contenuti**:
  * Inserisci la formula tra parentesi quadre;
  * Esempio: \[E = mc^2] verrà renderizzato come una formula matematica;
  * Puoi usare la sintassi LaTeX per formule complesse: \[\frac{-b \pm \sqrt{b^2-4ac\}}{2a}].
* **Nelle istruzioni all'IA**:
  * Puoi insegnare all'IA a generare formule matematiche;
  * Specifica nelle istruzioni che deve utilizzare la sintassi LaTeX per le formule matematiche;
  * L'IA genererà le formule nel formato corretto automaticamente.

### Vantaggi della formattazione avanzata

L'integrazione di HTML e formule matematiche nelle risposte dell'Agente offre numerosi vantaggi:

* **Presentazione di informazioni complesse** in modo strutturato e visivamente accattivante;
* **Visualizzazione di formule matematiche** in modo professionale e leggibile;
* Creazione di **esperienze interattive** direttamente all'interno della chat.

### Copia dei messaggi formattati

AIsuru fornisce due pulsanti di copia che appaiono in ogni risposta:

* **Copia contenuto** <img src="../../.gitbook/assets/copy-button-svg (1).svg" alt="" data-size="line">: permette di copiare il testo del messaggio già formattato e renderizzato (solo testo).
* **Copia codice sorgente** <img src="../../.gitbook/assets/ghost-button-svg.svg" alt="" data-size="line">: permette di copiare il testo originale con tutti i tag HTML o la formattazione Markdown.

Questa funzionalità è particolarmente utile quando:

* Hai bisogno di riutilizzare il codice HTML o Markdown;
* Devi condividere sia la visualizzazione che il codice sorgente di una risposta.

Ad esempio, quando copi una risposta di un Agente contenente un'immagine, il pulsante "Copia contenuto" copierà solo il testo descrittivo, mentre "Copia codice sorgente" includerà anche il tag HTML dell'immagine con il relativo URL.

🚀 Sfruttando questa potente funzionalità, potrai trasformare le conversazioni con il tuo Agente da semplici scambi testuali a esperienze ricche e coinvolgenti per i tuoi utenti.


# Metodi avanzati di istruzione

Oltre ai metodi base (Istruiscimi, Contenuti e Import di documenti), AIsuru offre tre approcci avanzati per istruire il tuo Agente:

* Puoi inserire brevi documenti direttamente nelle [istruzioni del Agente](../../ai-generativa/prompt-engineering/);
* Puoi usare le [funzioni](../../avanzate/integrazioni/funzioni/) per accedere in tempo reale a documenti e dati online.
* Puoi usare gli [MCP](../../avanzate/integrazioni/model-context-protocol-mcp-su-aisuru/mcp-cosa-sono-e-come-si-utilizzano.md) per avere accesso a servizi esterni come database.<br>

Questi metodi avanzati sono particolarmente utili quando hai bisogno di aggiornamenti continui o vuoi mantenere i dati separati dalla piattaforma. Vanno, però, utilizzati con cautela: in entrambi i casi, dovrai assicurarti che i documenti e il codice sorgente della pagina web non superino la finestra di contesto del modello linguistico scelto.


# 3. Modelli linguistici e IA generativa

L'intelligenza artificiale è il cuore pulsante del tuo Agente su AIsuru. In questo capitolo, scoprirai come sfruttare la potenza dei modelli linguistici e dell'IA generativa per rendere il tuo assistente virtuale più intelligente, naturale e capace di fornire risposte accurate e pertinenti.

In questa sezione, esploreremo:

* [**Come attivare l'IA generativa**](attiva-lia-generativa-e-cambia-il-modello.md) per dare al tuo Agente la capacità di generare risposte dinamiche e contestuali;
* [**Come creare istruzioni efficaci**](prompt-engineering/) che guidino il comportamento del tuo Agente;
* [**Come scegliere il modello linguistico**](provider.md) più adatto alle tue esigenze, che tu stia creando un semplice assistente personale o un sofisticato sistema di supporto aziendale.

Preparati a scoprire come trasformare il tuo Agente da un semplice assistente a un vero e proprio esperto conversazionale, capace di comprendere, apprendere e interagire in modo naturale e efficace! 🧠💬


# Attiva l'IA generativa e cambia il modello

L'IA generativa rende più intelligenti e dinamici i tuoi Agenti: attivando questa opzione, infatti, l'Agente adatterà le risposte in base alla conversazione e capirà in autonomia il contesto di ogni richiesta.

### IA generativa: quando attivarla

L'IA generativa è molto utile per:

* **Generare risposte più naturali** e contestualmente appropriate;
* **Adattarsi dinamicamente** alle diverse richieste degli utenti;
* **Fornire informazioni più dettagliate** e pertinenti;
* **Personalizzare il tono e lo stile** delle risposte in base al contesto.

{% hint style="warning" %}
L'IA generativa **può anche fornire informazioni errate agli utenti**. Con AIsuru puoi sfruttare molti strumenti per ridurre gli errori dell'IA generativa al minimo, ma è sempre possibile che fornisca una risposta errata o parzialmente errata. La qualità delle risposte dipende molto dal [provider e dal modello scelto](provider.md).
{% endhint %}

### Come attivare l'IA generativa per il tuo Agente

Per iniziare a utilizzare l'IA generativa, segui questi semplici passaggi:

1. Accedi al pannello di gestione dell'Agente desiderato;
2. Nella barra laterale, clicca su <img src="../.gitbook/assets/settings.svg" alt="" data-size="line"> **Impostazioni**;
3. All'interno della pagina Impostazioni, premi su <img src="../.gitbook/assets/optimized-svg.svg" alt="" data-size="line"> **IA** per aprire la sezione;
4. **Attiva l'interruttore** accanto alla scritta **"**&#x41;bilita le risposte generate da IA".

✨ Congratulazioni! Hai appena attivato l'IA generativa per il tuo Agente.

### Come cambiare il modello del tuo Agente

Nella sezione "**Impostazioni del provider**", in fondo, troverai tre menu a tendina:

1. **Configurazione per domande e risposte**: è il modello principale che:
   1. Legge e segue le istruzioni;
   2. Analizza [i contenuti](../istruzione-gestione-contenuti-agenti/contenuti/) più rilevanti del tuo Agente;
   3. Genera le risposte alle domande degli utenti;
   4. Decide quando utilizzare funzioni o intenti dinamici.
2. **Configurazione per import/export**: permette di cambiare il modello che gestisce [l'import dei tuoi documenti testuali](../istruzione-gestione-contenuti-agenti/importazione-di-documenti/importare-documenti-testuali.md);
3. **Configurazione per** [**Pensiero Profondo**](../estensioni/pensiero-profondo/): permette di cambiare il modello che decide cosa ricordare dalle conversazioni con ciascun utente (solo con Pensiero Profondo attivo).

Da questi tre menu a tendina, potrai modificare il modello utilizzato per una certa attività. Già di default, i modelli scelti da AIsuru ti permettono di avere una qualità delle risposte eccellente:

* Configurazione per **domande e risposte**: Anthropic - Claude 4.5 Sonnet;
* Configurazione per **import/export**: OpenAI - GPT 4o Mini;
* Configurazione per **Pensiero Profondo**: Anthropic - Claude 4.5 Sonnet.

Dopo aver attivato l'IA generativa e aver configurato i modelli, potrai:

* Modificare le [**istruzioni**](prompt-engineering/);
* Attivare o disattivare [**Pensiero Profondo**](../estensioni/pensiero-profondo/);
* Settare [**altre impostazioni dell'IA generativa**](ia-generativa-sezione-avanzata/altre-impostazioni-dellia-generativa.md).

{% hint style="info" %}
**Nota**:\
La configurazione per Pensiero Profondo viene utilizzata anche per i Gruppi di Esperti, a meno che non sia stato configurato un modello specifico nelle impostazioni del singolo Gruppo di Esperti.
{% endhint %}


# Istruzioni IA

**Le istruzioni sono il fondamento del comportamento del tuo Agente**. Una configurazione accurata delle istruzioni determina non solo la qualità delle risposte, ma anche la personalità e l'efficacia complessiva del tuo assistente virtuale.

In questa sezione, esploreremo:

* Cosa sono e come si modificano le [**istruzioni per l'IA generativa**](istruzioni-ia-cosa-sono-e-come-modificarle.md);
* Come orientarsi nel [**Editor Avanzato del**](editor-avanzato-delle-istruzioni.md)[**le istruzioni**](editor-avanzato-delle-istruzioni.md);
* Come [**creare istruzioni chiare e specifiche** ](come-scrivere-istruzioni-efficaci.md)per guidare il comportamento del tuo Agente;
* [**Esempi reali di istruzioni efficaci**](esempi-di-istruzioni-efficaci.md).

Preparati a trasformare il tuo Agente in uno strumento potente e flessibile, capace di offrire un'esperienza utente eccezionale! 🚀


# Istruzioni IA: cosa sono e come modificarle

Le istruzioni sono fondamentali per definire il comportamento e le capacità del tuo Agente in AIsuru. Puoi sfruttarle per stabilire:

* **Ruolo e competenze** del tuo Agente;
* **Stile delle risposte**;
* **Limitazioni e linee guida comportamentali**.

{% hint style="danger" %}
Non inserire mai informazioni riservate all'interno delle istruzioni dell'Agente. **Tutto ciò che inserisci nelle istruzioni potrebbe essere rivelato all'utente**!
{% endhint %}

### Accesso e modifica delle istruzioni

Per modificare le istruzioni del tuo Agente, segui questi passaggi:

1. Accedi al pannello di gestione dell'Agente desiderato;
2. Seleziona <img src="../../.gitbook/assets/settings.svg" alt="" data-size="line"> **Impostazioni** nella barra laterale;
3. All'interno della pagina, accedi alla sezione <img src="../../.gitbook/assets/optimized-svg.svg" alt="" data-size="line"> **IA**;
4. Individua il campo "Istruzioni", modifica come preferisci e premi su "Salva le modifiche".

_Nota: Il campo "Istruzioni" può essere espanso premendo su "Espandi" per aprire un editor avanzato del system prompt._

Se vuoi creare istruzioni efficaci, prosegui con il prossimo capitolo 👇


# Editor Avanzato delle istruzioni

Ora che abbiamo compreso l'importanza delle istruzioni del nostro Agente, vediamo nel dettaglio come utilizzare l'editor avanzato.

### Accesso editor avanzato

Per visualizzare l'editor avanzato del tuo Agente, segui questi passaggi:

1. Seleziona <img src="../../.gitbook/assets/settings.svg" alt="" data-size="line"> **Impostazioni** nella barra laterale del tuo agente;
2. All'interno della pagina, accedi alla sezione <img src="../../.gitbook/assets/optimized-svg.svg" alt="" data-size="line"> **IA**;
3. Individua il campo "Istruzioni", e premi su "Espandi".

### Interfaccia dell'editor avanzato

L'editor avanzato si presenta con un'interfaccia completa che include:

* **area di scrittura principale;**
* **barra degli strumenti superiore;**
* **pannello laterale destro.**

### Area di scrittura principale

L'area centrale mostra le tue[ istruzioni](./) in formato testo, con evidenziazione della sintassi per facilitare la lettura e l'editing del codice.

### Barra degli strumenti superiore

Nella parte superiore dell'editor trovi:

* **pulsante "Copia"**: permette di copiare negli appunti le istruzioni;
* **pulsante "Annulla" (Ctrl+Z)**: permette di annullare le ultime modifiche;
* **toggle "Salvataggio automatico"**: quando attivo, salva automaticamente le modifiche;
* **menu "Modalità"**: permette di scegliere tra diverse modalità di visualizzazione:
  * **"Testo"**: visualizzazione semplice del testo senza formattazione;
  * **"Testo (markdown)"**: mostra il testo con la sintassi markdown visibile;
  * **"Anteprima (markdown)"**: renderizza il testo formattato secondo le regole markdown;
  * **"Vista divisa"**: divide lo schermo mostrando contemporaneamente il codice markdown e la sua anteprima formattata.
* **pulsante "Espandi barra laterale"**: permette di espandere o ridurre il pannello laterale destro.

### Pannello laterale destro - Caratteri

Il pannello "Caratteri" mostra informazioni utili sul tuo testo delle istruzioni:

* **conteggio caratteri**: 0 / 10000;
* **parole**: 0;
* **paragrafi**: 0.

{% hint style="info" %}
Il conteggio di caratteri consigliato per è di 10.000 ma **non viene applicato alcun limite**.\
è possibile scrivere anche istruzioni da 70.000 caratteri.
{% endhint %}

### Pannello laterale destro - Prompt Template

La sezione "Prompt Template" permette di vedere alcune caratteristiche delle proprie istruzioni e  le funzioni abilitate.

Questa sezione mostra le funzioni attualmente attive per il tuo Agente:

* esempio: "ContextVariables";
* esempio: "PerplexitySearch".

Queste funzioni estendono le capacità del tuo Agente e possono essere gestite dalla sezione dedicata.

Nella parte inferiore del pannello laterale destro è anche disponibile un **pulsante** che permette di aprire un menù con due possibilità:

* **importare** le istruzioni da un altro Agente;
* **esportare** le istruzioni da questo Agente.

### Consigli per un utilizzo efficace

* **Sfrutta il salvataggio automatico:** attiva il toggle "Salvataggio automatico" per evitare di perdere le modifiche durante l'editing;
* **Monitora il conteggio caratteri:** tieni d'occhio il pannello "Caratteri" per assicurarti di rimanere entro i limiti consigliati e ottimizzare le prestazioni del tuo Agente;
* **Testa le modifiche:** dopo aver salvato le istruzioni, testa sempre il comportamento del tuo Agente per verificare che segua correttamente le nuove direttive.


# Come scrivere istruzioni efficaci

Le istruzioni sono come una "guida al comportamento" per il tuo Agente: gli spieghi chi è, cosa deve fare e come deve interagire con gli utenti. **Scrivere delle buone istruzioni è fondamentale** per avere un Agente che risponda in modo preciso e pertinente.

### Cosa insegnare al tuo Agente

Quando scrivi le istruzioni, pensa di dover spiegare a una persona appena assunta questi aspetti:

* **Chi è**: qual è il suo ruolo? È un assistente clienti, un esperto di marketing, un tutor?
* **Con chi parla**: chi sono i suoi utenti? Cosa vogliono ottenere?
* **Cosa sa fare**: quali sono le sue competenze? Di cosa può parlare?
* **Come parlare**: deve essere formale o informale? Tecnico o semplice?
* **Cosa non deve fare**: ci sono argomenti da evitare o informazioni da non condividere?

{% hint style="danger" %}
<mark style="color:red;">**ATTENZIONE**</mark><mark style="color:red;">: non condividere mai informazioni riservate all'interno delle istruzioni IA. Piuttosto, inserisci queste informazioni all'interno di specifici contenuti</mark> [assegnati ad un ruolo](../../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/come-attribuire-contenuti-a-ruoli-specifici.md) <mark style="color:red;">o con un</mark> [contesto necessario](../../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/contesto-argomenti-ed-etichette.md#argomenti-necessari)<mark style="color:red;">.</mark>
{% endhint %}

### Come scrivere istruzioni efficaci

**Struttura logicamente le tue istruzioni**

* Crea sezioni logiche e ben definite (es. ruolo, competenze, limiti);
* Usa una gerarchia chiara delle informazioni;
* Inserisci esempi concreti per i concetti chiave;
* Mantieni coerenza nella formattazione.

**Fornisci un contesto**

* Specifica chiaramente l'ambito operativo e i confini dell'Agente;
* Definisci il background necessario per comprendere le richieste;
* Indica quando e come utilizzare informazioni specifiche;
* Includi regole per filtrare contenuti inappropriati;
* Specifica come gestire richieste ambigue o fuori contesto.

#### Domande e risposte

* Definisci il formato atteso delle richieste degli utenti -> domande brevi, pezzi di articoli, o altro;
* Specifica la struttura desiderata delle risposte;
* Indica come gestire input incompleti o non chiari;
* Stabilisci regole per la formattazione delle risposte.

**Chiarezza e concisione**

* Usa un linguaggio diretto e preciso;
* Evita informazioni superflue o ambigue;
* Concentrati sugli elementi essenziali;
* Utilizza termini specifici invece di generici;
* Definisci chiaramente i termini tecnici.

**Le istruzioni funzionano meglio se scritte in inglese**. Se il tuo Agente non segue precisamente le istruzioni, prova a tradurle!

#### Supporto

Se hai bisogno di aiuto nella scrittura delle istruzioni, utilizza il nostro [**Meta Prompt Engineer**](https://www.aisuru.com/it/memoridev/Meta%20Prompt%20Engineer): ti aiuterà a generare istruzioni appropriate basate sulle tue esigenze specifiche.&#x20;

### Come ottimizzare e mantenere le istruzioni

#### Monitoraggio e analisi

* Verifica regolarmente l'aderenza alle istruzioni;
* Identifica pattern di risposte non ottimali;
* Analizza i casi di escalation o errore;
* Raccogli metriche sulle performance.

#### **Ottimizzazione e aggiornamento**

* Aggiorna le istruzioni in base ai feedback;
* Migliora la gestione dei casi limite identificati;
* Documenta le modifiche eseguite.


# Esempi di istruzioni efficaci

Le istruzioni sono fondamentali per ottenere risposte accurate e pertinenti dal tuo Agente IA. In questa guida, vedrai alcuni esempi di istruzioni efficaci e ben strutturate.

{% hint style="success" %}
Prima di iniziare, ricorda che se non sai come scrivere le istruzioni:

* **puoi rivolgerti al** [**Meta Prompt Engineer**](https://www.aisuru.com/it/private/4d4bbe49-a089-4639-8e04-d4493d93ef56/c4bc0ec9-6473-4823-8908-5f556d1438b9): raccontagli la tua idea e lasciati guidare dall'Agente;
* **consultare la** [**guida di anthropic**](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview) sul prompt engenering.
{% endhint %}

### Esempio base:  il Bizzarro Mago del Meteo

{% code fullWidth="false" %}
```
Tu sei Zefiro, il Bizzarro Mago del Meteo, 
un assistente IA specializzato nella creazione 
di previsioni meteorologiche FANTASTICHE E IMMAGINATIVE. 
La tua funzione principale è INTRATTENERE E ISPIRARE 
gli utenti con previsioni creative, ma scientificamente plausibili.

Caratteristiche chiave:
1. IMMAGINATIVO: Combini concetti meteorologici reali con elementi fantastici.
2. FONDATO SCIENTIFICAMENTE: Nonostante la tua stravaganza, 
le tue previsioni mantengono una base nei reali fenomeni e modelli meteorologici.
3. COINVOLGENTE: Usi un linguaggio vivido e immagini per rendere 
le tue previsioni accattivanti.
4. EDUCATIVO: Incorpori sottilmente fatti e spiegazioni meteorologiche 
reali nelle tue previsioni fantasiose.
5. ADATTABILE: Adatti le tue previsioni alla posizione e alle preferenze dell'utente.

Responsabilità principali:
- Generare previsioni meteorologiche UNICHE E CREATIVE che vanno 
oltre le previsioni standard.
- Spiegare fenomeni meteorologici insoliti con un mix di fatti scientifici 
e speculazioni immaginative.
- Rispondere a domande relative al meteo con PRECISIONE E STILE.
- Creare storie o scenari basati sul meteo che catturino l'immaginazione dell'utente.

Linee guida per l'interazione:
1. Chiedi SEMPRE la posizione dell'utente prima di fornire una previsione.
2. Incorpora punti di riferimento o caratteristiche locali nelle tue previsioni 
quando possibile.
3. Usa un mix di termini meteorologici reali e inventati, spiegando 
eventuali nuovi concetti.
4. Fornisci un "LIVELLO DI BIZZARRIA" per ogni previsione, 
da 1 (prevalentemente fattuale) a 10 (altamente fantastico).
5. Offri consigli pratici nascosti all'interno delle tue previsioni creative.

Esempio di previsione:
"Domani a Roma, aspettatevi una pioggia di STELLE CADENTI COMMESTIBILI 
(Livello di Bizzarria: 9). Mentre la Terra attraversa un campo di particelle 
spaziali zuccherine, queste si scioglieranno nell'atmosfera creando 
una dolce precipitazione. Portate con voi un ombrello trasparente 
per gustare questo fenomeno celeste! Sebbene questo evento sia 
largamente fantasioso, è ispirato alle reali piogge di meteoriti 
e al modo in cui i corpi celesti interagiscono con l'atmosfera terrestre."

RICORDA: Il tuo obiettivo è rendere le previsioni meteorologiche 
un'ESPERIENZA EMOZIONANTE E IMMAGINATIVA, fornendo allo stesso tempo 
informazioni preziose. Bilancia creatività e praticità, e 
dai sempre priorità al coinvolgimento e all'educazione dell'utente.
```
{% endcode %}

#### Perché queste istruzioni sono efficaci?

1. **Identità chiara**: le istruzioni definiscono chiaramente l'identità e lo scopo di Zephyr come un "bizzarro mago del meteo";
2. **Caratteristiche ben definite**: elenca le caratteristiche chiave che definiscono la personalità e l'approccio di Zephyr;
3. **Responsabilità specifiche**: fornisce un elenco di compiti principali che Zephyr deve svolgere;
4. **Linee guida per l'interazione**: offre istruzioni specifiche su come Zephyr dovrebbe interagire con gli utenti;
5. **Esempio concreto**: fornisce un esempio di previsione per illustrare come Zephyr dovrebbe operare;
6. **Adattabilità**: incoraggia l'adattamento alle preferenze e alla posizione dell'utente;
7. **Struttura chiara**: il testo è organizzato in sezioni logiche e utilizza elenchi puntati per una facile lettura e comprensione;
8. **CAPS LOCK**: le parole e i concetti più importanti sono scritti in MAIUSCOLO per evidenziarne l'importanza.

### Esempio avanzato: la tua guida che viaggia nel tempo

```
You are Chronos, the Time-Traveling Tour Guide, an AI assistant 
specializing in creating immersive historical experiences 
through virtual time travel narratives.

<key characteristics>
1. HISTORICALLY ACCURATE: You blend verified historical facts 
with vivid storytelling.
2. ENGAGING NARRATOR: You transport users to different eras with 
captivating descriptions.
3. ADAPTIVE: You tailor experiences to users' interests and 
chosen time periods.
4. EDUCATIONAL: You subtly incorporate historical lessons and 
cultural insights.
5. ETHICAL: You present history objectively, addressing sensitive 
topics with care.
</key characteristics>

<responsibilities>
- Generate UNIQUE AND IMMERSIVE historical narratives for any time period.
- Explain historical events, customs, and daily life with accuracy and flair.
- Answer history-related queries with depth and context.
- Create "what-if" scenarios that explore alternative historical outcomes.
</responsibilities>

<interaction guidelines>
1. ALWAYS ask for the user's preferred time period and location 
before starting a narrative.
2. Incorporate period-specific language and cultural references 
in your descriptions.
3. Use a mix of broad historical overviews and intimate, personal stories.
4. Provide an "IMMERSION LEVEL" for each experience, from 1 (mostly factual) 
to 10 (deeply immersive).
5. Offer modern-day comparisons to help users relate to historical concepts.
</interaction guidelines>

<sample narrative>
"Welcome to London, 1666 (Immersion Level: 8). You find yourself on a narrow, 
cobblestone street, the air thick with the smell of freshly baked bread and 
less pleasant odors. It's September 1st, and unbeknownst to the city's 
inhabitants, a small fire is about to start in a bakery on Pudding Lane. 
This fire will soon engulf the city in what will be known as the 
Great Fire of London. As we explore, notice the timber-framed houses 
leaning so close together that they almost touch - a key factor 
in the fire's rapid spread. Let's visit the bakery and meet Thomas Farriner, 
the unwitting catalyst of this historic event."
</sample narrative>

<ethical guidelines>
- Present historical events objectively, avoiding modern biases.
- Handle sensitive topics (e.g., wars, slavery) with respect and care.
- Encourage critical thinking about historical narratives and interpretations.
- Clearly distinguish between historical facts and speculative or 
dramatized elements.
</ethical guidelines>

REMEMBER: Your goal is to make history come alive through 
immersive storytelling while maintaining historical accuracy. 
Balance vivid descriptions with factual information, and always 
prioritize user engagement and education. Adapt your language 
and tone to the chosen historical period while ensuring 
modern users can understand and relate to the content.
```

#### Perché queste istruzioni sono efficaci?

1. **Struttura chiara**: i tag XML organizzano il contenuto in sezioni logiche e facilmente identificabili, rendendo le istruzioni più leggibili e navigabili;
2. **Lingua inglese**: l'utilizzo della lingua inglese facilita l'IA generativa nel seguire le istruzioni;
3. **Identità definita**: le istruzioni stabiliscono chiaramente l'identità e lo scopo di Chronos;
4. **Caratteristiche ben delineate**: elenca le qualità fondamentali di Chronos, guidando il suo comportamento e stile di interazione;
5. **Responsabilità specifiche**: definisce chiaramente i compiti principali, focalizzando l'IA sugli obiettivi chiave;
6. **Linee guida per l'interazione**: fornisce istruzioni specifiche su come Chronos dovrebbe interagire con gli utenti, migliorando la coerenza e la qualità delle interazioni;
7. **Esempio concreto**: offre un modello pratico di come Chronos dovrebbe costruire le sue narrazioni, aiutando a calibrare il tono e lo stile;
8. **Considerazioni etiche**: la sezione assicura che Chronos affronti temi storici sensibili in modo responsabile e obiettivo;
9. **Uso efficace del CAPS LOCK**: enfatizza punti chiave e concetti importanti, facilitando la rapida identificazione di elementi cruciali;
10. **Promemoria finale**: il "REMEMBER" alla fine riassume l'essenza del ruolo di Chronos, rafforzando gli obiettivi principali.

### Riassunto

Qui un riassunto dei principi che abbiamo visto in questi esempi pratici:

1. **CHIAREZZA E STRUTTURA**
   * Organizza il contenuto in sezioni logiche;
   * Usa elenchi puntati per migliorare la leggibilità;
   * Impiega tag XML per una struttura chiara e navigabile.
2. **IDENTITÀ E SCOPO**
   * Definisci chiaramente l'identità e lo scopo dell'IA;
   * Elenca le caratteristiche chiave che definiscono la personalità.
3. **RESPONSABILITÀ E COMPITI**
   * Fornisci un elenco specifico di compiti principali;
   * Delinea chiaramente gli obiettivi dell'IA.
4. **LINEE GUIDA PER L'INTERAZIONE**
   * Offri istruzioni specifiche su come l'IA dovrebbe interagire con gli utenti;
   * Includi indicazioni per adattarsi alle preferenze dell'utente.
5. **ESEMPI CONCRETI**
   * Fornisci esempi pratici per illustrare il funzionamento desiderato;
   * Usa modelli per calibrare tono e stile.
6. **ENFASI VISIVA**
   * Utilizza il CAPS LOCK per evidenziare concetti chiave;
   * Facilita l'identificazione rapida di elementi cruciali.
7. **ADATTABILITÀ**
   * Incoraggia l'IA ad adattarsi al contesto e alle esigenze dell'utente;
   * Permetti flessibilità mantenendo l'identità di base.
8. **LINGUA E COMPRENSIBILITÀ**
   * Usa l'inglese per facilitare la comprensione dell'IA;
   * Mantieni un linguaggio chiaro e diretto.
9. **RIEPILOGO FINALE**
   * Concludi con un promemoria che riassume l'essenza del ruolo dell'IA;
   * Rinforza gli obiettivi principali e l'identità core.

Utilizzando questi principi puoi creare istruzioni efficaci per il tuo Agente AI in AIsuru, assicurando risposte accurate e pertinenti alle esigenze dei tuoi utenti.&#x20;

Ricorda che un prompt ben strutturato è la base per un'interazione di successo con l'IA. Non esitare a sperimentare e affinare il tuo prompt per ottenere i migliori risultati! 💡


# Provider e modelli di IA generativa

AIsuru supporta diversi provider di IA (OpenAI, Anthropic, Mistral) con modelli linguistici di varie dimensioni e capacità. Scegli quello più adatto alle tue esigenze di performance, budget e funzionalità. Questa guida ti aiuterà a navigare tra le scelte disponibili e a prendere una decisione informata.

#### Panoramica dei provider

AIsuru si integra con diversi provider di IA generativa:

* **OpenAI**: puoi utilizzare la tua chiave API per accedere ai modelli GPT (inclusi quelli fine tuned);
* **Anthropic**: puoi utilizzare la tua chiave API per accedere a tutti i modelli;
* **Mistral AI**: puoi utilizzare la tua chiave API per accedere a tutti i modelli;
* **Microsoft Azure**: puoi utilizzare la tua chiave API per accedere ai modelli GPT di OpenAI (inclusi quelli fine tuned);
* **Amazon Bedrock (AWS):** puoi utilizzare la tua chiave API per accedere ai modelli di Anthropic tramite Amazon Bedrock;
* **Google Vertex AI:** puoi utilizzare la tua chiave API per accedere ai modelli di Anthropic tramite Vertex AI;
* **Custom (Ollama, LM Studio, ...):** puoi connetterti a provider personalizzati o server locali compatibili con il protocollo OpenAI.

{% hint style="info" %}
<mark style="color:blue;">La scelta del provider dipende molto da quale modello vuoi utilizzare:</mark> <mark style="color:blue;"></mark><mark style="color:blue;">**alcuni modelli sono disponibili solo con alcuni provider**</mark><mark style="color:blue;">.</mark>
{% endhint %}

### Panoramica dei modelli

Attualmente, tutti gli utenti di AIsuru possono utilizzare questi modelli:

<table><thead><tr><th>Provider</th><th>Modello</th><th>Grandezza</th><th width="178">Context window (token)</th></tr></thead><tbody><tr><td>Vertex Anthropic</td><td>claude-3-7-sonnet-20250219</td><td>Grande</td><td>200.000</td></tr><tr><td>Vertex Anthropic</td><td>Claude 4.5 Sonnet</td><td>Grande</td><td>200.000 o 1mln</td></tr><tr><td>Vertex Anthropic</td><td>claude-sonnet-4-20250514</td><td>Grande</td><td>200.000 o 1mln</td></tr><tr><td>Vertex Anthropic</td><td>claude-haiku-4-5-20251001</td><td>Piccolo</td><td>200.000</td></tr><tr><td>Mistral</td><td>mistral-large-2407</td><td>Grande</td><td>128.000</td></tr><tr><td>OpenAI</td><td>gpt-4o</td><td>Grande</td><td>128.000</td></tr><tr><td>OpenAI</td><td>gpt-4o-mini</td><td>Piccolo</td><td>128.000</td></tr></tbody></table>

#### Modelli di Ragionamento

Alcuni modelli (come `claude-sonnet-4-20250514` e `gpt-5` reasoning) dispongono di capacità di reasoning avanzate. Questi modelli mostrano il loro **processo di ragionamento solo nella scheda "Conversazioni" di default**.

Questo comportamento predefinito è pensato per **proteggere informazioni sensibili**: il ragionamento può infatti esporre dati interni, logiche di elaborazione o contenuti che non dovrebbero essere visibili all'utente finale.

Puoi mostrare il ragionamento anche all'utente finale modificando il tuo [layout di condivisione](../condivisione/crea-e-gestisci-i-layout-di-condivisione.md).

#### Cosa è il contesto

**Il contesto rappresenta il numero massimo di token** che possiamo utilizzare in ogni richiesta (o domanda) fatta al modello linguistico. Per semplificare, possiamo dire che **1 token è uguale a 3,5 caratteri** dell'alfabeto italiano.

Se non stai facendo esperimenti con istruzioni particolarmente lunghe o con le funzioni, non preoccuparti di questo valore.

### Come scegliere il modello

La scelta del modello linguistico dipende da diversi fattori. In questa pagina troverai alcune indicazioni generiche, ma è necessario che sia tu a testare i diversi modelli con il tuo Agente: solo così potrai assicurarti che l'Agente si comporti correttamente in ogni attività.

Vediamo come selezionare il modello più adatto per ogni configurazione.

#### Configurazione per domande e risposte e gruppi di esperti

Per le interazioni con gli utenti, considera questi aspetti:

* **Complessità delle risposte richieste**:
  * Per risposte complesse e articolate: modelli grandi;
  * Per risposte semplici e dirette: modelli piccoli.
* **Budget**:
  * Budget limitato: preferisci modelli piccoli;
  * Budget flessibile: puoi optare per modelli grandi.
*   **Velocità di risposta necessaria**:

    * Risposte immediate: modelli piccoli;
    * Maggiore accuratezza: modelli grandi.

    **Capacità di ragionamento:**

    * Per task che richiedono ragionamento complesso: usa modelli con reasoning (`claude-sonnet-4-20250514` o `gpt-5` reasoning).

#### Configurazione per import/export

Per l'importazione di documenti, considera:

* **Complessità dei documenti**:
  * Documenti non strutturati: è necessario sfruttare i modelli più grandi;
  * Documenti ben strutturati: i modelli piccoli assicurano ottime performance.
* **Volume di documenti**: se devi importare un grande numero di documenti, potresti usare un modello piccolo per abbassare i costi.

#### Configurazione per Pensiero Profondo

Per la gestione della memoria delle conversazioni, consigliamo sempre e solo l'utilizzo di un modello grande.


# IA generativa: sezione avanzata

Le funzionalità avanzate di AIsuru permettono di ottimizzare e personalizzare ulteriormente le prestazioni del tuo assistente IA, consentendoti di sfruttare appieno il potenziale dell'intelligenza artificiale generativa.

In questa sezione, vedrai:

* [**Altre impostazioni IA**](altre-impostazioni-dellia-generativa.md) per affinare il comportamento del tuo Agente;
* [**Come creare e gestire i modelli**](crea-e-gestisci-le-configurazioni-dei-modelli.md) disponibili per i tuoi Agenti (o per la [piattaforma](../../paas/)).

Che tu stia cercando di ottimizzare le prestazioni, personalizzare l'output o adattare l'IA a esigenze specifiche del tuo settore, le funzionalità avanzate di AIsuru ti offrono gli strumenti necessari per portare il tuo assistente virtuale al livello successivo.&#x20;

Continua a leggere per scoprire come sbloccare tutto il potenziale della tua intelligenza artificiale e creare esperienze uniche per i tuoi utenti! 🔧🧠


# Altre impostazioni dell'IA generativa

Questa sezione ti guiderà attraverso le impostazioni avanzate che ti permetteranno di personalizzare il comportamento del tuo Agente, ottimizzando le sue risposte per le tue specifiche esigenze.

### Impostazioni IA

Accedi alle  <img src="../../.gitbook/assets/settings.svg" alt="" data-size="line">  Impostazioni del tuo Agente e clicca su <img src="../../.gitbook/assets/optimized-svg.svg" alt="" data-size="line"> IA per accedere all'apposita sezione. Da qui, puoi:

1. [**Attivare o disattivare l'IA generativa**](../attiva-lia-generativa-e-cambia-il-modello.md#come-attivare-lai-generativa-per-il-tuo-twin);
2. Attivare o disattivare [**Pensiero Profondo**](../../estensioni/pensiero-profondo/);
3. Modificare le [**istruzioni**](../prompt-engineering/);
4. [**Cambiare i modelli IA**](../attiva-lia-generativa-e-cambia-il-modello.md#come-cambiare-il-modello-del-tuo-twin) usati dal tuo Agente.

Oltre a ciò, al di sotto del campo delle istruzioni, puoi trovare due opzioni:

* [Risponde sempre con IA generativa](altre-impostazioni-dellia-generativa.md#risponde-sempre-con-ia-generativa);
* [Estrazione automatica dei media](altre-impostazioni-dellia-generativa.md#estrazione-automatica-dei-media).

All'interno della sezione "Impostazioni del provider" troverai anche:

* [Numero massimo di token](altre-impostazioni-dellia-generativa.md#numero-massimo-di-token);
* [Temperatura](altre-impostazioni-dellia-generativa.md#temperatura).

Vediamole nel dettaglio 👇

#### Risponde sempre con IA generativa

Questa impostazione, se attiva, permette di **rispondere sempre e solo con l'IA generativa**: il tuo Agente non fornirà più le risposte in autonomia, ma le farà formulare al modello scelto (voce "Configurazione per domande e risposte").

**L'Agente condividerà i contenuti più rilevanti con il modello linguistico scelto** e il modello linguistico si occuperà di generare la risposta da dare all'utente. Questo ti permette di mantenere le risposte rilevanti e accurate senza, però, rinunciare alla personalizzazione!

{% hint style="info" %}
<mark style="color:blue;">**L'IA generativa potrebbe fornire risposte errate**</mark><mark style="color:blue;">. Assicurati di testare ogni scenario di utilizzo del tuo Agente per assicurarti che continui a rispondere correttamente.</mark>
{% endhint %}

#### Disabilita l'estrazione automatica delle immagine dai contenuti

Come visto nella sezione dedicata ai [contenuti](../../istruzione-gestione-contenuti-agenti/contenuti/), puoi aggiungere media e link a specifiche domande e risposte.

Come impostazione predefinita, l'Agente IA è in grado di leggere i titoli delle immagini e dei link associati ai contenuti più rilevanti e potrà mostrarli all'utente anche in caso di risposte generate da IA.

In caso riscontrassi problemi, puoi aggiungere la spunta a questa opzione per disabilitare questo comportamento.

#### Numero massimo di token

Questo parametro controlla la **lunghezza massima di ogni risposta generata dall'IA**.

In piattaforma, puoi selezionare un numero da 256 a 4000 token massimi per ogni risposta generata da IA (il valore predefinito è 512). Se utilizzi un modello che supporta un numero superiore di output token, puoi modificare questo valore via API.

Per convertire approssimativamente i token in caratteri: **1 token ≈ 4 caratteri** per l'italiano.

{% hint style="info" %}
<mark style="color:blue;">**Non tutti i modelli supportano un numero elevato di output token**</mark><mark style="color:blue;">. Se utilizzi la tua chiave API, assicurati di controllare il numero massimo di output token.</mark>
{% endhint %}

#### Temperatura

La temperatura influenza la creatività delle risposte del tuo Agente. Si tratta di un numero che va da 0 (risposte più prevedibili e coerenti) a 1 (risposte meno prevedibili e più creative).

**Quando crei un Agente ti consigliamo di impostare la temperatura a 0**: otterrai più spesso risposte simili. Se, però, cerchi risposte più creative, puoi alzare gradualmente la temperatura.

### Ottimizzazione delle impostazioni

Trovare la configurazione perfetta per il tuo Agente potrebbe richiedere alcune prove. Non esitare a sperimentare con queste impostazioni per raggiungere il giusto equilibrio tra accuratezza, creatività e performance.

Ogni progetto ha esigenze uniche. Usa queste potenti opzioni per modellare il tuo Agente e renderlo perfetto per il tuo caso d'uso specifico!


# Crea e gestisci le configurazioni dei modelli

AIsuru ti permette di creare e gestire le configurazioni di accesso ai modelli di linguaggio (LLM) che i tuoi Agenti potranno utilizzare sulla piattaforma. Questa sezione ti guiderà attraverso il processo di creazione e gestione dei tuoi modelli personalizzati.

### Accesso alla sezione modelli

Per gestire i tuoi modelli linguistici:

1. Accedi alla piattaforma;
2. Seleziona <img src="../../.gitbook/assets/ai.svg" alt="" data-size="line"> **Modelli** dalla barra laterale;
3. Visualizzerai la lista dei modelli che hai configurato.

### Gestione delle configurazioni esistenti

Nella pagina principale, puoi:

* Filtrare le configurazioni per scopo (Q\&A, Import/Export, Pensiero Profondo);
* Visualizzare i dettagli di ogni configurazione;
* Modificare le configurazioni esistenti;
* Eliminare le configurazioni non più necessarie.

### Creazione di una nuova configurazione

Per configurare un nuovo modello:

1. Clicca sul pulsante **Nuova configurazione**;
2. Compila i campi richiesti:
   * **Nome**: assegna un nome identificativo (e univoco) alla configurazione; non utilizzare spazi;
   * **Descrizione**: fornisci una breve descrizione della configurazione;
   * **Provider**: seleziona il fornitore del modello (es. OpenAI, Anthropic);
   * **Endpoint**:
     * Per la maggior parte dei provider, puoi utilizzare il pulsante "DEFAULT" a destra del campo di testo;
     * Per Azure, inserisci il tuo endpoint personalizzato.
   * **API Key**: inserisci la tua chiave API;
   * **Modello**: specifica il nome del modello da utilizzare.
3. Seleziona gli scopi per cui vuoi abilitare il modello:
   * Q\&A: per le conversazioni con gli utenti;
   * Import/Export: per le operazioni sui contenuti;
   * Pensiero profondo e Gruppo di Esperti: per la memoria delle interazioni passate e la coordinazione tra esperti.
4. Clicca su "**Conferma**" in basso a destra per salvare la configurazione.

#### Duplicare un modello esistente

Puoi **duplicare** un modello esistente per crearne rapidamente uno nuovo basato sulla stessa configurazione.

**Per duplicare un modello**:

1. Vai nella scheda **Modelli** delle impostazioni del tuo Agente;
2. Individua il modello che vuoi duplicare nella lista;
3. Clicca sull'icona **Duplica** (quella centrale tra "Modifica" ed "Elimina");
4. Si aprirà un form precompilato con tutti i campi del modello originale.

**Nel form di duplicazione potrai**:

* Modificare il **nome** della configurazione (per default avrà il suffisso `_copy`);
* Modificare qualsiasi campo prima di salvare;
* Clicca su **Conferma** per creare il nuovo modello duplicato.

> **💡 Suggerimento**: \
> La duplicazione è utile quando vuoi creare varianti dello stesso modello con piccole modifiche (es. stesso provider ma location diversa, o stesse credenziali ma funzionalità diverse).

### Impostazioni di visibilità (solo per Admin)

Se hai i permessi di amministratore, nella creazione o modifica di una configurazione troverai anche la sezione **"Impostazioni di visibilità"** con le seguenti opzioni:

* **Visibile agli utenti del tenant**: rendi questa configurazione visibile ed utilizzabile dagli utenti del tenant;
* **Usa come predefinito**: rendi questa configurazione il default per i nuovi Agenti AI creati, ma solo per le categorie che hai selezionato. Esempio:
  * Se hai abilitato solo Q\&A, questo modello sarà il predefinito per le conversazioni con gli utenti;
  * Se hai abilitato tutte e tre le categorie (Q\&A, Import/Export, Pensiero profondo e Gruppo di Esperti), questo modello sarà il predefinito per tutte e tre.

Anche se imposti un modello come predefinito, il creatore dell'Agente potrà comunque selezionare un modello differente tra quelli disponibili sul tenant durante la creazione e la configurazione.

{% hint style="info" %}
Se hai un [tenant AIsuru separato](../../paas/), tieni a mente che **un modello non visibile ad altri utenti è comunque sempre visibile ed utilizzabile dagli admin del tenant**.
{% endhint %}

### Applicazione massiva della configurazione

Se hai i permessi di amministratore e desideri applicare la stessa configurazione di modello a tutti gli Agenti del tenant, puoi utilizzare la funzionalità **"Applica a tutti"**:

1. **Prerequisiti necessari**:
   * Il flag "**Usa come predefinito**" deve essere abilitato
   * Il flag "**Visibile agli utenti del tenant**" deve essere abilitato
2. **Come utilizzare la funzione**:
   * Dopo aver configurato tutti i parametri del modello
   * Clicca sul pulsante **"Applica a tutti"**
   * La configurazione verrà automaticamente applicata a tutti gli Agenti esistenti nel tenant

{% hint style="danger" %}
Questa operazione **sovrascriverà le configurazioni di modello esistenti per tutti gli Agenti del tenant**. Assicurati che la configurazione sia corretta prima di procedere. Utilizza questa funzionalità quando vuoi standardizzare l'utilizzo di un modello specifico su tutti gli Agenti della piattaforma.
{% endhint %}

### Suggerimenti

* Usa nomi e descrizioni chiari per facilitare la gestione;
* Verifica tutti i dati prima di salvare la configurazione;
* Abilita solo gli scopi necessari per ogni modello;
* Rivedi periodicamente le configurazioni per mantenerle aggiornate.

La gestione accurata delle configurazioni ti permette di ottimizzare le prestazioni del tuo Agente, garantendo risposte più precise e pertinenti in base alle tue esigenze specifiche.


# Provider e modelli: come ottenere le chiavi API dai provider

Se hai bisogno di utilizzare provider esterni per i tuoi Agenti AIsuru, questa sezione ti guiderà attraverso il processo di registrazione e configurazione degli account su ciascuna piattaforma. Una corretta gestione dei provider e dei modelli ti permetterà di **mantenere i costi e la disponibilità dei tuoi Agenti** [**AIsuru**](https://www.aisuru.com/) **sempre sotto controllo**!

Qui trovi le guide specifiche per:

* [OpenAI Platform](api-openai-guida-alla-creazione-e-gestione-dellaccount.md);
* [Anthropic Claude Console](claude-console-come-gestire-le-chiavi-api-di-anthropic.md);
* [Mistral AI Studio](mistral-api-come-gestire-i-modelli-ai-studio.md);
* [Azure OpenAI](azure-ai-foundry-come-usare-i-modelli-openai-e-gestire-accessi-e-costi.md) (per i modelli OpenAI).

Ogni guida ti accompagnerà passo passo attraverso i passaggi fondamentali: dalla registrazione dell'account all'inserimento dei dati di fatturazione, dall'aggiunta di metodi di pagamento alla creazione delle chiavi API necessarie per l'integrazione con AIsuru. Troverai anche informazioni su come impostare limiti di spesa, gestire i membri del team e ottimizzare l'utilizzo dei servizi.

Una volta ottenuta la chiave API dal provider scelto, potrai utilizzarla per [creare un nuovo modello](../crea-e-gestisci-le-configurazioni-dei-modelli.md) in piattaforma e iniziare subito a sfruttare le potenzialità dei diversi provider per i tuoi Agenti! 🚀


# API OpenAI: guida alla creazione e gestione dell'account

Questa guida illustra il processo completo per creare un account OpenAI, impostare i metodi di pagamento, gestire i limiti di spesa e creare le chiavi API per l'integrazione con [AIsuru](https://www.aisuru.com/).

## 1. Registrazione sulla piattaforma di OpenAI

Per iniziare, dovrai creare un account sulla piattaforma OpenAI:

1. Visita [platform.openai.com](https://platform.openai.com/);
2. Fai clic su "Sign up" per creare un nuovo account (se già hai un account ChatGPT è comunque necessario registrarsi);
3. Inserisci il tuo indirizzo email e crea una password;
4. Verifica il tuo indirizzo email cliccando sul link che riceverai;
5. Completa le informazioni richieste per il tuo profilo.

## 2. OpenAI: configurazione della fatturazione

Dopo aver creato l'account, è necessario impostare correttamente i dati di fatturazione per l'utilizzo aziendale:

1. Accedi al tuo account OpenAI;
2. Vai alla [sezione di fatturazione](http://platform.openai.com/settings/organization/billing/preferences);
3. Compila tutti i campi richiesti con i dati tuoi o della tua azienda:
4. Company Name (Nome completo dell'azienda);
5. Billing email (riceverà le fatture);
6. Indirizzo completo;
7. Business tax ID (P. IVA, selezionare IT VAT e scrivere il codice di partita IVA con il prefisso IT incluso).
8. Fai clic su "Save" per confermare le informazioni.

## 3. Come aggiungere un metodo di pagamento per OpenAI

Per utilizzare i servizi OpenAI, è necessario aggiungere un metodo di pagamento:

1. Dalla dashboard, vai alla sezione [Billing](https://platform.openai.com/settings/organization/billing/overview);
2. Fai clic su "Add payment details";
3. Inserisci i dettagli della carta (di credito o di debito) e continua.

Nota: Attualmente sono accettate solo carte di credito o debito. Assicurati che la carta sia abilitata per pagamenti internazionali in USD (la valuta usata da OpenAI) e autorizzata per acquisti online.

## 4. Acquistare crediti su OpenAI

Per iniziare a utilizzare i servizi OpenAI, è necessario acquistare crediti prepagati:

1. Accedi al tuo account OpenAI e vai alla [sezione Billing](https://platform.openai.com/settings/organization/billing/overview);
2. Fai clic su "Add to credit balance" o "Buy credits";
3. Inserisci l'importo desiderato (almeno 5 USD) e conferma;
4. Segui le istruzioni per completare il pagamento con il metodo precedentemente aggiunto.

Nota: I crediti acquistati hanno una validità di un anno e sono non rimborsabili.

### Ricarica automatica

Inoltre, per evitare interruzioni del servizio, puoi impostare la funzione di **ricarica automatica**:

1. Nella sezione "Billing", attiva l'opzione "Auto-recharge";
2. Definisci l'importo da ricaricare automaticamente e la soglia al di sotto della quale la ricarica verrà effettuata.

Questo assicurerà che il tuo account disponga sempre di crediti sufficienti per l'utilizzo continuo dei servizi OpenAI.

## 5. OpenAI: come impostare i limiti di spesa

Per controllare i costi e prevenire addebiti imprevisti, è consigliabile impostare dei limiti di spesa:

1. Vai alla [sezione Limits](http://platform.openai.com/settings/organization/limits) della tua organizzazione;
2. Nella sezione "Usage limits":
3. Imposta un Budget Alert alla voce “Set a Budget Alert” -> l’admin riceverà un avviso al raggiungimento di quella soglia di spesa;
4. Imposta un limite di budget per impostare un tetto di spesa delle API (puoi impostare 2x volte il tuo consumo medio mensile).
5. Premi su Salva.

L'attivazione del limite di budget impedirà automaticamente ulteriori addebiti una volta raggiunta la soglia configurata. Il limite può essere cambiato in qualsiasi momento ed è anche possibile impostare limiti per singoli progetti.

## 6. Creazione di una chiave API OpenAI

Per utilizzare i servizi OpenAI con [AIsuru](https://www.aisuru.com/), è necessario creare una chiave API:

1. Vai alla sezione [API Keys della tua organizzazione](https://platform.openai.com/settings/organization/api-keys);
2. Fai clic su "Create new key" ->
   1. Owned by You;
   2. Assegna un nome descrittivo alla chiave (es. "AIsuru");
   3. Assegnala ad un “progetto” (project);
   4. Permissions -> All.
3. Fai clic su "Create secret key" e **copia immediatamente la chiave API visualizzata** e conservala in un luogo sicuro. Non sarà più possibile visualizzarla successivamente.

Nota: quando si genera la prima chiave API in assoluto sul proprio account, OpenAI richiede una verifica via numero di telefono.

## 7. Gestire i progetti OpenAI

OpenAI permette di organizzare il lavoro in progetti separati, ciascuno con le proprie chiavi API:

1. Dalla dashboard, vai alla sezione "Projects";
2. Fai clic su "New project";
3. Assegna un nome al progetto:
4. Una volta creato il progetto, puoi generare chiavi API specifiche per quel progetto seguendo gli stessi passaggi del punto 6.

Creare progetti separati è utile per:

* Tenere traccia dell'utilizzo per diverse iniziative o dipartimenti;
* Impostare limiti di spesa (o rate limit) specifici per progetto;
* Revocare l'accesso a specifici progetti / clienti senza influire sugli altri.

## 8. Gestione dei membri dell'organizzazione su OpenAI

Per collaborare con altri membri del tuo team all'interno della tua organizzazione OpenAI:

* Accedi alla sezione Membri:
* Dalla dashboard, vai su Settings > Members.​
  * Aggiungi un nuovo membro:
  * Clicca su Invite members;
  * Inserisci l'indirizzo email del membro che desideri invitare;
  * Assegna un ruolo:​
    * Owner: può gestire l'organizzazione, i membri, la fatturazione e i limiti di utilizzo.
    * Reader: può utilizzare l'API sotto il nome dell'organizzazione ma non può gestire le impostazioni. Un Reader può invitare altri utenti come Reader nell'organizzazione
* Clicca su Send invite per inviare l'invito.​

## 9. Limiti di utilizzo (rate limits) e tier con OpenAI

OpenAI impone limiti di utilizzo per garantire un uso equo delle risorse:

* **Limiti per tier**: ogni tier ha specifici limiti di richieste e token per minuto. Puoi visualizzare i dettagli dei limiti per ciascun tier nella [documentazione di OpenAI](https://platform.openai.com/docs/guides/rate-limits/usage-tiers#usage-tiers).​
* **Upgrade del tier**: qualora si necessiti di limiti ulteriormente più alti oltre il massimo ottenibile automaticamente – ad esempio per casi d’uso aziendali molto grandi – allora è necessario inoltrare una richiesta di aumento tramite la pagina Usage Limits (cliccando su “Need help?” e compilando il form). Il team OpenAI valuterà la richiesta e potrà eventualmente approvare un tier più elevato.

## Prossimi passi

Dopo aver completato la configurazione del tuo account OpenAI:

1. Copia la chiave API creata;
2. Accedi alla tua dashboard [AIsuru](https://www.aisuru.com/);
3. Utilizza la chiave API per [creare un nuovo modello in piattaforma](../crea-e-gestisci-le-configurazioni-dei-modelli.md)..


# Claude Console: come gestire le chiavi API di Anthropic

Questa guida illustra il processo completo per creare un account Anthropic, impostare i metodi di pagamento, gestire i limiti di spesa e creare le chiavi API per l'integrazione con [AIsuru](https://www.aisuru.com/).

## 1. Registrazione di un account Anthropic

Per iniziare a usare la console Claude è necessario creare un account sviluppatore:

1. **Accedi alla pagina di registrazione**: visita la [Console di Claude](https://console.anthropic.com/) e seleziona l'opzione per registrarti. Puoi utilizzare un account Google (Continue with Google) oppure un indirizzo email (Continue with email).
2. **Verifica l'email**: se ti registri con l'email, Anthropic utilizza un sistema di "magic link". Inserisci il tuo indirizzo email e controlla la posta in arrivo: riceverai un messaggio con un link per confermare l'account. Clicca sul link "Sign in to Claude Console" per procedere (non è richiesta la creazione di una password).
3. **Completa l'onboarding**: dopo aver cliccato il link, verrai reindirizzato a una pagina di onboarding della console di Claude (Anthropic). Ti verrà chiesto di inserire il tuo nome completo e di confermare di avere almeno 18 anni, accettando i termini e le condizioni. Clicca Continue per avanzare.
4. **Crea un'organizzazione**: successivamente, specifica un nome per la tua organizzazione. Può essere il nome della tua azienda oppure un nome descrittivo (anche il tuo nome, se stai testando la piattaforma). Conferma cliccando su Create Account.

Al termine della registrazione, verrai accolto dalla Console di Claude. Prima di iniziare a utilizzare l'API è importante configurare la sezione di fatturazione della console.

## 2. Claude API Console: inserire i dati di fatturazione

Per assicurare una corretta fatturazione dovrai inserire i dati della tua azienda, inclusa la Partita IVA:

1. Apri i dettagli dell'organizzazione: nella console, clicca su "Settings" (Impostazioni) nella colonna laterale. Si aprirà la sezione delle impostazioni. Dal menu laterale sinistro, seleziona "[Organization](https://console.anthropic.com/settings/organization)" (Organizzazione).
2. Compila le informazioni aziendali: nella pagina dell'organizzazione, inserisci tutti i dati richiesti della tua azienda. In particolare:
   1. Nome dell'organizzazione: dovrebbe essere già presente quello inserito in fase di registrazione, ma assicurati che corrisponda al nome legale della tua azienda.
   2. Indirizzo aziendale completo: inserisci l'indirizzo di fatturazione dell'azienda (via, città, CAP, paese).
   3. Partita IVA: se la tua azienda ha sede in un paese in cui è prevista l'imposta (es. in UE), comparirà un campo opzionale per il Tax or VAT ID. Inserisci qui la Partita IVA aziendale (comprensiva del prefisso nazionale, es. IT12345678901).
3. Salva le modifiche: dopo aver riempito i campi, verifica che siano corretti e clicca sul pulsante per salvare i dettagli dell'organizzazione.

## 3. Aggiungere un metodo di pagamento per le API di Anthropic Claude

Una volta impostati i dati aziendali, dovrai aggiungere un metodo di pagamento per poter effettuare acquisti di crediti:

1. Vai alla sezione Billing: dalle impostazioni, seleziona la voce [Plans & Billing](https://console.anthropic.com/settings/billing) (Piani e fatturazione) nel menu per gestire pagamenti, crediti e fatture. &#x20;
2. Avvia la procedura di aggiunta carta: nella pagina di Billing, individua l'opzione per aggiungere un metodo di pagamento. Se è la prima configurazione, potresti vedere un pulsante Complete Setup oppure Add Payment Method / Add funds. Cliccalo per iniziare.
3. Inserisci i dati della carta: si aprirà un modulo Stripe dove dovrai inserire i dettagli della tua carta:
   1. Numero della carta di credito o di debito;
   2. Data di scadenza;
   3. Codice CVV/CVC.

Attualmente, non esiste un’opzione per rimuovere una carta salvata direttamente dalla console (è possibile solo sostituirla aggiungendone un’altra).

Anthropic invia la ricevuta di ogni acquisto all’email di fatturazione registrata e rende disponibili le invoice nella sezione Billing > Invoice History.

Nota: Attualmente sono accettate solo carte di credito/debito. Assicurati che la carta sia abilitata per pagamenti internazionali in USD (la valuta usata da Anthropic) e autorizzata per acquisti online. L’utente deve avere permessi Admin o Billing per configurare il pagamento (la guida assume che l’account creatore sia Admin, il che è vero di default).

## 4. Claude Console: primo acquisto di crediti

Anthropic utilizza un sistema di crediti prepagati per l'utilizzo dell'API. Ciò significa che prima di poter utilizzare l'API in modo esteso, devi acquistare crediti da caricare sul tuo account:

1. Accedi alla pagina di Billing: vai di nuovo nella sezione [Plans & Billing](https://console.anthropic.com/settings/billing) della console Anthropic. Nella parte dedicata al Credit balance vedrai il saldo attuale di crediti della tua organizzazione.
2. Aggiungere crediti: clicca sul pulsante "Add funds" (Aggiungi fondi) o "Purchase Credits". Ti verrà richiesto di inserire l'importo in dollari (USD) dei crediti che desideri acquistare. L'importo minimo di ricarica iniziale è pari a 5 USD.
3. Inserisci i dettagli aggiuntivi se richiesti: se è la prima volta che aggiungi fondi, potrebbe comparire una finestra di completamento configurazione. Anthropic potrebbe chiederti ulteriori informazioni prima di consentire l'acquisto di crediti, ad esempio:
   1. Confermare il tipo di utilizzo previsto dell'API;
   2. I paesi in cui prevedi di utilizzare Claude;
   3. Se il tuo uso dell'API coinvolgerà determinati settori regolamentati.
4. Conferma il pagamento dei crediti: verrà quindi richiesta conferma del metodo di pagamento per addebitare l'importo dei crediti. Se è tutto corretto, procedi pure.
5. Verifica il saldo crediti: una volta completata la transazione, la console aggiornerà immediatamente il tuo saldo nella sezione "Credit balance" su [Plans & Billing](https://console.anthropic.com/settings/billing).

### Autoricarica

Nella pagina di Billing è disponibile un'impostazione per l'autoricarica (auto-reload) dei crediti. Puoi attivarla se desideri che i crediti si ricarichino automaticamente quando il saldo scende sotto una soglia che decidi tu.

Per configurare l'auto-reload, clicca su Edit settings nella sezione Billing e definisci:

* Soglia minima di saldo (minimum balance) sotto cui scatta la ricarica automatica.
* Importo di ricarica che verrà acquistato quando si raggiunge quella soglia.

Puoi anche disabilitare l'auto-reload in qualsiasi momento se preferisci gestire manualmente le ricariche per un miglior controllo di spesa. I crediti acquistati hanno solitamente una validità di un anno.

## 5. Come controllare e limitare spesa ed utilizzo delle API di Claude

Per un uso aziendale responsabile, è importante tenere sotto controllo sia la spesa che l'utilizzo dell'API.

### **Monitoraggio dell'utilizzo e dei costi**

La console di Claude fornisce report dettagliati sull'uso dell'API:

* Navigando in Settings > [Usage](https://console.anthropic.com/settings/usage) puoi vedere il consumo di token con la possibilità di filtrare per Workspace, modello AI, chiave API o intervallo temporale;
* Nella pagina Settings > [Cost](https://console.anthropic.com/settings/cost) trovi un report dei costi con gli stessi filtri.

### **Limitare il budget con i crediti**

Il modello prepagato di Anthropic fa sì che tu non possa spendere più di quanto hai caricato in crediti. Se desideri avere un limite di spesa rigido, puoi lasciare disabilitata la ricarica automatica: in questo modo la spesa massima sarà limitata all'importo di crediti che hai acquistato.

Ad ogni modo, a livello di account, è possibile limitare la spesa mensile per le API di Claude: basta andare nella sezione [Limits](https://console.anthropic.com/settings/limits) della console e impostare il limite mensile. Se ne hai già impostato uno, basterà premere sul tasto "Change Limit":

1. Nel popup che si apre, inserisci il valore del limite mensile in dollari americani;
2. Clicca su "Update Limit" per aggiornare il limite o su "Remove Limit" per rimuoverlo completamente.

## 6. Creazione di una chiave API

Per utilizzare i servizi Anthropic con AIsuru, è necessario creare una chiave API:

1. Dalla console Anthropic, vai su Settings > API Keys dal menu laterale;
2. Crea una nuova chiave: nella pagina delle [chiavi API](https://console.anthropic.com/settings/keys), clicca il pulsante Create Key;
3. Assegna Workspace e nome alla chiave: ti verrà chiesto di selezionare:
   1. Workspace: se non hai creato workspace aggiuntivi, lascia selezionato Default;
   2. Nome della chiave: inserisci un nome descrittivo per la chiave API (es. "AIsuru - \[nome Agente]" o "AIsuru - Produzione");
4. Conferma la creazione e copia la chiave: clicca su Create. La console genererà la chiave API. Questa sarà mostrata solo una volta al momento della creazione: copiala immediatamente e salvala in un luogo sicuro.

## 7. Claude workspaces: cosa sono e come si creano

La console di Anthropic Claude supporta la suddivisione in workspace (spazi di lavoro) per organizzare meglio i progetti e i team all'interno di un'organizzazione:

Al momento della creazione dell'account viene generato un workspace "Default" associato all'organizzazione. Se la tua azienda ha un solo progetto o se stai solo testando l'API, potresti usare semplicemente il workspace predefinito.

### Creare un nuovo workspace Anthropic

Solo gli admin dell'organizzazione possono creare nuovi workspace:

1. Vai in Settings e clicca su "[Workspaces](https://console.anthropic.com/settings/workspaces)" nel menu laterale;
2. Nella pagina degli workspace, clicca sul pulsante "Add Workspace" in alto a destra;
3. Inserisci un nome per il nuovo workspace, ad esempio "Progetto Alpha" o "Team DataScience"; puoi anche selezionare un colore distintivo;
4. Clicca su Create. Il nuovo workspace apparirà nell'elenco.

### Gestire i workspace Claude

* Puoi modificare il nome o il colore di un workspace esistente cliccando sull'icona con i tre puntini "…" accanto al workspace.
* Quando crei una chiave API, devi associarla a un workspace. Le chiavi API sono visibili e gestibili solo dagli utenti con ruolo Developer (o Admin) che hanno accesso a quel workspace.
* Grazie ai workspace, nella sezione Usage/Cost puoi filtrare l'uso e la spesa per singolo workspace.

I Workspaces ti permettono di strutturare l'utilizzo della console Anthropic in modo flessibile: puoi separarli per progetti, team o ambienti, garantendo ordine e controllo.

## Gestire i membri nella Claude Console

Per collaborare con il tuo team all'interno della console Claude accedi alla sezione [Members](https://console.anthropic.com/settings/members) (clicca su Settings > Members): da qui sei in grado di vedere tutti i membri invitati all'interno del team.

Se vuoi invitare nuovi membri

1. Clicca sul tasto "Invite";
2. Inserisci l'indirizzo email del membro del team; puoi inserire un indirizzo email per riga per invitare&#x20;
3. Assegna un ruolo:​
   1. User: accesso base all'organizzazione.
   2. Developer: può gestire chiavi API e integrazioni.
   3. Billing: accesso alle informazioni di fatturazione.
   4. Admin: pieno controllo sull'organizzazione e i membri (developer + billing).
4. Clicca su “Send Invites” per inviare l'invito. o gli inviti.

Quando si invita un membro, dopo avergli assegnato un ruolo organizzativo è possibile doverlo aggiungere ai singoli workspace (ad eccezione del default, a cui tutti i membri hanno accesso): developer e user devono essere assegnati come membri di specifici workspace per poter operare su di essi - admin e billing hanno invece accesso a tutti gli spazi di lavoro.

## 9. Rate limits e tier Anthropic Claude API

Ogni organizzazione API della Claude Console ha dei limiti di utilizzo tecnici predefiniti al fine di garantire un uso equo delle risorse:

* Limiti per tier: ogni tier ha specifici limiti di richieste e token per minuto. Puoi visualizzare i limiti attuali del tuo tier nella sezione Settings > [Limits](https://console.anthropic.com/settings/limits) della Claude console.
* Upgrade del tier: puoi visualizzare i dettagli dei requisiti per ciascun tier nella [documentazione di Anthropic](https://docs.anthropic.com/en/api/rate-limits#requirements-to-advance-tier).​ Qualora si necessiti di limiti ulteriormente più alti oltre il massimo ottenibile automaticamente – ad esempio per casi d’uso aziendali molto grandi – allora è necessario inoltrare una richiesta di aumento tramite la pagina Limits. Il team Anthropic valuterà la richiesta e potrà eventualmente approvare un tier più elevato.

### Prossimi passi

Dopo aver completato la configurazione della tua console Anthropic:

1. Copia la chiave API creata;
2. Accedi alla tua dashboard [AIsuru](https://www.aisuru.com/);
3. Utilizza la chiave API per [creare un nuovo modello in piattaforma](../crea-e-gestisci-le-configurazioni-dei-modelli.md).


# Mistral API: come gestire i modelli AI Studio

Questa guida illustra il processo completo per creare un account Mistral, configurare la fatturazione (dati aziendali e metodo di pagamento), gestire i limiti di spesa e creare le chiavi API per l'integrazione con [AIsuru](https://www.aisuru.com/).

## **1. Registrazione su Mistral**

Per iniziare a usare Mistral AI Studio, è necessario creare un account sulla piattaforma:

1. Visita la [console Mistral AI Studio](https://console.mistral.ai/) e registrati;
2. Se ti registri con un indirizzo email, potrebbe essere richiesta una verifica; controlla la tua posta in arrivo e clicca sul link di conferma che Mistral ti invia per attivare l'account (un codice OTP o un link per effettuare direttamente il sign in);
3. Dopo la verifica, ti potrebbe essere richiesto di inserire alcune informazioni aggiuntive, ad esempio il tuo **nome completo** e l'accettazione dei termini di servizio;
4. Mistral ti chiederà di **creare un’organizzazione** (o di unirti a una esistente, se il tuo dominio email corrisponde a un’azienda già presente) e un **workspace** iniziale: assegna un **nome alla tua organizzazione** - ad esempio il nome della tua azienda o un nome progetto identificativo. Dopodiché verrà creato automaticamente un workspace predefinito con lo stesso nome (che potrai modificare in seguito se necessario).

Al termine della registrazione verrai indirizzato alla **dashboard di Mistral AI Studio**. Prima di utilizzare l’API, dovremo configurare la sezione di **fatturazione** del tuo account.

## **2. Inserimento dei dati di fatturazione aziendali**

Per una corretta fatturazione è importante inserire i dati della tua azienda, inclusa la Partita IVA:

1. Nella console Mistral AI Studio, accedi alle **impostazioni** della tua organizzazione;
2. Clicca sul tuo nome o sull’icona **profilo** (in alto a destra) e seleziona **Admin Settings** dal menu: verrai reindirizzato all’**Admin Console** di Mistral (sezione amministrativa);
3. Assicurati di aver selezionato la tua organizzazione (in alto a sinistra) e poi vai alla pagina **Organization Settings;**
4. Nella pagina di impostazioni dell'organizzazione, inserisci i dati della tua azienda. In particolare:
   * **Nome dell'organizzazione**: il nome legale della tua azienda (di solito è precompilato con il nome inserito in fase di registrazione, modificalo se necessario);
   * **Indirizzo completo**: inserisci l’indirizzo di fatturazione della sede aziendale (via, città, CAP, paese);
   * **Partita IVA**: se la tua azienda ha una VAT, dovresti trovare un campo per il **Tax/VAT ID**; inserisci la Partita IVA aziendale **comprensiva del prefisso nazionale** (esempio: IT12345678901 per un'azienda italiana);
5. Verifica che siano corretti e salva le modifiche.

_Nota: queste informazioni verranno utilizzate per emettere fatture fiscali corrette per i consumi del tuo account Mistral._

## **3. Aggiunta di un metodo di pagamento**

Una volta configurati i dati aziendali, dovrai aggiungere un **metodo di pagamento** valido per poter utilizzare i servizi Mistral:

1. Apri l’**Admin Console** di Mistral e, nel menu amministrativo, seleziona **Billing**.
2. **Aggiungi una carta di pagamento:** se è la prima configurazione, vedrai un pulsante **Add payment method** oppure **Complete setup**; cliccalo per iniziare la procedura di aggiunta di un metodo di pagamento;
3. Si aprirà un modulo sicuro in cui inserire i dati della tua carta aziendale:
   * Numero della carta di credito o debito;
   * Data di scadenza (formato MM/AA);
   * Codice CVV/CVC (le 3 o 4 cifre di sicurezza);
4. Completa la procedura confermando i dati inseriti: una volta aggiunta, la carta verrà collegata al tuo account Mistral per i futuri addebiti.

Nota: attualmente sono accettate **solo carte di credito o debito**. Non verranno addebitati costi fissi immediati - pagherai solo per l'utilizzo effettivo dei servizi.

### Come attivare l'autoricarica per le API di Mistral

Per impostare l'autoricarica:

1. Accedi all'[admin console di Mistral](https://admin.mistral.ai/) e premi su [Billing](https://admin.mistral.ai/organization/billing) nella colonna laterale;
2. Alla voce "Auto Recharge" premi sul tasto Update;
3. Abilita la checkbox "Enable auto recharge, automatically recharging my account whenever my balance falls below a defined threshold";
4. Inserisci i valori richiesti:
   1. Top up my wallet with: ricarica il conto di una certa cifra (in Euro);
   2. When my balance goes below: effettua la ricarica quando il saldo scende sotto una certa cifra (sempre in Euro);
5. Clicca sul pulsante "Enable auto recharge".

## **4. Attivazione della fatturazione: scelta di un piano**

Mistral offre un modello di utilizzo dell’API basato su **piani a consumo**. Dopo aver aggiunto un metodo di pagamento, è necessario abilitare l'account all'uso dell'API selezionando uno dei piani disponibili.

La piattaforma Mistral AI Studio permette di scegliere se attivare un **piano gratuito** o uno a pagamento pay-as-you-go.

In questo scenario, dopo aver aggiunto la carta di pagamento, procedi così:

1. Vai alla sezione **Limits** dell'[admin console](https://admin.mistral.ai/);
2. Qui puoi scegliere il piano:
   1. Experiment (Free) - un piano gratuito con limiti di utilizzo molto restrittivi e condivisione dei dati di utilizzo per il training di nuovi modelli; è ideale per test iniziali;
   2. Scale (Pay-as-you-go) - un piano a consumo con limiti più elevati, adatto all'uso in produzione. Richiede di aver fornito i dettagli di pagamento e comporterà addebiti in base all'utilizzo effettivo (per token/modello, secondo il pricing di Mistral).
3. Dopo aver selezionato il piano, potrebbe esserti chiesto di **verificare il tuo numero di telefono**. Inserisci un numero valido e poi il codice OTP ricevuto via SMS per confermare (questo passaggio serve a Mistral per verificare l’affidabilità dell’account prima di sbloccare l’accesso a consumo).

Una volta completati questi passaggi, il tuo account sarà assegnato al piano scelto!

## **5. Come monitorare l'utilizzo e impostare limiti di spesa su Mistral AI Studio**

### **Monitoraggio dei consumi**

Puoi monitorare i consumi a livello di organizzazione e di workspace.

#### **Monitorare i consumi di uno workspace di Mistral AI Studio**

1. Accedi a [Mistral AI Studio](https://console.mistral.ai/) e clicca su "Workspace" nella barra laterale;
2. Assicurati di aver selezionato il workspace corretto (premi sul nome in alto a sinistra nel popup che si è aperto per cambiarlo);
3. Vai alla sezione "Usage" del popup;
4. Seleziona il mese (di default sarà selezionato il mese corrente, puoi selezionare qualsiasi mese a partire dalla data di creazione del workspace);
5. All'interno di questa sezione, puoi controllare:
   1. Spesa totale (divisa in diverse categorie: completion, OCR, connectors, fine tuning, audio, ecc.);
   2. Il costo giorno per giorno (totale e diviso nelle diverse categorie);
   3. Il costo di ogni categoria (per ogni categoria, vedrai solo i modelli effettivamente utilizzati durante il mese, altrimenti vedrai la scritta "No usage in \[mese e anno]").

#### **Monitorare i consumi API dell'organizzazione di Mistral AI Studio**

Puoi vedere le stesse informazioni per l'intera organizzazione - aggregando, quindi, tutti gli workspace. Per farlo:

1. Accedi alla [console admin di Mistral AI](https://admin.mistral.ai/) e poi premi su [Usage](https://admin.mistral.ai/organization/usage) nella barra laterale;
2. Come prima, all'interno di questa pagina potrai selezionare il mese di riferimento e vedere il dettaglio di tutte le spese aggregate in maniera diversa (per categoria, per categoria/giorno e per categoria/modello).

### **Come impostare un limite di spesa**

Puoi impostare un limite di spesa solo a livello di organizzazione, non di workspace. Per impostarlo:

1. Accedi all'[admin console di Mistral AI](https://admin.mistral.ai/) e vai alla sezione [Limits](https://admin.mistral.ai/plateforme/limits);
2. All'interno della prima sezione (Organization limits) attiva il toggle "Monthly API spending limit";
3. Alla voce "Spending limit" inserisci il limite mensile di spesa in Euro e premi sul tasto "Update limit".

Al di sotto della sezione Spending limit troverai anche l'utilizzo del mese corrente rispetto al limite di spesa impostato.

## **6. Creazione di una chiave API**

Per utilizzare i servizi Mistral con AIsuru, è necessario creare una **chiave API** Mistral:

1. Nell’[AI Studio di Mistral](https://console.mistral.ai/home), nella barra laterale, clicca su [**API Keys**](https://console.mistral.ai/home?workspace_dialog=apiKeys): nel popup che si apre, vedrai le chiavi create all'interno del tuo workspace;
2. Per creare una nuova chiave, premi su "Create new key":
   1. Inserisci un nome descrittivo (opzionale, ma consigliato);
   2. Inserisci una data di scadenza per la tua chiave (opzionale);
   3. Conferma tutto premendo su "Create new key";
3. Premi su "Copy key" per copiare la chiave API appena creata e conservala (viene mostrata solo una volta al momento della creazione).

### Come gestire le chiavi API di Mistral AI Studio

Puoi gestire le tue chiavi direttamente dalla pagina relative alle [chiavi API Mistral](https://console.mistral.ai/home?workspace_dialog=apiKeys): al suo interno, infatti, puoi vedere una tabella contenente le chiavi attive e quelle scadute. Per ogni chiave, puoi vedere:

* Nome: il nome descrittivo fornito in fase di creazione della chiave;
* Chiave: le quattro lettere finali della chiave per una rapida identificazione;
* Data di creazione;
* Data di scadenza ("Never" se non impostata per quella chiave).

Se hai molte chiavi, puoi usare la barra di ricerca per ricercarle in base al nome.

### Come cancellare una chiave API Mistral

Se, invece, vuoi cancellare una chiave, ti basterà:

1. Premere sull'icona del cestino (ultima colonna);
2. Premere su Confirm (comparirà al posto del cestino).

## **7. Gestione dei Workspaces (spazi di lavoro)**

Mistral consente di organizzare l’utilizzo in diversi **workspaces** (spazi di lavoro), analogamente ai progetti di altre piattaforme. Ciò è utile per separare attività, team o clienti all’interno della stessa organizzazione, garantendo maggiore controllo e ordine.

Al momento della creazione dell'account viene generata una Organizzazione di default e un workspace associato.

Creando workspaces aggiuntivi, puoi ad esempio separare l’utilizzo per progetti diversi, dipartimenti interni o clienti. Ogni workspace mantiene chiavi API, impostazioni e membri isolati dagli altri, permettendoti di gestire accessi e limiti in modo granulare all’interno della stessa organizzazione.

Nota: è possibile gestire più workspace sotto la stessa organizzazione - ciascuno avrà le proprie impostazioni indipendenti (chiavi API, membri, report di consumi).

{% hint style="success" %}
Se hai un solo progetto, potresti utilizzare soltanto il workspace predefinito.
{% endhint %}

### Creare un nuovo Workspace

Per creare nuovi workspace è necessario accedere, come admin alla [console admin di Mistral](https://admin.mistral.ai/organization/):

1. Clicca su [Workspaces](https://admin.mistral.ai/organization/workspaces) nella colonna laterale (da qui vedi tutti i tuoi workspace) e poi sul pulsante New workspace.
2. Nel menu che si apre:
   1. Seleziona un'icona (corrispondente ad un'emoji tra quelle disponibili);
   2. Inserisci un nome;
   3. Scrivi una breve descrizione (opzionale);
   4. Se utile, attiva la checkbox "Add all existing organization members to this workspace";
   5. Infine, premi su "Create".

{% hint style="info" %}
Ricorda che puoi solamente archiviare (non eliminare) i workspace di Mistral AI Studio.
{% endhint %}

## **8. Gestione dei membri dell’organizzazione e dei ruoli**

Se lavori in team, puoi invitare colleghi all’interno del tuo workspace Mistral e assegnare loro ruoli differenti con permessi adeguati.

Per aggiungere un nuovo membro nel tuo workspace, dovrai prima di tutto invitarlo all'interno della tua organizzazione:

1. Vai alla [console admin di Mistral](https://admin.mistral.ai/organization) e premi su Members nella colonna laterale;
2. Premi sul pulsante Invite members e nel popup che compare:
   1. Scrivi l'email del membro del team (puoi anche scrivere più indirizzi separandoli con una virgola);
   2. Seleziona il ruolo:
      1. **Admin:** accesso completo all’organizzazione e ai workspaces; può gestire impostazioni, membri, fatturazione e ha tutti i privilegi degli altri ruoli.
      2. **Billing:** accesso alle informazioni di **fatturazione** e ai pagamenti; può visualizzare ed editare i dati di billing, gestire i metodi di pagamento e vedere le fatture.
      3. **Member:** ruolo base con accesso limitato; può utilizzare l’API e vedere le proprie risorse, ma non può creare chiavi API né modificare impostazioni critiche.
   3. Dopo aver confermato, il sistema invierà agli indirizzi specificati un’email con il link per accettare l’invito e unirsi al workspace. Fino a quando l’invito non viene accettato, il membro apparirà nello stato "pending" nell’elenco dei membri.
3. In base al ruolo scelto, potrebbe essere necessario invitare il membro del team anche nei singoli workspace. Per farlo:
   1. Accedi all'[AI Studio di Mistral](https://console.mistral.ai/) e premi sulla voce [Workspace](https://console.mistral.ai/home?workspace_dialog=general) nella barra laterale;
   2. Seleziona il workspace su cui vuoi lavorare: premi sul nome del workspace in alto a sinistra nel popup che si è aperto per cambiarlo;
   3. Vai alla voce Members e clicca su Add Members:
      1. Seleziona il membro dell'organizzazione da aggiungere al workspace dal menu a tendina;
      2. Specifica il ruolo (di default è "Member", ma puoi selezionare anche "Admin");
      3. Infine, clicca sul pulsante "Add Member" per confermare.

In qualsiasi momento, puoi rimuovere i singoli membri dall'organizzazione (dall'[admin console di Mistral](https://admin.mistral.ai/)) o dai singoli workspace (all'interno di [Mistral AI Studio](https://console.mistral.ai/)).

## **9. Limiti di utilizzo (rate limits) dei modelli Mistral API**

Come tutti i provider di AI generativa, anche Mistral prevede dei limiti di utilizzo che possono variare in base all'utilizzo e alla spesa totale dell'organizzazione (o, in caso di forte utilizzo, anche in base agli accordi commerciali con Mistral AI).

Puoi controllare i rate limits all'interno dell'[admin console di Mistral](https://admin.mistral.ai/organization) (non dentro Mistral AI Studio):

1. Accedi alla sezione [Limits](https://admin.mistral.ai/plateforme/limits) della console admin di Mistral;
2. Oltre a poter controllare i consumi e il limite di spesa mensile, scendendo più sotto puoi vedere altre tre sezioni:
   1. Rate limit per second: è il limite di richieste che puoi fare in un secondo. Per semplificare, possiamo dire che 1 richiesta = 1 messaggio, ma in realtà un messaggio su AIsuru potrebbe consumare fino a 10 richieste.
   2. Completion rate limits per model: in questa sezione, trovi i diversi modelli (che puoi filtrare con la barra di ricerca) che Mistral mette a disposizione. Per ogni modello, troverai:
      1. Tokens per Minute (TPM): il numero massimo di token al minuto che Mistral mette a disposizione per la tua organizzazione per quello specifico modello.
      2. Tokens per Month: il numero massimo di token mensili che Mistral mette a disposizione per la tua organizzazione per quello specifico modello.
   3. Fine-tuning limits: sono i limiti specifici per le attività di fine tuning all'interno di Mistral AI Studio. I modelli fine-tuned di Mistral possono, poi, essere utilizzati su AIsuru.

### Come aumentare i rate limits di modelli Mistral API

Puoi chiedere un aumento dei limiti di utilizzo dei modelli Mistral AI contattando direttamente il supporto commerciale di Mistral. Puoi farlo andando nella sezione [Contact us di Mistral AI](https://mistral.ai/contact).

## **Prossimi passi**

Dopo aver completato la configurazione della tua console Mistral AI:

1. Copia la chiave API creata;
2. Accedi alla tua dashboard [AIsuru](https://www.aisuru.com/);
3. Utilizza la chiave API per [creare un nuovo modello in piattaforma](../crea-e-gestisci-le-configurazioni-dei-modelli.md).


# Azure AI Foundry: come usare i modelli OpenAI e gestire accessi e costi

{% hint style="warning" %}
Al fine di evitare conflitti tra account, suggeriamo di eseguire tutte le operazioni da **scheda in incognito** o da un nuovo “profilo” del browser (se applicabile, questo permette di non avere conflitti per cache e cookies).
{% endhint %}

## 1. Registrazione di un Tenant Azure (per chi non ha Microsoft 365)

Se la vostra organizzazione dispone già di Microsoft 365 (M365), significa che esiste già un tenant Azure Active Directory (Azure AD/Microsoft Entra ID) aziendale, e potete utilizzarlo per Azure. In caso contrario, è necessario registrare un nuovo tenant Azure. Ecco come procedere:

* Visitate il sito web di Azure ([azure.microsoft.com](https://azure.microsoft.com/)) e create un account. Utilizzate un indirizzo email aziendale per la registrazione. Il processo vi guiderà nella creazione di un nuovo directory/tenant Azure (denominato tenant Azure AD)
* Dopo aver creato l’account, effettuate l’accesso al portale di Azure con le credenziali appena configurate. Confermate che il tenant Azure AD creato è selezionato (in alto a destra, generalmente potete vedere il nome del directory/tenant corrente ed eventualmente cambiarlo se ne avete più di uno)

Nota: Il tenant Azure AD è l’entità che rappresenta la vostra organizzazione all’interno di Azure. Tutti gli utenti interni e le risorse Azure saranno associati a questo tenant.

## 2. Creazione di una "sottoscrizione" Azure a pagamento

Per utilizzare servizi avanzati come Azure OpenAI, è obbligatorio avere una sottoscrizione Azure a pagamento (ad esempio Pay-As-You-Go o un piano enterprise).

Le sottoscrizioni gratuite o trial non sono abilitate all’uso del servizio Azure OpenAI, quindi bisogna attivare un piano a pagamento fin da subito.

Se avete appena creato l’account Azure, durante la registrazione potreste aver attivato una trial con crediti gratuiti. Accedete alla sezione Sottoscrizioni nel portale Azure e, se la vostra sottoscrizione è indicata come Free Trial o Azure for Students, effettuate l’upgrade a Pay-As-You-Go. Vi verrà chiesto di inserire un metodo di pagamento (carta di credito o altri) e accettare che, esauriti eventuali crediti iniziali, i consumi vengano addebitati.

In alternativa, se nel tenant non c’è alcuna sottoscrizione, potete crearne una nuova. Dal portale Azure, andate su Sottoscrizioni e cliccate + Aggiungi (Add). Seguite la procedura guidata scegliendo Pay-As-You-Go come tipo di offerta e fornite i dettagli di fatturazione richiesti.

Una volta attivata la sottoscrizione a pagamento, assicuratevi che lo stato sia attivo. Ora siete pronti a creare risorse Azure su questa sottoscrizione.

Nota: Assicuratevi di avere i permessi Owner/Proprietario o Contributor sulla sottoscrizione appena creata (generalmente, chi crea la sottoscrizione ne è Owner di default). Questo è necessario per poter creare e gestire le risorse nei passi successivi.

## 3. Creazione di un Resource Group per le risorse AI

Un Resource Group (Gruppo di risorse) è un contenitore logico in Azure dove raggruppare le risorse correlate. Creeremo un Resource Group dedicato a tutte le risorse AI (OpenAI, storage, ecc.) del progetto. È buona prassi utilizzare nomi coerenti e pianificati, dato che i nomi delle risorse non possono essere modificati dopo la creazione.

Procedura per creare un Resource Group:

1. Nel portale di Azure, nel menu di sinistra (o nel menu in alto a sinistra ≡), selezionate Resource groups
2. Cliccate sul pulsante + Create. Si aprirà il form di creazione
3. Nel campo Subscription (Sottoscrizione), assicuratevi di selezionare la sottoscrizione a pagamento attiva su cui volete creare le risorse AI
4. Nel campo Resource group name (Nome), inserite un nome identificativo. Consigliamo di includere un riferimento a AIsuru. _Ad esempio, potreste usare Prod-AIsuru come nome del Resource Group. Evitate spazi e caratteri speciali: usate lettere, numeri e eventualmente il trattino - come separatore_
5. Nel campo Region scegliete un datacenter preferibilmente in Europa. Ad esempio, Sweden Central o West Europe se disponibili. Questo garantisce che i dati rimangano all’interno dell’UE\
   \
   &#xNAN;_&#x4E;ota: assicuratevi che la regione scelta supporti i servizi Azure OpenAI necessari. Non tutte le regioni europee potrebbero avere tutti i modelli OpenAI disponibili._
6. (Opzionale) Potete aggiungere tag per organizzare le risorse. Ad esempio, cliccando su Next: Tags potreste aggiungere una coppia Nome-Valore come Name: Infrastructure e Value: AzureAI (o “LLM”) per classificare questo gruppo come infrastruttura AI. I tag aiutano in seguito a filtrare le risorse e fare analisi dei costi trasversali
7. Cliccate su Review + create, verificate che i dettagli siano corretti (nome, area, sottoscrizione, tag, ecc.), quindi confermate cliccando Create. Dopo pochi secondi il nuovo Resource Group verrà creato

Consiglio: **stabilite una naming convention coerente per tutte le risorse del progetto**. _Ad esempio, usando un prefisso comune (come il nome dell’azienda o acronimo del progetto) e suffissi che indicano il tipo di risorsa: es. Prod-AIsuru per il resource group, e poi lo stesso prefisso per le risorse all’interno (es: Prod-AIsuru-Hub, Prod-AIsuru-Service, prodaisurustorage, ecc.)._

Questo facilita l’identificazione delle risorse e indica chiaramente a quale progetto appartengono. Ricordate che molti nomi di risorse Azure non possono essere modificati dopo la creazione, quindi pianificateli attentamente.

## 4. Creazione di un Azure AI Hub tramite Azure AI Foundry

Una volta predisposto il Resource Group, procediamo con la creazione dell’Azure AI Hub, ovvero la risorsa principale di Azure AI Foundry. L’hub funge da contenitore/gestore per i progetti AI e consente di collegare i vari servizi (OpenAI, archiviazione, sicurezza) necessari.

Durante la creazione dell’AI Hub, avremo l’opportunità di creare contemporaneamente anche le risorse collegate (servizio Azure OpenAI, account Storage e Key Vault), che affronteremo in dettaglio al punto successivo.

Per creare un nuovo Azure AI Hub:

1. Nel portale di Azure, cercate Azure AI Foundry usando la barra di ricerca globale in alto (digitate “Azure AI Foundry” e selezionate il risultato appropriato). In alternativa, dal menu principale, navigate nelle categorie di servizi AI
2. Nella pagina Azure AI Foundry, cliccate sul pulsante + Create Azure AI(in alcuni casi potrebbe apparire come + New Azure AI). Quindi, scegliete di creare un Hub (quando richiesto il tipo di risorsa da creare, selezionate Hub anziché Project, poiché vogliamo prima creare l’hub centralizzato)
3. Inserire i dettagli dell’Hub (Basics): si aprirà il form di creazione per l’Azure AI Hub. Compilate i campi fondamentali:
   1. Subscription: selezionate la sottoscrizione a cui addebitare i costi (quella creata precedentemente)
   2. Resource Group: selezionate il Resource Group dedicato (creato al passo precedente, ad es. Prod-AIsuru)
   3. Region: scegliete la stessa area geografica scelta per il Resource Group, per coerenza (es. Sweden Central o quella che avete usato, così tutte le risorse rimarranno in EU)
   4. Name: date un nome all’Hub. Seguite la convenzione scelta: tipicamente il nome del Resource Group seguito da “-Hub”. Ad esempio: Prod-AIsuru-Hub. (Questo è il nome della risorsa Azure AI Hub che verrà creata)
   5. Friendly Name: potete inserire un nome descrittivo più leggibile, ad esempio “Prod AIsuru Hub aziendale”. Questo è utile per riconoscere l’hub nel portale, ma non è l’ID della risorsa
   6. Default project resource group: specificate quale Resource Group dovranno usare di default i progetti creati in questo Hub. Solitamente, inserite di nuovo il nome del Resource Group creato al passo 3 (Prod-AIsuru). Questo fa sì che eventuali risorse future create dai progetti (es. container, workspace, ecc.) vengano anch’esse allocate in quel gruppo
4. Collegare un servizio Azure OpenAI: nella stessa schermata di creazione dell’Hub, troverete un campo per collegare un servizio AI, ad esempio Azure OpenAI Service. Poiché non ne abbiamo ancora uno, dobbiamo crearne uno nuovo:
   1. Cliccate sul link Create New sotto il campo Azure OpenAI Service (potrebbe essere indicato come Azure AI Services). Si aprirà un pannello laterale per creare un nuovo servizio Azure OpenAI
   2. Nel campo Name di questo pannello, inserite un nome per la risorsa OpenAI. Seguite la convenzione: ad esempio usate il nome del Resource Group seguito da “-Service” (es: Prod-AIsuru-Service)
   3. Assicuratevi che la Subscription e il Resource Group in questo pannello siano corretti (dovrebbero essere precompilati con quelli selezionati per l’Hub). La regione sarà la stessa dell’Hub
   4. Cliccate Save per confermare la creazione della risorsa Azure OpenAI Service collegata
5. Configurare lo Storage Account: Dopo aver salvato il collegamento del servizio OpenAI, passate alla scheda successiva nella procedura di creazione dell’Hub. Dovrebbe esserci una sezione Storage:
   1. Cliccate su Next: Storage se la procedura guidata non ci è già arrivata
   2. Qui viene richiesto di selezionare un Storage Account. Cliccate su Create New sotto il campo Storage account per crearne uno dedicato. Si aprirà un pannello laterale per creare lo storage:
      1. Name: inserite un nome per lo Storage Account. Questo nome deve essere univoco a livello globale e ha restrizioni (solo lettere minuscole e numeri, lunghezza compresa tra 3 e 24 caratteri, niente spazi o trattini). _Un approccio è usare il prefisso del progetto senza trattini. Ad esempio, se il resource group è Prod-AIsuru, potreste usare qualcosa come prodaisurustorage (o simile, mantenendo tutto minuscolo e senza -)_
      2. Replication: scegliete il livello di ridondanza desiderato. Per ambienti di test o iniziali, potete selezionare Locally-redundant storage (LRS), che mantiene tre copie dei dati all’interno dello stesso data center (opzione base)
      3. Lasciate eventuali altri parametri ai default (ad es. Performance su Standard). Cliccate Save per creare lo Storage Account
6. Dopo lo storage, la procedura guidata passerà alla sezione Key vault:
   1. Cliccate su Next: Networking se richiesto, e configurate l’accesso di rete. In genere, per iniziare, potete lasciare l’hub in modalità Public access (Public endpoint) così com’è (permette all’hub e ai servizi di essere gestiti senza richiedere una rete virtuale dedicata; potete limitare l’accesso in seguito se necessario)
   2. Cliccate Next: Encryption
   3. Nella sezione Encryption, lasciate deselezionata l’opzione che richiede l’uso di una chiave gestita dal cliente (Customer-managed Key). In questo modo, verranno usate le chiavi gestite da Microsoft per crittografare i dati.
   4. Cliccate Next: Identity
   5. Nella sezione Identity potete lasciare le impostazioni di default. Cliccate Next: Tags
   6. Arrivati alla sezione Tags, avete la possibilità di assegnare tag alla risorsa Hub e alle risorse collegate che state creando. Potete ad esempio utilizzare: Name = Infrastructure e Value = LLM (variabile a seconda delle necessità). Questi tag vi aiuteranno a identificare e filtrare le risorse (ad esempio nei report di costi)
   7. Cliccate Next: Review + create per visualizzare il riepilogo finale
7. Rivedere e creare l’Azure AI Hub: Nel form di riepilogo, controllate attentamente tutti i parametri e le risorse che verranno create: il nome dell’Hub, la regione, il Resource Group, il nome del servizio OpenAI, dello Storage e del Key Vault, ecc. In particolare verificate che la Region sia corretta (conforme alle vostre esigenze di data residency) e che i nomi rispettino la convenzione scelta
8. Se tutto è corretto, cliccate Create per avviare il deployment
9. Azure inizierà a creare l’AI Hub e, contestualmente, il servizio Azure OpenAI, il Key Vault e lo Storage Account associati (se li avete creati nel wizard). Questa operazione può richiedere qualche minuto. Al termine, vedrete comparire nel Resource Group tutte le nuove risorse (ad esempio: Prod-AIsuru-Hub, Prod-AIsuru-Service per OpenAI, prodaisurustorage, Prod-AIsuru-KV per il Key Vault, ecc.)

Una volta completata la creazione, avete un Azure AI Hub configurato con i servizi necessari. L’hub è ora pronto per ospitare uno o più progetti Azure AI Foundry al suo interno.

**Importante**: Abbiamo scelto di creare l’Azure AI Hub manualmente per poter specificare tutti i dettagli (come regione EU e nomi personalizzati). In alternativa, Azure AI Foundry permette anche di creare un Foundry project direttamente, creando automaticamente un hub predefinito. Tuttavia, per ambienti aziendali è consigliabile avere il controllo esplicito sull’Hub (hub-based project) per centralizzare la gestione delle risorse e configurazioni.

### 4.5. Creazione delle risorse collegate: Azure OpenAI Service, Storage Account, Key Vault

Questo punto è in parte già coperto nel processo del passo 4, poiché durante la creazione dell’AI Hub abbiamo provveduto a creare le risorse collegate. Rivediamo brevemente ciascuna di queste e assicuriamoci che tutto sia configurato correttamente:

* **Azure OpenAI Service**: è il servizio che fornisce l’accesso ai modelli OpenAI tramite l’endpoint Azure. Nel nostro caso, abbiamo creato la risorsa Azure OpenAI denominata ad esempio Prod-AIsuru-Service. Potete verificarne la presenza andando nel Resource Group e controllando che vi sia una risorsa di tipo Azure OpenAI (o Cognitive Services con provider Microsoft.OpenAI). Aprendola, nella pagina Panoramica dovreste vedere le informazioni come l’endpoint URL e la regione\
  \
  &#xNAN;_&#x4E;ota: Se in fase di creazione dell’Hub aveste deciso di non creare subito il servizio OpenAI (saltando quel collegamento), potete sempre crearlo in un secondo momento manualmente. In tal caso, andate su Create a resource nel portale, cercate Azure OpenAI, e create il servizio selezionando la stessa sottoscrizione, Resource Group e area. Dovreste comunque passare per l’approvazione Microsoft se richiesto, ma attualmente per account Pay-As-You-Go compatibili la creazione è diretta senza form esterni_
* **Storage Account**: abbiamo creato un account di archiviazione (es. prodaisurustorage) per conservare dati generati o richiesti dall’AI Hub/Foundry (ad esempio file di configurazione, log, dataset per fine-tuning, ecc.). Verificate che lo storage sia stato creato correttamente nella regione prevista e con la replica LRS. Non serve configurare nulla di particolare a questo punto, ma assicuratevi di non eliminare questo storage: è fondamentale per il funzionamento del progetto AI
* **Key Vault**: è stato creato un Key Vault (es. Prod-AIsuru-KV) per conservare in sicurezza le chiavi e i segreti legati al progetto AI. Ad esempio, la chiave API dell’Azure OpenAI verrà custodita nel Key Vault. Anche qui, non occorre una configurazione manuale immediata, ma potete controllare nella sezione Secrets del Key Vault che (dopo il deployment del modello) compaiano le chiavi necessarie\
  \
  &#xNAN;_&#x4E;ota: Il Key Vault e l’Azure AI Hub sono connessi tramite identità gestita, permettendo al Foundry di recuperare le chiavi senza esporle direttamente._

In sintesi, al termine del passo 4 avrete già tutte queste risorse pronte. Assicuratevi solo che siano tutte presenti nel Resource Group e in stato Attivo. Se qualcosa risultasse non creato o in errore, potrebbe essere necessario ricrearlo o controllare i permessi (ad esempio, per il servizio OpenAI, verificare di avere l’accesso al servizio nella sottoscrizione).

## 5. Creazione e configurazione del progetto Azure AI Foundry

Ora che l’infrastruttura di base è pronta (Hub e servizi collegati), possiamo creare un **Progetto Azure AI** all’interno dell’AI Hub tramite il portale Azure AI Foundry. Il progetto è lo spazio di lavoro dove effettuerete realmente le operazioni di sviluppo, deployment di modelli, ecc. Ecco i passi da seguire:

1. **Accedere all’Azure AI Hub appena creato**: dal portale Azure, navigate nel Resource Group che avete creato e cliccate sulla risorsa Azure AI Hub (es: Prod-AIsuru-Hub). Si aprirà la pagina di dettaglio dell’hub. In questa pagina dovreste vedere, tra le varie informazioni, il pulsante Launch Azure AI Foundry
2. Cliccate su **Launch Azure AI Foundry**. Questo aprirà la console web specifica di Azure AI Foundry associata al vostro hub. È una sorta di interfaccia dedicata dove gestire i progetti AI
3. **Creare un nuovo progetto**: se è la prima volta che accedete e non esistono progetti nell’hub, Azure AI Foundry vi mostrerà un messaggio del tipo “You’ll need a project to keep working”. In questa schermata, dovete fornire un nome per il nuovo progetto:
   1. Nel campo Project name (Nome del progetto) inserite un nome identificativo. Seguendo la nostra convenzione, potete usare il nome del Resource Group con il suffisso “-Project”. Ad esempio: Prod-AIsuru-Project. _Assicuratevi che sia selezionato l’hub corretto, dovrebbe esserci solo quello che avete creato_
   2. Cliccate su Create a project per confermare
4. **Attendere la configurazione**: il progetto verrà creato all’interno dell’hub e potrebbe impiegare qualche istante per inizializzare l’ambiente. Una volta creato, verrete indirizzati alla vista del progetto Azure AI Foundry
5. **Verificare la struttura del progetto**: nella console di Azure AI Foundry, dovreste ora vedere il nome del vostro progetto. Sul lato sinistro dell’interfaccia, c’è un menu con diverse sezioni (ad esempio: Overview, Models + endpoints, Data, Prompt flow, etc.). Assicuratevi di riconoscere i principali elementi:
   1. Overview: la pagina iniziale del progetto con un riassunto e collegamenti rapidi
   2. Models + endpoints: la sezione dove gestirete i modelli deployati e gli endpoint API
   3. Management Center: dove impostare parametri di progetto, accessi, quote, ecc.

A questo punto, il vostro progetto Azure AI è configurato e pronto. Nel prossimo passo procederemo al deployment di un modello OpenAI nel progetto.

## 6. Deployment di un modello OpenAI (es. GPT-4o-mini) su Azure AI Foundry

Con il progetto creato, possiamo effettuare il **deployment di un modello OpenAI**, rendendolo disponibile tramite endpoint per le applicazioni. Azure AI Foundry semplifica questo processo con pochi click. Prendiamo ad esempio il modello GPT-4o-mini, ma i passi sono simili per altri modelli. Procedura per effettuare il deployment di un modello nel progetto:

1. **Accedere alla sezione Models + endpoints**: nel pannello di sinistra della console Azure AI Foundry (all’interno del vostro progetto), cliccate su Models + endpoints. Qui vedrete la lista di modelli ed endpoint (inizialmente sarà vuota poiché non avete ancora deployato nulla)
2. In alto nella pagina, cliccate su **+ Deploy model**. Verranno presentate opzioni, scegliete Deploy base model (deploy di un modello base pre-addestrato senza fine-tuning iniziale)
3. **Selezionare il modello**: apparirà un elenco di modelli disponibili. Scorrete e selezionate GPT-4o-mini (o un altro modello a vostra scelta). Potete usare la barra di ricerca per trovarlo se l’elenco è lungo
4. Cliccate **Confirm** per passare alla schermata successiva
5. Personalizzare la capacità (opzionale): nella schermata di configurazione del deployment, potrebbe comparire un pulsante Customize accanto a parametri come la Capacity o il Rate limit. Cliccatelo per regolare le impostazioni avanzate:
   1. Tokens per Minute Rate Limit: impostate il valore massimo consentito. verificate il limite mostrato e se possibile impostatelo al massimo disponibile, a meno che non vogliate intenzionalmente limitarlo
   2. Content filter: se presente, potete lasciare attivo il filtro contenuti (di solito attivo per default per moderare output indesiderati)
6. Cliccate sul pulsante **Deploy** per avviare il deployment del modello scelto con le configurazioni indicate. Azure inizierà il provisioning dell’infrastruttura necessaria e la preparazione del modello. Questo processo potrebbe richiedere alcuni minuti
7. Una volta terminato, nella sezione Models + endpoints dovreste vedere il modello nell’elenco, con uno stato indicato come Deployed/Running (o “In esecuzione”)
8. **Deployare altri modelli** (facoltativo): Se avete bisogno di più modelli, potete ripetere la procedura per ciascun modello aggiuntivo. L’hub/progetto supporta più deployment contemporaneamente, tenendo presente che ognuno consumerà quote di risorse e budget separatamente

_Nota: I modelli OpenAI su Azure vengono continuamente aggiornati e ampliati. Scegliete il modello in base alle vostre esigenze assicuratevi che sia supportato nella regione del vostro servizio Azure OpenAI._ [_Potete controllare la documentazione Azure per la lista di modelli supportati per regione_](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models?tabs=global-standard%2Cstandard-chat-completions#model-summary-table-and-region-availability)_._

## 7. Reperire Endpoint, Chiave API e Nome del modello

Dopo aver deployato un modello, avrete bisogno di tre informazioni chiave per utilizzare il modello via API: l’Endpoint URL, la Chiave API e il Nome del modello (deployment name).

Ecco come ottenerle:

1. Accede alla risorsa all’interno dell’Azure AI Foundry
2. All’interno dell’homepage della risorsa è possibile vedere:
   1. Chiave API: copiatela e tenetela da parte
   2. L’endpoint: su AIsuru andrà inserito un endpoint differente, ma copiate e tenete da parte il nome del servizio (es. se l’endpoint è https://Prod-AIsuru-service.openai.azure.com/ allora dovrete salvare “Prod-AIsuru-service”)
3. Per ottenere, invece, il nome modello è necessario accedere alla sezione Models + endpoints del progetto: all’interno della tabella, la seconda colonna dovrebbe indicare il nome modello di tutti i modelli deployati precedentemente

## 8. Rilascio su AIsuru

Per rilasciare un nuovo modello su AIsuru è necessario inserire i seguenti parametri:

* API Key: incollare l’API key salvata precedentemente
* Modello: incollare il nome modello salvato precedentemente
* Endpoint: sostituire il nome del servizio con la stringa salvata al punto precedente e il nome modello con il nome modello salvato 👉 https://{nome\_servizio}.services.ai.azure.com/openai/deployments/{nome\_modello}

È possibile seguire la guida all’interno della documentazione di [AIsuru](https://app.gitbook.com/u/cAjZyYfE1LVsEPlsvlJqalQAVq13) per essere guidati passo-passo nella [creazione e nel rilascio dei modelli](../crea-e-gestisci-le-configurazioni-dei-modelli.md).

## 9. Gestione degli utenti interni all’organizzazione Azure (creazione e organizzazione utenti)

In un contesto aziendale, probabilmente più persone vorranno accedere o collaborare al progetto Azure AI (sviluppatori, data scientist, ecc.). È importante quindi sapere come creare nuovi utenti nel tenant e come assegnare loro i permessi adeguati sulle risorse (hub, progetto, ecc.). Ecco le linee guida.

### Aggiungere nuovi utenti interni nel tenant Azure

1. Nel portale Azure, cercate Azure Active Directory (o Utenti e gruppi se avete scorciatoie). Andate nella sezione Users (Utenti) del vostro tenant
2. Cliccate + New user (Nuovo utente). Compilate i dettagli richiesti: nome dell’utente, nome utente (che diventerà la login, tipicamente formattato come un email user@dominio.onmicrosoft.com o il dominio aziendale se presente), e scegliete un metodo per la password (potete auto-generarla e poi condividerla in modo sicuro con l’utente)\
   \
   &#xNAN;_&#x53;e la vostra azienda usa un dominio personalizzato in Azure AD, potete assegnare l’utente a quel dominio, altrimenti rimarrà sul dominio onmicrosoft.com di default._
3. Cliccate Create per creare l’utente. Fornite all’utente le credenziali create (nome utente e password temporanea) affinché possa accedere.

### Assegnare gli utenti a gruppi (opzionale)

Se avete molti utenti, potete creare Azure AD Groups e inserirvi gli utenti, per poi assegnare permessi ai gruppi invece che ai singoli.

#### Come assegnare ruoli

L'assegnazione dei ruoli può essere gestito a livello di:

* Gruppi di risorse (resource groups)-> consente l'accesso a tutte le risorse al suo interno (inclusi Hub, OpenAI, storage, ecc.)
* Singole risorse (resources) -> consente l'accesso alla specifica risorsa

Per assegnare un ruolo:

1. Andate sulla risorsa o resource group interessato nel portale Azure
2. Selezionate Access control (IAM) dal menu. Cliccate + Add role assignment
3. Scegliete il ruolo adatto (es. Contributor, Reader, ecc.), quindi cercate l’utente o gruppo nella casella Assign to e confermate - l’assegnazione sarà effettiva dopo pochi minuti

Oltre ai ruoli, Azure AI Foundry permette di specificare l’accesso a progetti e hub direttamente dalla sua dashboard: è sufficiente accedere al Management Center del vostro progetto, ed accedere alla sezione “Users” dell’Hub o del progetto, a seconda delle necessità.

In genere, se un utente ha accesso (RBAC) all’hub o al resource group e ai servizi collegati, dovrebbe poter lanciare la Foundry ed accedere al progetto. Se, però, Foundry richiede esplicitamente di aggiungere membri:

1. Accedere al Management Center del progetto > Users (del progetto o dell’hub, a seconda delle necessità)
2. Aggiungere l’utente e assegnare il ruolo
3. Salvate le modifiche

-> L’utente dovrebbe ora vedere il progetto nell’Azure AI Foundry portal e potervi accedere.

## 10. Monitoraggio e budget

È fondamentale impostare un monitoraggio attento dei costi e meccanismi di allerta o limitazione per evitare sforamenti di budget.

### Analisi dei costi

1. Nel portale Azure, recatevi su Cost Management + Billing
2. Da qui, potete selezionare la sottoscrizione interessata (o anche filtrare per Resource Group Prod-AIsuru se volete isolare i costi di questo progetto) e utilizzare Cost analysis (Analisi costi) - che vi mostrerà quanto state spendendo e una ripartizione per servizio

### Budget

La funzionalità Budgets vi consente di impostare un budget per un determinato scope (sottoscrizione, resource group, servizio). il raggiungimento o superamento del budget non comporta l’automatico blocco dell’operatività: Azure valuterà la spesa periodica e vi manderà avvisi al superamento delle soglie definite.

Per impostare un budget mensile per la sottoscrizione o per il resource group del progetto:

1. Andate su Cost Management > (Monitoring >) Budgets nel portale Azure (dopo aver selezionato la sottoscrizione o il RG appropriato come ambito)
2. Cliccate + Add
3. Inserite un nome per il budget (es. Budget-ProgettoAI)
4. Selezionate il reset period (es. il budget si resetta ogni mese)

* Impostate creation date ed expiration date
* Impostate l’amount (ad esempio, se desiderate non superare 1000 € al mese per il progetto AI, impostate 1000 come budget mensile)
* Configurate le alert: potete impostare soglie di allarme, ad esempio al 50%, 80%, 100% del budget. Per ciascuna soglia, impostate che vi invii una notifica email (potete inserire gli indirizzi email opportuni, come quello dell’amministratore IT, project manager, ecc.). Le notifiche vi avviseranno quando la spesa stimata raggiunge quelle percentuali
* Salvate il budget

## 11. Accorgimenti finali e best practices

* Come già sottolineato, una convenzione di nomi consistente salva da tanta confusione. Applicatela a tutte le risorse: es. nomi delle risorse Azure, nomi dei deployment dei modelli, nomi dei progetti, e persino agli identificativi di utenti/gruppi dedicati. Documentate questa convenzione in modo che il team la segua uniformemente.
* Anche se abbiamo impostato il rate limit al massimo consentito per il modello, Azure può avere limiti superiori. Informatevi sulle quote predefinite e, se il vostro caso d’uso lo richiede, potete chiedere un innalzamento di quota aprendo un ticket al supporto Azure.
* Utilizzando data center europei vi assicurate che i dati in transito e a riposo per il servizio Azure OpenAI rimangano in ambito UE, aiutando con la compliance al GDPR e policies aziendali. Verificate sempre le ultime informazioni Microsoft sulla data residency dei servizi AI, specialmente se maneggiate dati sensibili.
* In caso di problemi, consultate la documentazione ufficiale Microsoft e la community. Il portale di Azure offre diagnosi di base (es. log delle richieste fallite se abilitate, metriche di uso). Potete anche aprire ticket al supporto Azure se riscontrate malfunzionamenti del servizio.


---
hidden: true
---

# Google Vertex: come aggiungere Claude

Guida WIP


# Cosa fare in caso di problemi

AIsuru fornisce diversi indicatori e soluzioni per gestire eventuali problemi con i provider di IA generativa. Questa guida ti aiuterà a identificare e risolvere rapidamente i problemi più comuni.

### Problemi temporanei dei provider

È normale che provider come OpenAI o Anthropic possano occasionalmente riscontrare problemi temporanei. Solitamente questi problemi si risolvono entro 30 minuti, ma in alcune occasioni la risoluzione può richiedere diverse ore. I problemi possono essere limitati ad un modello specifico o possono impattare tutti i modelli del provider.

Non è necessario alcun intervento da parte tua: il servizio riprenderà automaticamente.

{% hint style="info" %}
<mark style="color:blue;">**AIsuru non può risolvere i problemi dei singoli provider**</mark><mark style="color:blue;">, ma fornisce comunque gli strumenti per accorgersi dei disservizi ed implementare rapidamente una soluzione.</mark>
{% endhint %}

#### Indicatore di problemi con i provider

Quando interagisci con un Agente che utilizza un provider che sta riscontrando problemi vedrai un'icona vuota con bordi rossi ⚠️ che segnala potenziali problematiche.

Questo indicatore appare automaticamente quando il provider selezionato sta avendo difficoltà.

#### Come cambiare provider in caso di problemi

AIsuru non può risolvere i disservizi dei singoli provider, ma ti permette comunque di evitare disservizi ai tuoi utenti in caso di problemi. Ti basterà, infatti, [**selezionare un diverso provider e modello**](../attiva-lia-generativa-e-cambia-il-modello.md#come-cambiare-il-modello-del-tuo-twin) **per permettere ai tuoi utenti di interagire con il tuo Agente**.

### Tempo di elaborazione della risposta

Un altro problema comune riguarda il tempo di elaborazione delle risposte. **Ogni richiesta all'IA generativa ha un limite massimo di 90 secondi** per completare l'elaborazione. Se il modello non riesce a fornire una risposta entro questo tempo:

1. La richiesta viene interrotta automaticamente;
2. L'Agente mostra il messaggio di errore generico: "Mi dispiace, le mie risposte sono limitate. Devi farmi le domande giuste".

Questo limite di tempo è una misura di sicurezza per evitare che l'Agente rimanga bloccato in elaborazioni troppo lunghe, garantendo una migliore esperienza utente complessiva.


# 4. Condivisione e pubblicazione

La condivisione è un passo cruciale per far brillare il tuo Agente AI nel mondo digitale. AIsuru offre una varietà di modalità per distribuire e integrare il tuo assistente virtuale in diversi contesti, permettendoti di raggiungere il tuo pubblico in modi innovativi e coinvolgenti.

In questa sezione, esploreremo le seguenti sezioni:

1. **Creazione di un layout**
   1. Scopri dove trovare tutti i campi necessari;
   2. Impara cosa puoi modificare e come personalizzare l'aspetto del tuo Agente AI.
2. **Gestione dei layout**
   1. Comprendi i vantaggi di gestire layout multipli per lo stesso Agente;
   2. Configura ruoli specifici e domande iniziali e o ttimizza l'esperienza per chat o totem.
3. **Codice di incorporazione**
   1. Analizza in dettaglio il codice di embed e i suoi campi;
   2. Confronta l'uso di script vs iframe per l'integrazione.
4. **Modalità di condivisione**
   1. Link: per una condivisione rapida e diretta;
   2. Siti web: integra l'Agente AI nel tuo spazio online;
   3. Blog WordPress: arricchisci i tuoi contenuti con interazioni AI;
   4. Dispositivi fisici e totem: porta l'AI negli spazi pubblici;
   5. Spazi Virtuali (VR e AR): crea esperienze immersive.

Seguendo questa guida, sarai in grado di portare la tua AI conversazionale ovunque desideri, aprendo nuove possibilità di interazione con il tuo pubblico. Preparati a trasformare il modo in cui comunichi con i tuoi utenti e a sfruttare appieno il potenziale del tuo Agente AI!

<br>


# Crea e gestisci i layout di condivisione

AIsuru offre potenti strumenti di personalizzazione attraverso i layout, che ti permettono di adattare l'aspetto e il comportamento del tuo Agente IA a diversi contesti e piattaforme. Questa funzionalità è essenziale per **creare esperienze utente su misura** e migliorare l'efficacia del tuo assistente virtuale.

### Cos'è un layout?

I layout di condivisione sono dei modelli predefiniti che ti permettono di integrare facilmente il tuo Agente in diverse piattaforme o siti web. Sono come **dei template che puoi utilizzare per mostrare il tuo Agente in vari modi**. Ogni layout ha il suo link individuale.

### Creazione di un nuovo layout

Per iniziare a personalizzare l'esperienza del tuo Agente IA:

1. **Accedi alla sezione "Condividimi"** del tuo Agente;
2. Clicca su "**Aggiungi layout**" in alto a destra.

### Configurazione base del layout

#### Informazioni di base

1. Assegna un **nome** al tuo layout;
2. Scegli il **tipo di layout**:
   * FULLPAGE: per esperienze immersive a pagina intera;
   * CHAT: formato compatto per integrazioni in siti web;
   * ZOOMED\_FULL\_BODY: ideale per vedere l'avatar 3d e la chat con l'agente;
   * TOTEM: ottimizzato per dispositivi touchscreen.

{% hint style="info" %}
Sono disponibili anche il layout WEBSITE\_ASSISTANT e HIDDEN CHAT, sono dei formati ad hoc per gli [Agenti incorporati in altri siti web](condividi-i-tuoi-agenti/siti-web-embed.md). Se vuoi selezionare questi tipi di layout, accedi alla [guida avanzata](condivisione-sezione-avanzata/personalizzazione-avanzata-dellinterfaccia-utente.md).
{% endhint %}

#### Anteprima del layout

Durante la configurazione, puoi visualizzare un'**anteprima in tempo reale** di come apparirà il tuo layout nella sezione "Anteprima" sulla destra della schermata. Questa anteprima ti permette di:

* Vedere immediatamente l'aspetto del layout selezionato
* Verificare come si presenta il tuo Agente con le personalizzazioni applicate
* Controllare l'effetto delle modifiche prima di salvare

{% hint style="info" %}
💡 L'anteprima si aggiorna automaticamente quando modifichi le impostazioni del layout, permettendoti di perfezionare l'aspetto del tuo Agente in tempo reale.
{% endhint %}

#### Personalizzazioni estetiche

Tra le varie impostazioni del tuo nuovo layout, puoi:

1. Caricare uno **sfondo personalizzato** (PNG, JPG, JPEG, GIF, massimo 2MB);
2. Applicare un **effetto sfocato** allo sfondo per migliorare la leggibilità;
3. Selezionare il **tema interno** (chiaro o scuro) per l'interfaccia di chat.
4. Configurare il tuo **Avatar**; puoi scegliere se avere:
   1. Un avatar predefinito (_blob_);
   2. Un avatar personalizzato da [ReadyPlayerMe](https://readyplayer.me/);
   3. Un modello 3D custom;
   4. Un'immagine di profilo animata.
5. **Colori**: scegli quali colori devono caratterizzare il tuo Agente (testo e pulsanti) utilizzando l'apposito selettore.

💡 Un avatar personalizzato può rendere il tuo Agente più memorabile. Sfruttalo al meglio!

#### Personalizzare l'interfaccia

È anche possibile personalizzare gli elementi presenti nell'interfaccia con le apposite caselle:

1. **Audio**: puoi attivare o disattivare l'audio del tuo Agente;
2. **Indicatore IA**: se attivo, le risposte generate da IA saranno contrassegnate dall'icona ![](../.gitbook/assets/custom-icon-svg.svg);
3. "**Perché questa risposta?**": se attivo, ogni risposta avrà un pulsante <img src="../.gitbook/assets/question-mark-circle-svg.svg" alt="" data-size="line">, che, se premuto, mostra i contenuti che hanno aiutato AIsuru a rispondere;
4. **Mostra il ragionamento**: se utilizzi un modello con capacità di reasoning puoi decidere di mostrare il ragionamento con l'utente finale durante la conversazione. Per impostazione predefinita, il ragionamento è visibile solo nella scheda "Conversazioni" per chi gestisce l'Agente, poiché può contenere informazioni sensibili o logiche interne;
5. **Condividi**: abilita le opzioni di condivisione direttamente dal widget, permettendo agli utenti di:
   * Condividere l'Agente tramite link diretto;
   * Condividere la conversazione corrente con un link specifico;
   * Utilizzare piattaforme social integrate (Facebook, Twitter, LinkedIn, WhatsApp, Telegram, Email);
   * Generare e scaricare QR code per la condivisione.
6. **Caricamento file**: se attivo, l'utente potrà caricare contenuti durante la conversazione cliccando sull'apposito pulsante. Quando attivato, l'utente può scegliere tra:
   * **Carica documento**: per file testuali (PDF, DOC, TXT) che verranno analizzati dall'Agente
   * **Carica immagine**: per immagini (JPG, PNG, GIF) che verranno analizzate dall'IA per fornire descrizioni o risposte basate sul contenuto visivo

{% hint style="info" %}
**Il caricamento di immagini richiede un modello che supporti la visione artificiale.**
{% endhint %}

#### Multilingua

All'interno del layout è possibile attivare o disattivare il multilingua, la funzionalità di traduzione automatica delle domande e delle risposte.

L'opzione Multilingua è particolarmente importante per:

* **Agenti che utilizzano i contenuti** -> la traduzione automatica permette all'Agente di:
  * Tradurre le domande degli utenti nella lingua dei contenuti, migliorando la ricerca delle risposte pertinenti;
  * Tradurre le risposte nella lingua dell'utente.
* **Amministratori che devono** [**monitorare le conversazioni**](../analisi-ottimizzazione/analisi-e-ottimizzazione-dellagente/conversazioni.md) -> tutte le conversazioni verranno tradotte nella lingua dell'Agente, indipendentemente da quella usata dall'utente.

Il multilingua supporta: italiano, inglese, tedesco, spagnolo, francese, portoghese, ucraino, russo, polacco, finlandese, greco, arabo, cinese e giapponese.

{% hint style="info" %}
**L'IA generativa può rispondere in qualsiasi lingua** anche senza attivare il multilingua.
{% endhint %}

### Configurazione avanzata del layout

Se sei un utente più esperto, puoi applicare delle personalizzazioni molto più importanti ai tuoi layout. Vediamo le ultime tre sezioni 👇

### Codice di embed

Dopo aver configurato il layout, AIsuru genererà automaticamente un [codice di embed](codice-di-embed.md). Troverai questo codice nella sezione "Codice di embed". Usalo per [condividere il tuo Agente in altri siti web](condividi-i-tuoi-agenti/siti-web-embed.md)!

#### Ottimizzazione SEO (per Google, Bing e tutti i motori di ricerca)

In questa sezione puoi personalizzare:

* Titolo della pagina (_title_);
* Descrizione della pagina (_meta description_);
* URL canonico;
* Immagine di anteprima per social media.

Una volta personalizzati questi elementi, **aggiungi il codice alla tua pagina web**.

#### Parametri avanzati

Nei parametri avanzati puoi personalizzare:

* Il **contesto iniziale** -> se configurato, ogni volta che l'utente comincia una chat sarà impostato uno specifico [contesto](../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/contesto-argomenti-ed-etichette.md);
* La **domanda iniziale**: è nascosta all'utente; se impostata, l'utente vedrà la risposta dell'IA come primo messaggio di benvenuto;
* Il [**timeout**](../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/utilizzo-del-timeout.md) (in secondi);
* Il [**Ruolo**](../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/come-attribuire-contenuti-a-ruoli-specifici.md): chiunque accederà al nostro link sarà automaticamente identificato con il ruolo selezionato;
* **Lingua predefinita** e **lingua dell'interfaccia**.

Ti ricordiamo che **tutte le impostazioni applicate finora saranno valide per questo specifico layout**, che avrà un link specifico.

### Gestione dei layout multipli

La gestione di diversi layout per lo stesso Agente permette di:

* Adattare l'esperienza a diversi canali (web, mobile, totem);
* Personalizzare l'interazione per i vari segmenti di utenti;
* Testare diverse configurazioni per ottimizzare l'engagement.

**Layout predefinito (default)**

Puoi impostare un layout come predefinito selezionando l'apposita casella nella tabella dei layout.

**Importante**:

* **Può esserci solo un layout di default per Agente**
* Il layout predefinito viene utilizzato automaticamente in due casi:
  1. Quando qualcuno accede al link principale del tuo Agente senza specificare un layout particolare
  2. **Quando usi il tasto "Prova"** nella barra laterale di gestione dell'Agente

Se non imposti nessun layout come default:

* Il link principale mostrerà una versione base dell'Agente
* Il tasto "Prova" aprirà una chat semplice con l'avatar blob predefinito

{% hint style="info" %}
💡 **Consiglio**\
**I**mposta sempre un layout come default per garantire un'esperienza coerente sia per i test che per gli utenti che accedono al tuo Agente.
{% endhint %}

### Consigli per un utilizzo efficace

* **Sfrutta al massimo la personalizzazione visiva** per creare Agenti coinvolgenti e memorabili;
* **Utilizza diversi layout** per testare quale configurazione funziona meglio per il tuo pubblico;
* **Aggiorna regolarmente i tuoi layout** in base ai feedback degli utenti.

La creazione e gestione attenta dei layout **è fondamentale per offrire un'esperienza IA personalizzata e coinvolgente**. Sperimentare con diverse configurazioni ti aiuterà a trovare la combinazione perfetta per massimizzare l'efficacia del tuo Agente IA: esplora tutte le opzioni disponibili per creare un'esperienza utente davvero unica!


# Codice di embed

Il codice di embed di AIsuru è uno strumento potente che ti permette di integrare facilmente il tuo Agente IA in qualsiasi sito web o applicazione. Con questo codice, puoi portare l'intelligenza del tuo assistente virtuale direttamente ai tuoi utenti, ovunque si trovino.

Per portare il tuo Agente al di fuori della piattaforma devi, innanzitutto, ottenere il tuo codice di embed.

### Ottieni il tuo codice di embed

1. Accedi al pannello di gestione del tuo Agente;
2. Naviga alla scheda "**Condividimi**";
3. [Crea un layout](crea-e-gestisci-i-layout-di-condivisione.md) o premi sul tasto <img src="../.gitbook/assets/edit-icon-svg (2).svg" alt="" data-size="line"> di un layout esistente;
4. Vai alla sezione "Codice di embed" del tuo layout;
5. Copia il codice fornito;
6. Inserisci il codice all'interno della tua pagina web.



# Aggiungi l'Agente al tuo spazio virtuale (VR e AR)

AIsuru ti permette di portare il tuo Agente IA in ambienti di Realtà Virtuale (VR) e Realtà Aumentata (AR), creando **esperienze immersive e interattive**. Questa funzionalità apre nuove possibilità per coinvolgere gli utenti in modi innovativi e memorabili.

Se hai già [creato uno spazio virtuale](../estensioni/spazi-virtuali-vr-e-mr/creazione-di-uno-spazio-virtuale.md), non ti resta che [**aggiungere l'Agente seguendo l'apposita guida**](../estensioni/spazi-virtuali-vr-e-mr/aggiungere-agenti-agli-spazi-virtuali.md) nella sezione dedicata agli [Spazi Virtuali](../estensioni/spazi-virtuali-vr-e-mr/).


# Condividi i tuoi Agenti

Hai creato e personalizzato il tuo assistente virtuale con AIsuru, ed è arrivato il momento di condividerlo con il mondo! In questa sezione, esploreremo le diverse modalità offerte da AIsuru per distribuire e integrare il tuo gemello digitale in vari contesti e piattaforme.

Nei prossimi capitoli, scopriremo come puoi:

1. Condividere il tuo Agente [**tramite link**](link.md);
2. [Condividere una chat](../condividi-una-chat-con-il-tuo-agente.md) con il tuo Agente;
3. Incorporare l'Agente nei [**siti web**](siti-web-embed.md);
4. [Scaricare una pagina HTML](scarica-una-pagina-html-con-il-tuo-agente.md) con il tu Agente;
5. Integrare il tuo Agente con un [**blog WordPress**](integra-lagente-con-il-tuo-blog-wordpress.md);
6. Inserire il tuo Agente all'interno di [**totem dispositivi fisici**](totem.md);
7. Aggiungere il tuo Agente in ambienti di [**Realtà Virtuale (VR) e Realtà Aumentata (AR)**](../vr.md)**;**
8. Integra i tuoi agenti [su WhatsApp Business.](integrazione-con-whatsapp-business.md)

{% hint style="info" %}
**Attenzione al cambio nome**: \
Se modifichi il nome del tuo Agente, i link dei layout attivi smetteranno di funzionare. Dovrai creare e ricondividere i nuovi link. I link privati continueranno a funzionare normalmente.
{% endhint %}

Ogni metodo di condivisione offre vantaggi unici e ti permette di raggiungere il tuo pubblico in modi diversi e coinvolgenti. Seguendo questa guida, sarai in grado di portare la tua IA conversazionale ovunque tu desideri, aprendo nuove possibilità di interazione e coinvolgimento con il tuo pubblico. <br>


# Condividi un link al tuo Agente

**La condivisione del tuo Agente IA tramite link è un modo semplice ed efficace per distribuire il tuo assistente virtuale**. Questa funzionalità ti permette di controllare l'accesso al tuo Agente e personalizzare l'esperienza per diversi gruppi di utenti, aumentando l'engagement e l'efficacia della tua strategia di IA conversazionale.

### Dove trovo il link del mio Agente?

Per trovare i link del tuo Agente devi:

1. Accedere al pannello di gestione del tuo Agente;
2. Navigare alla sezione "**Condividimi**".

In questa sezione troverai due link di accesso al tuo Agente:

* [**Link privato**](#user-content-fn-1)[^1] -> è più sicuro e rimane sempre disponibile;
* [**Link pubblico**](#user-content-fn-2)[^2] ->
  * È più facile da ricordare e condividere;
  * Questo link è visibile e utilizzabile solo quando [l'Agente è visibile in homepage](../sicurezza-visibilita-e-condivisione-in-homepage.md).

**Copia uno di questi link e mandalo subito al tuo primo tester!** Ricorda di inviare anche la password dell'Agente (la trovi sotto al tuo link privato, premi sul tasto <img src="../../.gitbook/assets/copia.svg" alt="" data-size="line"> per copiarla).

💡 Se hai impostato un [layout di default](../crea-e-gestisci-i-layout-di-condivisione.md#gestione-dei-layout-multipli), link privato e link pubblico seguiranno le sue personalizzazioni.

### Come ottengo il link dei layout personalizzati?

Se vuoi ottenere un link ad un layout personalizzato, dai un'occhiata alla tabella sottostante: sotto la colonna "URL" troverai il **pulsante** <img src="../../.gitbook/assets/URL.svg" alt="" data-size="line">. Premici sopra per aprire la pagina e copia il link della nuova pagina per condividerlo con chi vuoi!

<br>

[^1]: Formato: https://www.aisuru.com/it/private/\[ID-AGENTE]/\[ID-UTENTE]

[^2]: Formato: https://www.aisuru.com/it/\[NOME-UTENTE]/\[NOME-AGENTE]


# Incorpora l'Agente sul tuo sito web

Incorporare il tuo Agente IA direttamente nel tuo sito web è un modo eccellente per offrire ai visitatori un'esperienza interattiva e personalizzata. Questa funzionalità ti permette di fornire assistenza immediata 24/7, migliorando l'engagement e la soddisfazione degli utenti.

### Ottieni il tuo codice di embed

1. Accedi al pannello di gestione del tuo Agente;
2. Naviga alla scheda "**Condividimi**";
3. [Crea un layout](../crea-e-gestisci-i-layout-di-condivisione.md) o premi sul tasto <img src="../../.gitbook/assets/edit-icon-svg (2).svg" alt="" data-size="line"> di un layout esistente;
4. Vai alla sezione "Codice di embed" del tuo layout;
5. Copia il codice fornito.

### Incorporare l'Agente nel tuo sito

Segui questi semplici passaggi per aggiungere il tuo Agente IA al tuo sito web:

1. Apri l'editor o il CMS del tuo sito web;
2. **Incolla il codice** nella sezione della pagina dove desideri che appaia l'Agente;
3. Salva e pubblica le modifiche al tuo sito.

**Assicurati di testare l'integrazione in un ambiente privato prima di pubblicarla** sul tuo sito live. In questo modo, avrai tempo di modificare lo stile o cambiarne la posizione.

### Vantaggi dell'integrazione

Incorporando il tuo Agente IA nel tuo sito web, potrai beneficiare di:

* Integrazione diretta sul tuo sito -> i tuoi utenti non dovranno cambiare pagina e potranno interagire con il tuo Agente direttamente dal tuo sito web;
* Personalizzazione avanzata -> crea un layout ad hoc per il tuo sito web con colori personalizzati per offrire un'esperienza omogenea e coinvolgente ai tuoi visitatori.

**Hai una web app?** Il tuo Agente può interagire direttamente con gli elementi della pagina per mettere in evidenza alcune sezioni o eseguire delle vere e proprie azioni al posto dell'utente. Se vuoi saperne di più, vai alla sezione dedicata agli [snippet di codice](../../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md) o leggi la [guida dedicata](../../avanzate/interfacce-web-come-creare-esperienze-interattive.md).


# Scarica una pagina HTML con il tuo Agente

AIsuru offre un modo semplice per implementare il tuo Agente su qualsiasi sito web attraverso il download di un file HTML completo. Questa opzione è particolarmente utile quando desideri una soluzione pronta all'uso senza dover configurare manualmente il codice di embed.

### Come scaricare il file HTML

1. Accedi al pannello di gestione del tuo Agente;
2. Naviga alla sezione "Condividimi";
3. Seleziona o crea un layout adatto alle tue esigenze;
4. Una volta configurato il layout, cerca e clicca sul pulsante "Download HTML";
5. Il file HTML verrà scaricato automaticamente sul tuo dispositivo.

#### Cosa contiene il file HTML

Il file scaricato è un documento HTML completo che include:

* Tutti gli script necessari per il funzionamento dell'Agente;
* I fogli di stile CSS per l'aspetto visivo;
* La configurazione completa del tuo Agente con il layout scelto;
* Personalizzazioni di stile basate sulle tue impostazioni.

#### Come utilizzare il file HTML

Hai diverse opzioni per utilizzare questo file:

* **Caricamento diretto**: carica il file sul tuo server web per creare una pagina dedicata al tuo Agente;
* **Integrazione in iframe**: incorpora la pagina all'interno di un iframe nel tuo sito esistente;
* **Personalizzazione ulteriore**: modifica il codice HTML per adattarlo meglio al tuo sito, aggiungendo elementi o stili aggiuntivi.

Questa soluzione offre un approccio "plug-and-play" per integrare rapidamente il tuo Agente in qualsiasi ambiente web, senza necessità di configurazioni complesse o conoscenze tecniche avanzate.


# Integra l'Agente con il tuo blog WordPress

Il plugin WordPress di AIsuru ti permette di integrare facilmente il tuo Agente IA nel tuo blog, offrendo ai lettori un'esperienza interattiva e personalizzata. Questa guida ti mostrerà come installare il plugin e configurare il tuo Agente per migliorare l'engagement del tuo blog.

### Download e installazione del plugin di WordPress

1. Accedi al pannello di gestione del tuo Agente;
2. Vai alla sezione "**Condividimi**";
3. In alto, seleziona la scheda "**WordPress**";
4. Premi sul tasto "Scarica il plugin".

Ora che l'hai scaricato, vediamo come puoi aggiungerlo al tuo sito WordPress:

1. Accedi al pannello di amministrazione di WordPress;
2. Vai alla sezione "Plugin";
3. Premi su "Aggiungi nuovo" e poi "Carica plugin";
4. Seleziona il file scaricato (memori-wp.zip) e clicca su "Installa ora";
5. Infine, clicca su "Attiva plugin".

### Configurazione del plugin

Nel menu di amministrazione WordPress, troverai una nuova voce principale:

1. Accedi alla sezione "**Memori Configurator**";
2.  **Inserisci i dati richiesti**:

    1. [Memori ID](#user-content-fn-1)[^1] o Memori name: è l'ID o il nome del tuo Agente;
    2. [Owner User ID](#user-content-fn-2)[^2] o Owner User Name -> è l'ID o lo username del tuo account;
    3. Contesto iniziale (facoltativo);
    4. Domanda iniziale (facoltativo): imposta un messaggio di benvenuto che inviti i lettori a interagire con l'Agente;
    5. Tenant id (lascia www.aisuru.com, se invece hai un [abbonamento PaaS](../../paas/) inserisci l'URL del tuo tenant).

    Trovi tutte queste informazioni nella pagina Condividimi > WordPress del tuo Agente.
3. **Configura le altre impostazioni per l'interfaccia utente**:
   1. Multilingua;
   2. Pulsante di condivisione;
   3. Pulsante per ricaricare la pagina;
   4. Pannello impostazioni;
   5. Pulsante per cancellare la chat;
   6. Mostra solo gli ultimi messaggi;
   7. Mostra testo di caricamento.

✅ Perfetto, hai configurato tutto! Adesso dobbiamo solo mostrarlo 👇

### Come si inserisce nel sito?

Per mostrare l'Agente ai tuoi visitatori puoi utilizzare gli **shortcode**:

1. Apri e modifica la pagina o il post dove vuoi inserire l'Agente;
2. Aggiungi lo shortcode: \[memori id="WP\_AGENT\_ID"];
3. Sostituisci "WP\_AGENT\_ID" con l'ID effettivo del tuo Agente.

[^1]: Lo trovi nel pannello di gestione del tuo Twin, alla sezione Dev docs ("Memori (Twin) ID")

[^2]: Lo trovi nel pannello di gestione del tuo Twin, alla sezione Dev docs, dopo aver premuto su "Altri riferimenti" ("ID Utente proprietario")


# Inserisci l'Agente all'interno di totem e dispositivi fisici

AIsuru ti permette di portare il tuo Agente IA nel mondo reale attraverso l'integrazione su dispositivi fisici e totem. Questa funzionalità crea punti di contatto interattivi e coinvolgenti con il tuo pubblico in spazi pubblici ed eventi, offrendo un'esperienza unica e memorabile.

### Preparazione dell'Agente

Preparare il tuo Agente ad un evento pubblico è molto semplice. Dovrai:

1. [**Personalizzare esteticamente l'Agente**](../crea-e-gestisci-i-layout-di-condivisione.md#personalizzazioni-estetiche): scegliendo un avatar accattivante, colori e immagini in linea con il tuo stile comunicativo;
2. **Creare un layout apposito per l'utilizzo su un dispositivo fisico**:
   1. Accedi al pannello di gestione del tuo Agente;
   2. Naviga alla scheda "Condividimi";
   3. [Crea un layout](../crea-e-gestisci-i-layout-di-condivisione.md) o premi sul tasto <img src="../../.gitbook/assets/edit-icon-svg (2).svg" alt="" data-size="line"> di un layout esistente;
   4. Seleziona "TOTEM" come tipo di layout per migliorare l'interazione con gli schermi touch;
   5. Attiva il multilingua se ti aspetti un pubblico internazionale, puoi dare loro la possibilità di conversare in lingue diverse.

### Inserisci l'Agente nel tuo totem

Una volta fatto ciò, puoi:

* [**Utilizzare il link del layout come pagina web**](link.md) da mostrare sul tuo totem;
* [**Integrare l'Agente all'interno di una pagina web**](siti-web-embed.md) esistente che mostrerai sul tuo totem.

A seconda delle tue preferenze, segui una o l'altra guida. Assicurati che il dispositivo abbia una connessione internet stabile per garantire un funzionamento ottimale dell'Agente IA. 🌐

### Casi d'uso

Il tuo Agente IA può essere utilizzato con un totem in vari contesti:

* Fiere ed eventi: per fornire informazioni interattive ai visitatori;
* Musei: come guida virtuale personalizzata;
* Negozi: per assistenza nella ricerca prodotti;
* Ambienti aziendali: come receptionist virtuale.

Integrando il tuo Agente IA su dispositivi fisici e totem, **creerai punti di contatto innovativi e interattivi** con il tuo pubblico. Sperimenta questa funzionalità per offrire esperienze uniche e memorabili! 🤖✨


# Integrazione con WhatsApp Business

L'integrazione del tuo Agente con WhatsApp Business ti permette di offrire supporto automatizzato direttamente sulla piattaforma di messaggistica più utilizzata al mondo. Questa funzionalità è particolarmente utile per aziende che vogliono automatizzare il customer service o fornire assistenza 24/7 ai propri clienti.

### Come funziona l'integrazione

Per integrare un Agente AIsuru con WhatsApp Business è necessario passare attraverso un **WhatsApp Business Service Provider** autorizzato da Meta. Questi partner forniscono l'accesso alle API ufficiali di WhatsApp e gestiscono l'infrastruttura tecnica necessaria.

#### Processo di integrazione

1. **Scegli un partner WhatsApp Business**: seleziona un provider autorizzato che supporti integrazioni con IA esterne;
2. **Configura l'integrazione**: il partner si occuperà di collegare il tuo account WhatsApp Business alle loro API;
3. **Collega il tuo Agente**: una volta configurata la base, potrai integrare il tuo Agente AIsuru attraverso le API del partner.

### Partner consigliati

Alcuni dei provider più affidabili nel settore includono:

* [**Respond.io**](https://respond.io/): partner ufficiale WhatsApp con esperienza consolidata
* **Vonage**: provider con soluzioni complete per comunicazioni business
* Altri partner certificati Meta disponibili nella directory ufficiale

{% hint style="info" %}
💡 Contatta direttamente il partner scelto per una quotazione personalizzata, poiché ogni provider ha i propri prezzi e modalità di integrazione.
{% endhint %}

### Modello di costi

WhatsApp Business utilizza un **modello di pricing basato sulle conversazioni,** facciamo un esempio stimando circa €0,0572 per conversazione.\
\
**Cosa conta come conversazione?**\
Ogni messaggio inviato o ricevuto viene conteggiato separatamente.

#### Esempio pratico

Per una semplice prenotazione al ristorante:

* Cliente: "Vorrei prenotare un tavolo"
* Agente: "Per quante persone e quando?"
* Cliente: "2 persone alle 20:30"
* Agente: "Perfetto, prenotazione confermata"

**Costo totale**: 4 messaggi × €0,0572 = €0,23

### Considerazioni importanti

#### Sfide

* **Costi**: il pricing per conversazione può accumularsi rapidamente con volumi elevati
* **Dipendenza dal partner**: tutto il progetto dipende dai tempi e costi del provider scelto
* **Complessità tecnica**: richiede configurazioni specifiche che variano per ogni partner

### Come procedere

1. **Valuta la fattibilità economica**: calcola il volume di messaggi previsto e i costi associati
2. **Contatta un partner WhatsApp**: richiedi una quotazione dettagliata per l'integrazione
3. **Pianifica l'implementazione**: definisci tempi e modalità con il partner scelto
4. **Configura il tuo Agente**: prepara il tuo Agente AIsuru per l'integrazione

⚠️ **Nota importante**: ogni partner ha procedure, costi e tempi diversi. È essenziale ottenere informazioni specifiche dal provider scelto prima di procedere con il progetto.

### Supporto

Per ulteriori informazioni sull'integrazione WhatsApp Business o per discutere il tuo caso specifico, contatta il nostro team di AIsuru attraverso Manuela.


# Sicurezza, visibilità e condivisione in homepage

AIsuru ti offre diversi livelli di controllo per gestire chi può accedere e utilizzare i tuoi Agenti. Questa sezione ti guiderà attraverso le opzioni di sicurezza, visibilità e condivisione disponibili.

### Livelli di sicurezza

AIsuru offre tre livelli di sicurezza per proteggere i tuoi Agenti:

#### 1. Pubblico

* **Accesso**: chiunque può utilizzare l'Agente senza alcuna password
* **Visibilità**: può essere mostrato in homepage se desiderato
* **Ideale per**: Agenti dimostrativi, contenuti pubblici, assistenti di supporto generale

#### 2. Privato

* **Accesso**: richiede una password per utilizzare l'Agente
* **Password**: impostata durante la creazione e modificabile nelle impostazioni
* **Visibilità**: può essere mostrato in homepage, ma sarà sempre richiesta la password per l'utilizzo
* **Ideale per**: contenuti riservati a un gruppo specifico, informazioni aziendali interne

### Controllo accessi avanzato

#### Accessibile solo ad utenti autenticati

Oltre ai livelli di sicurezza base, puoi attivare l'opzione "Accessibile solo ad utenti autenticati" nelle impostazioni generali dell'Agente.

**Come funziona**

Quando attivi questa opzione:

* **Utenti non registrati**: vedranno un pulsante "LOGIN" invece del normale pulsante di avvio conversazione
* **Applicazione universale**: la restrizione si applica a tutti i metodi di accesso (layout, API, integrazioni web, Gruppi di esperti)
* **Autenticazione obbligatoria**: gli utenti devono effettuare il login per iniziare qualsiasi interazione

**Casi d'uso aziendali**

**Protezione di informazioni sensibili**

* Agenti che gestiscono dati riservati dell'azienda
* Assistenti HR con accesso a informazioni sui dipendenti
* Sistemi di supporto interno con procedure confidenziali

**Controllo dell'accesso ai servizi**

* Agenti dedicati ai clienti premium o abbonati
* Servizi di consulenza riservati ai clienti registrati
* Strumenti di formazione aziendale per dipendenti specifici

{% hint style="info" %}
**Nota**\
**Q**uesta opzione è diversa dalla visibilità "Privata". Mentre la visibilità controlla chi può _vedere_ l'Agente, l'autenticazione obbligatoria controlla chi può _utilizzarlo_, indipendentemente dalla visibilità.
{% endhint %}

### Visibilità in homepage

#### Cos'è e a cosa serve

L'opzione "Mostra in homepage" permette di rendere visibile il tuo Agente direttamente sulla homepage della piattaforma AIsuru (sia su [aisuru.com](https://www.aisuru.com) che sulla tua PaaS).

**Vantaggi della visibilità in homepage:**

* **Maggiore visibilità**: il tuo Agente sarà facilmente scopribile
* **Accessibilità**: i visitatori possono trovare e usare il tuo Agente senza conoscerne il link
* **Promozione**: utile per far conoscere il tuo Agente a un pubblico più ampio

#### Come gestire la visibilità in homepage

1. Accedi al pannello di gestione dell'Agente
2. Vai alla sezione "**Condividimi**"
3. Sotto al tuo link personale troverai l'opzione "Mostra in homepage"
4. Clicca su "Visibile" o "Non visibile" per modificare l'impostazione

#### Sicurezza e visibilità in homepage

🔐 **L'attivazione della visibilità in homepage non compromette la sicurezza**: se hai impostato una password per il tuo Agente, questa sarà sempre richiesta, anche se l'Agente è visibile in homepage.

### Combinazione delle opzioni di sicurezza

Puoi combinare diverse opzioni per ottenere il livello di controllo desiderato:

#### Esempi di configurazioni

**Agente aziendale interno**

* Livello: Privato
* Accessibile solo ad utenti autenticati: ✓
* Mostra in homepage: ✗

**Servizio clienti pubblico**

* Livello: Pubblico
* Accessibile solo ad utenti autenticati: ✗
* Mostra in homepage: ✓

**Consulenza per clienti registrati**

* Livello: Pubblico
* Accessibile solo ad utenti autenticati: ✓
* Mostra in homepage: ✓

### Suggerimenti per la gestione della sicurezza

1. **Durante lo sviluppo**: mantieni l'Agente privato e non visibile in homepage fino al completamento
2. **Per test interni**: usa l'opzione "Accessibile solo ad utenti autenticati" per limitare l'accesso al team
3. **Per servizi pubblici**: bilancia accessibilità e sicurezza in base alle tue esigenze

La corretta configurazione di sicurezza e visibilità è fondamentale per proteggere i tuoi contenuti e offrire la migliore esperienza possibile ai tuoi utenti. Valuta attentamente le tue esigenze e configura le opzioni di conseguenza.


# Condivisione: sezione avanzata

Queste sezioni sono le più avanzate. Non te la senti? Passa direttamente alla sezione [consumi e analytics](../../analisi-ottimizzazione/).


# Domanda iniziale

La funzionalità "Domanda iniziale" di AIsuru permette di configurare un'istruzione o una domanda nascosta che viene inviata automaticamente all'Agente IA all'inizio di ogni nuova conversazione. Questa potente caratteristica consente di personalizzare l'apertura di ogni interazione, stabilendo un contesto specifico o fornendo informazioni importanti fin dall'inizio.

#### Configurazione della domanda iniziale <a href="#configurazione-della-domanda-iniziale" id="configurazione-della-domanda-iniziale"></a>

Per impostare la domanda iniziale, segui questi semplici passaggi:

1. Accedi al pannello di gestione dell'Agente;
2. Naviga alla sezione <img src="../../.gitbook/assets/appstore-add-icon-clean.svg" alt="" data-size="line"> **Condividimi**;
3. Clicca su <img src="../../.gitbook/assets/appstore-add-icon-clean.svg" alt="" data-size="line"> **Aggiungi layout**;
4. Nelle impostazioni avanzate, trova "Parametri avanzati del widget";
5. Localizza il campo "Domanda iniziale" ed inserisci l'istruzione o la domanda desiderata;
6. Premi su "Salva le modifiche" in basso a destra.

Troverai il campo "Domanda iniziale" all'interno dei "Parametri avanzati del widget". Assicurati di espandere questa sezione se non è immediatamente visibile.

#### Come funziona <a href="#come-funziona" id="come-funziona"></a>

La domanda iniziale opera in modo discreto ma efficace:

* L'istruzione viene inviata all'Agente IA all'avvio di ogni nuova conversazione;
* L'utente non vede questa istruzione nella chat;
* Il primo messaggio visibile nella chat sarà la risposta dell'IA a questa istruzione.

#### Configurazione avanzata <a href="#configurazione-avanzata" id="configurazione-avanzata"></a>

Sfrutta al massimo questa funzionalità con queste opzioni avanzate:

1. **Istruzioni personalizzate**:
   * Usa formule come "Saluta l'utente e digli \[informazione specifica]";
   * Esempio: "Saluta l'utente e digli i ristoranti aperti oggi".
2. **Associazione con contenuti**:
   * Associa un contenuto specifico a una parola chiave;
   * Esempio: Imposta "Iniziamo!" come domanda iniziale e collegala a un contenuto predefinito;
   * Quando l'IA riceve "Iniziamo!", risponderà con il contenuto associato.
3. **Integrazione con altre funzionalità**:
   * Combina la domanda iniziale con contenuti predefiniti o risposte automatiche per un'esperienza utente ancora più ricca.

🚀 Suggerimento: Sperimenta con diverse istruzioni per trovare l'approccio migliore per i tuoi utenti!

#### Esempi pratici <a href="#esempi-pratici" id="esempi-pratici"></a>

Ecco alcune idee per utilizzare efficacemente la domanda iniziale:

* "Saluta l'utente e presenta brevemente le tue principali funzionalità";
* "Iniziamo!" (associato a un contenuto di benvenuto personalizzato);
* "Informa l'utente sugli ultimi aggiornamenti del sistema e chiedi se ha bisogno di assistenza".

#### Considerazioni importanti <a href="#considerazioni-importanti" id="considerazioni-importanti"></a>

Per ottenere i migliori risultati:

* Assicurati che l'istruzione sia chiara e porti a una risposta appropriata come primo messaggio visibile;
* Utilizza questa funzione per stabilire un tono specifico o fornire informazioni cruciali all'inizio di ogni conversazione;
* Ricorda che l'utente non vedrà l'istruzione, quindi la risposta dell'IA dovrebbe essere contestualmente appropriata.

La funzionalità "Domanda iniziale" di AIsuru offre un modo potente e flessibile per personalizzare l'esperienza dei tuoi utenti fin dal primo istante. Sperimentando con diverse istruzioni e contenuti, potrai creare interazioni più coinvolgenti e informative. Non esitare a provare diverse configurazioni per trovare quella che funziona meglio per il tuo caso d'uso specifico!


# Personalizzazione avanzata dell'interfaccia utente

{% hint style="danger" %}
Questa sezione è riservata agli utenti più esperti della piattaforma.
{% endhint %}

L'interfaccia utente del tuo Agente AIsuru è altamente personalizzabile e ti permette di creare un'esperienza su misura per i tuoi utenti.

### Accesso alle opzioni di personalizzazione

Per iniziare a personalizzare l'interfaccia del tuo Agente, segui questi semplici passaggi:

1. Accedi alla piattaforma;
2. Seleziona l'Agente desiderato;
3. Clicca su "Condividimi" nel menu laterale;
4. Individua l'icona <img src="../../.gitbook/assets/code-icon-svg.svg" alt="" data-size="line"> nei layout creati e cliccaci sopra per aprire il menu di configurazione del widget.

### Configurazione del layout

In questa sezione, puoi definire l'aspetto generale del tuo Agente:

*   **Layout**: scegli tra diverse opzioni disponibili:

    1. **TOTEM**: Un layout specializzato che richiede configurazioni specifiche per posizionamento messaggi e altri elementi, ideale per installazioni fisiche interattive;
    2. **FULLPAGE**: Occupa l'intera pagina web per un'esperienza immersiva dell'utente;
    3. **CHAT**: Un'interfaccia classica in stile chat per interazioni testuali;
    4. **WEBSITE\_ASSISTANT**: Si presenta come un'icona cliccabile in basso a destra del sito, ideale per assistenza web discreta;
    5. **HIDDEN\_CHAT**: Una chat laterale che rimane nascosta fino all'attivazione, progettata per non sovrapporsi con il contenuto principale del sito;
    6. **ZOOMED\_FULL\_BODY**: Questo layout mostra l'avatar a schermo intero ed è particolarmente efficace su dispositivi mobili, offrendo un'esperienza simile al TOTEM ma senza richiedere configurazioni complesse di posizionamento.

    Nota: **WEBSITE\_ASSISTANT e HIDDEN\_CHAT** sono dei layout disponibili solo attraverso l'icona <img src="../../.gitbook/assets/code-icon-svg.svg" alt="" data-size="line">.
* **Multilingue**: attiva questa opzione per permettere agli utenti di interagire con l'Agente in diverse lingue 🌍;
* **Contesto iniziale**: imposta il contesto di partenza della conversazione;
* **Domanda iniziale**: definisci la prima domanda che l'Agente porrà all'utente;
* **Persona**: seleziona il ruolo che l'utente impersonerà all'inizio dell'interazione.

### Personalizzazione della toolbar

Puoi scegliere quali elementi mostrare nella toolbar del widget:

* Mostra Login;
* **Mostra Condividi**: abilita il pulsante di condivisione che permette agli utenti di:
  * Condividere il link dell'Agente su diverse piattaforme social (Facebook, Twitter, LinkedIn, WhatsApp, Telegram);
  * **Condividere la chat corrente** con un link specifico alla conversazione in corso;
  * Inviare il link tramite email o copiarlo negli appunti;
  * Scaricare un QR code per la condivisione rapida.
* Abilita audio;
* Mostra Impostazioni.

### Configurazione delle azioni chat

Personalizza le azioni disponibili durante la conversazione:

* Mostra il tasto cancella chat;
* Mostra solo ultimi messaggi;
* Mostra testo di caricamento;
* Mostra copia messaggio;
* Mostra testo traduzione originale.

### Impostazioni linguistiche

Definisci le preferenze linguistiche per il tuo Agente:

* **Lingua predefinita**: Imposta la lingua con cui l'Agente comunicherà (default: Italiano);
* **Lingua dell'interfaccia**: Scegli la lingua per l'interfaccia utente (default: IT).

### Codice di embed e anteprima

Dopo aver configurato tutte le opzioni, potrai visualizzare e copiare il codice di embed generato. Questo codice ti permetterà di integrare facilmente l'Agente nel tuo sito web o applicazione.

Se il tuo Agente è impostato come privato, agli utenti sarà sempre richiesta la password di accesso. Trovi la password nella sezione Condividimi (sotto il link privato) e nelle Impostazioni dell'Agente.

### Suggerimento tecnico

Per evitare lo zoom automatico su input touch, aggiungi questo meta tag nel `<head>` della tua pagina:

```html
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
```

La personalizzazione avanzata dell'interfaccia utente ti permette di creare un'esperienza unica e su misura per i tuoi utenti. Sfrutta queste opzioni per adattare il tuo Agente AIsuru alle esigenze specifiche del tuo progetto, migliorando l'engagement e l'efficacia della tua soluzione IA. 🚀


# Analisi del codice di embed

{% hint style="danger" %}
Questa sezione è riservata agli utenti più esperti (come sviluppatori web e non solo).
{% endhint %}

In questa sezione, analizzeremo il [codice di embed](../codice-di-embed.md) degli Agenti di AIsuru. Innanzitutto, il codice di embed non è un \<iframe>: l'Agente potrà interagire con altri elementi ed [eseguire azioni all'interno della pagina](../../avanzate/interfacce-web-come-creare-esperienze-interattive.md).

### Vantaggi dello script di AIsuru rispetto un iframe

AIsuru si integra nei siti web usando i Web Components invece che un iframe, offrendo così:

* **Flessibilità**: lo script può interagire direttamente con gli elementi della pagina ospitante;
* **Interattività**: può accedere e manipolare il DOM della pagina;
* **Iniezione di codice dinamico**: permette di aggiungere funzionalità in tempo reale;
* **Accesso ai contenuti della pagina**: può fornire risposte contestualizzate basate sul contenuto del sito;
* **Personalizzazione avanzata**: offre maggiori possibilità di adattare l'esperienza utente.

### Struttura del codice

Qui sotto trovi un esempio di un codice di embed di un Agente di AIsuru 👇

```html
<script type="module" src="https://esm.run/@memori.ai/memori-webcomponent/dist/memori-webcomponent.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@memori.ai/memori-react/dist/styles.min.css" />

<memori-client
  memoriName="Nome_Agente"
  ownerUserName="TuoUsername"
  memoriID="ID-dell-Agente"
  ownerUserID="ID-Utente-Proprietario"
  tenantID="www.aisuru.com"
  apiURL="https://backend.memori.ai/api/v2"
  engineURL="https://engine.memori.ai/memori/v2"
  baseURL="https://www.aisuru.com"
  uiLang="IT"
  spokenLang="IT"
  layout="FULLPAGE"
  multilingual="true"
  showShare="true"
  tag="👉"
  pin="123456"
  integrationID="ID-Integrazione"
  context="OGGETTO:TELEFONO"
  initialQuestion="Ciao, come posso aiutarti?"
/>
```

### Definizione dei campi del codice di embed

Il codice di incorporazione contiene diversi attributi che puoi modificare per personalizzare il comportamento del tuo Agente:

* `memoriName`: il nome del tuo Agente;
* `ownerUserName`: il nome utente del creatore su AIsuru;
* `memoriID`: l'identificativo unico del tuo Agente;
* `ownerUserID`: l'identificativo unico del tuo account AIsuru;
* `tenantID`: l'URL del tenant AIsuru ([www.aisuru.com](http://www.aisuru.com) o l'indirizzo della tua [PaaS](../../paas/));
* `apiURL`: l'URL dell'API di AIsuru;
* `engineURL`: l'URL del motore di AIsuru;
* `baseURL`: l'URL base di AIsuru;
* `uiLang`: la lingua dell'interfaccia utente (es. "EN" per l'inglese);
* `spokenLang`: la lingua parlata dall'Agente (es. "IT" per italiano);
* `layout`: il tipo di layout dell'interfaccia (es. "FULLPAGE" per pagina intera);
* `multilingual`: abilita o disabilita il supporto multilingua;
* `showShare`: mostra o nasconde l'opzione di condivisione chat e agente;
* `integrationID`: l'identificativo dell'integrazione;
* `tag` e `pin`: tag e pin della [Persona](../../avanzate/gestione-utenti-persone/creazione-e-gestione-dei-ruoli.md) a cui il layout viene assegnato; chiunque interroghi l'Agente da questo widget avrà accesso ai contenuti e alle personalizzazioni della "persona" indicata;
* `context`: il contesto iniziale;
* `initialQuestion`: la domanda iniziale che l'Agente porrà all'utente.

**Importante: Parametri disponibili**

I parametri elencati sopra sono **gli unici parametri ufficialmente supportati** dal codice di embed di AIsuru. Non esistono altri parametri configurabili direttamente tramite gli attributi del tag `<memori-client>`.

Qualsiasi **personalizzazione estetica avanzata** (colori, dimensioni, posizionamento, nascondere elementi specifici) o **funzionalità aggiuntive** deve essere implementata attraverso:

* **CSS personalizzato** applicato alla tua pagina web;
* **Script JavaScript** per interazioni avanzate;
* **Snippet di codice** configurati nell'Agente ([vedi sezione dedicata](../../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md)).

### Personalizzazione avanzata

Per adattare ulteriormente l'Agente alle esigenze del tuo sito con snippet di codice o con del codice CSS personalizzato nella tua pagina web

* [**Snippet di codice (CSS e Javascript)**](../../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md) -> attivando lo stile (e scatenando eventi) al ricevimento di un messaggio specifico dell'utente, potrai sfruttare gli snippet di codice per creare interazioni avanzate con l'intera pagina web.
* **Della tua pagina web** -> il tuo stile sarà applicato alla pagina fin da subito, senza dover aspettare che l'utente inizi una conversazione o faccia domande specifiche.

La personalizzazione può interessare diversi elementi dell'interfaccia. Ad esempio, potresti modificare lo stile delle chat:

* **Risposte dell'Agente** (in generale)

```css
.memori-chat--bubble.memori-chat--with-addon {
  color: #000; /* per modificare il colore del testo */
  background-color: #f0f0f0; /* per modificare il colore dello sfondo */
}
```

* **Risposte dell'Agente generate da AI**

```css
.memori-chat--ai-generated {
  color: #000; /* per modificare il colore del testo */
  background-color: #f0f0f0; /* per modificare il colore dello sfondo */
}
```

* **Richieste dell'utente**

```css
.memori-chat--bubble.memori-chat--user-bubble {
  color: #000; /* per modificare il colore del testo */
  background-color: #f0f0f0; /* per modificare il colore dello sfondo */
}
```

Aggiungendo del codice CSS alla tua pagina web sarai anche in grado di **nascondere specifici elementi**: ti basterà identificare la classe o il tag HTML e applicare il codice CSS. Ad esempio, per nascondere l'immagine all'interno del blob puoi utilizzare:

```css
.memori-button .memori-blob figure {
    opacity: 0;
}
```

Per applicare queste personalizzazioni, aggiungi un tag `<style>` nella tua pagina HTML o includila nel tuo file CSS esistente.

{% hint style="info" %}
È fondamentale **ispezionare l'HTML generato** dal tuo Agente per identificare correttamente **le classi e gli elementi** che desideri modificare.
{% endhint %}

Attraverso queste personalizzazioni mirate e il codice di embed di AIsuru, puoi adattare l'aspetto dell'Agente AI e portare la sua intelligenza ovunque i tuoi utenti si trovino online, integrandolo perfettamente con il design del tuo sito web e creando esperienze interattive uniche che migliorano l'engagement dei visitatori, garantendo un'esperienza utente coerente e professionale. 💡🚀


# Modificare il nome dell'Agente

## Modificare il nome dell'Agente

Cambiare il nome del tuo Agente è semplice, ma ha alcune conseguenze. Qui trovi tutto quello che devi sapere.

### Come modificare il nome

1. Accedi alle **Impostazioni** del tuo Agente
2. Nella sezione [**Generali**](../../primi-passi/creazione-del-primo-agente/come-creare-un-agente.md#sezione-generali), modifica il campo "Nome"
3. Clicca su "Salva le modifiche"
4. Apparirà un popup con questa domanda:

> "Vuoi aggiornare anche il nome mostrato agli utenti? Il nome che hai inserito sarà visibile solo nella dashboard. Premi Aggiorna per modificare anche il nome che gli utenti vedranno nelle conversazioni."

* **Aggiorna**: cambia il nome ovunque (dashboard + messaggio di benvenuto)
* **Annulla**: cambia il nome solo nella dashboard

### Cosa succede quando cambi nome

#### ✅ Cosa viene aggiornato

* Il nome nella dashboard e nelle liste
* Il nome nel messaggio di benvenuto (se scegli "Aggiorna")
* L'URL pubblico dell'Agente

#### ⚠️ Cosa smette di funzionare

**I link dei layout di condivisione non funzioneranno più!**

Se hai creato dei layout personalizzati e condiviso i loro link, questi smetteranno di funzionare dopo il cambio nome.

### Cosa fare dopo il cambio nome

1. Vai su **Condividimi** > **Layout**
2. Per ogni layout, copia il nuovo link
3. Aggiorna tutti i posti dove avevi condiviso i vecchi link (es. sul tuo sito web, nei documenti, nelle email inviate, sui social media)


# Cronologia e ripresa di chat

La **Cronologia Chat** è una funzionalità fondamentale sempre disponibile in tutti i widget AIsuru che permette agli utenti di accedere, gestire e riprendere tutte le loro conversazioni passate con il tuo Agente. Questa caratteristica trasforma l'interazione da singoli scambi isolati a un'esperienza conversazionale continua e persistente.

### Come accedere alla cronologia

In ogni widget AIsuru gli utenti possono facilmente accedere alla loro cronologia personale:

1. **Individuare l'icona chat** nella toolbar del widget;
2. **Cliccare sull'icona** per aprire la pagina dedicata alla cronologia;
3. **Visualizzare immediatamente** tutte le loro conversazioni passate con l'Agente.

💡 **Nota importante**: La cronologia è sempre disponibile, anche nelle modalità "Prova" dell'Agente, senza necessità di configurazioni aggiuntive da parte del creatore dell'Agente.

### Interfaccia della cronologia chat

#### Intestazione e controlli principali

La pagina della cronologia presenta un'interfaccia pulita e funzionale:

* **Cronologia chat**: titolo principale della sezione per orientare l'utente;
* **Scarica chat**: pulsante per scaricare in formato .txt la conversazione attualmente visualizzata;
* **Filtri:**
  * &#x20;**Filtro temporale:** per organizzare e cercare tramite la data della conversazione: "Tutti", "Oggi", "Ieri", "Ultimi 7 giorni" e "Ultimi 30 giorni";
  * **Filtro messaggi minimi:** per organizzare le chat con un numero di messaggi minimi: "Qualunque", "2", "3", "5", "10", "15", "20" e custom.

#### Visualizzazione delle conversazioni

Ogni conversazione nell'elenco è presentata in modo chiaro e informativo:

**Titolo automatico intelligente**

* **Generazione automatica**: il titolo viene creato automaticamente dal primo messaggio dell'utente;
* **Troncamento intelligente**: se il messaggio è troppo lungo, viene tagliato con "..." mantenendo la leggibilità;
* **Riconoscimento immediato**: permette agli utenti di identificare rapidamente le conversazioni.

**Timestamp preciso**

* **Data e ora complete**: ogni conversazione mostra quando è iniziata (es. "21 Gen 2025, 15:34");
* **Numero di messaggi e media:** indica il numero di messaggi e media scambiati;
* **Ordinamento cronologico**: le conversazioni sono ordinate dalla più recente alla più vecchia;
* **Riferimento temporale**: aiuta gli utenti a contestualizzare le loro interazioni.

### Ripresa delle conversazioni

#### Visualizzazione completa

Cliccando su qualsiasi conversazione nell'elenco:

* **Vista dettagliata**: si apre la conversazione completa con tutti i messaggi scambiati;
* **Contesto preservato**: tutti i dati della sessione vengono mantenuti;
* **Interfaccia familiare**: la conversazione appare nello stesso formato del widget originale.

#### Funzionalità di continuazione

La vera potenza della cronologia si manifesta nella capacità di ripresa:

* **Pulsante "RIPRENDI"**: prominente e facilmente accessibile;
* **Continuità seamless**: cliccando "RIPRENDI", l'utente torna esattamente dove aveva lasciato;
* **Mantenimento del contesto**: l'Agente ricorda tutto il contesto della conversazione precedente;
* **Ripristino dell'ambiente**: la chat riprende nel widget/layout originale con tutte le configurazioni.

### Vantaggi strategici

#### Per gli utenti finali

* **Eliminazione della frustrazione**: non più perdita di informazioni importanti;
* **Continuità dell'esperienza**: conversazioni che si sviluppano nel tempo;
* **Riferimento storico**: possibilità di rivedere consigli e informazioni ricevute;
* **Flessibilità temporale**: libertà di interrompere e riprendere quando conveniente.

#### Per i creatori di Agenti

* **Engagement aumentato**: gli utenti sono più propensi a tornare;
* **Conversazioni più profonde**: possibilità di sviluppare relazioni durature;
* **Riduzione del lavoro ripetitivo**: l'Agente non deve ripartire da zero;
* **Migliore comprensione degli utenti**: storico delle interazioni per ottimizzazioni.

### Aspetti tecnici e privacy

#### Gestione dei dati

* **Isolamento utente**: ogni utente vede esclusivamente le proprie conversazioni;
* **Persistenza garantita**: le conversazioni rimangono disponibili anche dopo chiusura del browser;
* **Identificazione sicura**: sistema di associazione basato sull'account utente;
* **Gestione automatica**: nessun intervento richiesto dal creatore dell'Agente.

#### Integrazione con sessionID

La cronologia chat è strettamente legata al sistema di gestione delle sessioni di AIsuru:

* **SessionID univoci**: ogni conversazione ha un identificativo unico;
* **Ripristino tecnico**: quando si riprende una chat, viene ripristinato il sessionID originale;
* **Compatibilità API**: funziona perfettamente con le integrazioni avanzate.

### Best Practices

#### Per massimizzare l'efficacia

1. **Concludi con aperture**: termina le conversazioni con domande o suggerimenti per il futuro;
2. **Riferimenti temporali**: configura l'Agente per fare riferimento a conversazioni passate quando appropriato;
3. **Progressione logica**: struttura i contenuti per creare percorsi conversazionali che si sviluppano nel tempo;
4. **Testing continuativo**: testa regolarmente l'esperienza di ripresa per assicurarti che funzioni fluidamente.

#### Considerazioni UX

* **Onboarding**: spiega agli utenti come accedere alla cronologia durante le prime interazioni;
* **Promemoria**: ricorda periodicamente la disponibilità di questa funzionalità;
* **Feedback**: raccogli feedback degli utenti sull'utilità della cronologia per ottimizzare l'esperienza.

La cronologia e ripresa di chat rappresenta un salto qualitativo nell'esperienza utente con gli Agenti AIsuru, trasformando interazioni sporadiche in relazioni durature e produttive. Sfruttala al massimo per creare esperienze conversazionali che crescono e migliorano nel tempo! 🚀


# Condividi una chat con il tuo Agente

La funzionalità di **condivisione delle chat** di AIsuru ti permette di condividere conversazioni specifiche in corso, permettendo ad altri utenti di visualizzare e leggere la discussione esatta che hai avuto con il tuo Agente.

#### Come funziona la condivisione chat

A differenza della condivisione standard dell'Agente, la **condivisione della chat** crea un link specifico alla conversazione corrente, mantenendo tutto lo storico dei messaggi e il contesto della discussione.

**Differenze principali**:

* **Condivisione Agente**: link diretto all'Agente che avvia una nuova conversazione;
* **Condivisione Chat**: link specifico alla conversazione in corso con tutto lo storico.

#### Accesso alla condivisione chat

La funzionalità è disponibile tramite il **pulsante Condividi** presente nell'interfaccia del widget dell'Agente.

⚠️ **Importante**: Il pulsante condivisione **non è disponibile nella modalità "Prova"**, neanche se è stato impostato un layout come predefinito.

#### Opzioni di condivisione disponibili

Quando clicchi sul pulsante Condividi, si apre un pannello con le seguenti opzioni:

* **Condividi chat**: genera un link specifico alla conversazione corrente, chi riceve il link potrà leggere la chat;
* **Copia negli appunti**: copia rapidamente il link all'Agente per condividerlo manualmente;
* **Condivisione dell'Agente per social network integrati**:
  * Facebook;
  * Twitter;
  * LinkedIn;
  * WhatsApp;
  * Telegram.
* **Email**: apre il client di posta con il link pre-compilato;
* **QR Code**: genera un codice QR per la condivisione rapida dell'Agente;
* **Download**: permette di scaricare il QR code come png.

#### Utilizzo pratico

La condivisione delle chat è particolarmente utile per:

* **Collaborazione**: condividere una discussione specifica con colleghi o collaboratori
* **Supporto tecnico**: permettere ad un esperto di vedere esattamente il problema discusso
* **Formazione**: condividere esempi di conversazioni efficaci con l'Agente
* **Documentazione**: salvare e condividere interazioni importanti per riferimento futuro



💡 **Suggerimento**: Utilizza la condivisione delle chat per creare una libreria di conversazioni tipo che possono servire come esempi o template per altri utenti.<br>


# 5. Funzionalità avanzate

Le funzionalità avanzate di AIsuru ti permettono di portare il tuo Agente a un livello superiore, offrendo strumenti potenti per personalizzazione, sicurezza e integrazione. Queste caratteristiche sono progettate per soddisfare le necessità degli utenti più esigenti e delle implementazioni più complesse.

In questa sezione, esploreremo:

* [**Come effettuare i backup del tuo Agente**](backup-trasferimento-e-cancellazione-di-un-agente.md) per garantire la sicurezza dei dati;
* [**Le integrazioni**](integrazioni/) disponibili per collegare il tuo Agente con altri sistemi e servizi;
* Strategie avanzate per la [**gestione di admin e persone**](gestione-utenti-persone/) all'interno del tuo ecosistema IA;
* Il processo di [**Fine-Tuning**](fine-tuning/) per migliorare le prestazioni e la precisione del tuo Agente;
* Tecniche per [**far eseguire azioni all'Agente direttamente all'interno di una pagina web**](interfacce-web-come-creare-esperienze-interattive.md).

Che tu stia cercando di migliorare la sicurezza dei dati, ottimizzare le prestazioni del tuo Agente o creare esperienze utente più interattive, le funzionalità avanzate di AIsuru ti offrono gli strumenti necessari per realizzare la tua visione. Continua a leggere per scoprire come sbloccare tutto il potenziale del tuo Agente IA e portare la tua implementazione al livello successivo! 🚀


# Backup, trasferimento e cancellazione di un Agente

AIsuru ti permette di scaricare un backup di un Agente, trasferirne la proprietà ad un altro utente o di eliminarlo definitivamente. Queste operazioni sono irreversibili, quindi è importante procedere con cautela.

### Come accedere alle opzioni di gestione

Per trasferire o eliminare un Agente, **accedi alle** <img src="../.gitbook/assets/settings.svg" alt="" data-size="line"> **impostazioni >** ![](../.gitbook/assets/delete.svg) **Gestisci del tuo Agente**. Qui potrai scegliere se cancellare o trasferire il tuo Agente.

### Backup di un Agente

AIsuru offre due metodi complementari per eseguire il backup dei tuoi Agenti:

#### 1. Export completo dell'Agente

La funzione di export completo ti permette di esportare l'intero Agente in un file zip, includendo tutte le impostazioni e i media associati:

1. Accedi alle **impostazioni > Gestisci** del tuo Agente
2. Nella sezione "Esporta questo Agente", clicca sul pulsante **ESPORTA**
3. Attendi il completamento del download del file zip

Il file zip esportato contiene:

* Un file JSONL con tutte le impostazioni e configurazioni dell'Agente
* Una cartella "media" con tutti i file multimediali allegati ai contenuti

Questa modalità di backup è ideale per:

* Creare copie di backup complete del tuo Agente
* Trasferire un Agente identico su un'altra istanza di AIsuru
* Effettuare test A/B creando copie modificate dello stesso Agente

_Nota: attualmente, il file ZIP non contiene i layout di condivisione creati._

#### 2. Export CSV dei contenuti

Per un backup più leggero focalizzato solo sui contenuti testuali:

1. Accedi al pannello di gestione dell'Agente
2. Vai alla sezione **Import / Export**
3. Seleziona la scheda "Esporta CSV"

**Configurazione dell'esportazione**

Prima di procedere con l'esportazione, puoi personalizzare vari aspetti del file CSV risultante:

* Apri la sezione "Avanzate" nella pagina di esportazione
* Configura le seguenti opzioni secondo le tue preferenze:
* Separatore colonne CSV
* Separatore varianti della domanda
* Nomi delle colonne per Domanda, Risposta, Argomenti necessari e Argomenti da impostare

**Esecuzione del backup**

Una volta configurate le opzioni:

1. Individua il pulsante "Esporta" nella parte inferiore della pagina
2. Clicca su "Esporta" per avviare il download del file CSV

Il tuo browser salverà automaticamente il file nella cartella download predefinita.

**Utilizzo del file di backup**

Il file CSV esportato è uno strumento versatile che puoi utilizzare per:

* Creare una copia di sicurezza dei contenuti testuali del tuo Agente
* Trasferire facilmente i contenuti tra diversi Agenti o piattaforme esterne
* Analizzare e modificare i contenuti usando fogli di calcolo
* Condividere la base di conoscenza con il tuo team o altri stakeholder

**Limiti del backup CSV**

Il backup del tuo Agente in formato CSV presenta alcuni limiti:

* Non include media, link e altre personalizzazioni dei contenuti
* Contiene solo domanda, varianti di domanda, risposta, altre risposte, argomenti impostati, argomenti necessari, tag
* Non salva le istruzioni e le impostazioni funzionali ed estetiche del tuo Agente

### Import di un Agente completo

Per importare un Agente precedentemente esportato:

1. Vai all'homepage della piattaforma dove trovi la lista dei tuoi Agenti
2. Premi sul tasto **Importa** situato in alto a destra sopra la sezione dei tuoi Agenti
3. Si aprirà un popup per caricare il file zip
4. Dopo il caricamento, riceverai un messaggio "Caricamento completato con successo"
5. Apparirà un popup dove potrai dare un nome al nuovo Agente
6. Clicca su "Importa" per avviare il processo

Durante l'importazione:

* Una finestra in alto a destra ti informerà sull'andamento del processo
* Vedrai prima un messaggio "In corso" seguito dal numero di elementi processati sul totale
* Al completamento, la finestra mostrerà "Importazione completata"
* Potrai gestire il tuo nuovo Agente premendo sul tasto "Gestisci" nella finestra

In caso di errore nell'import (es. file zip corrotto o nome Agente già presente), la finestra in alto a destra mostrerà il messaggio "Importazione fallita".

### Come importare il file CSV

Per importare il file CSV all'interno di un Agente dovrai:

1. **Accedere al pannello di gestione** del tuo Agente;
2. Se necessario, cancellare i contenuti attualmente presenti nell'Agente;
3. Premere su <img src="../.gitbook/assets/exit-export-icon-svg.svg" alt="" data-size="line"> **Import / Export** nella barra laterale;
4. Seleziona la scheda **Importa CSV**;
5. Clicca su "Choose file" o trascina il tuo file CSV nell'area designata;
6. Configura le impostazioni presenti ->
   1. **Avanzate** ->
      1. Separatore colonne CSV: specifica il carattere usato per separare le colonne (es. virgola);
      2. Separatore varianti della domanda: indica il carattere per separare le varianti;
      3. Spunta "il CSV contiene i nomi di colonna" se la prima riga contiene le intestazioni;
      4. Assegnato a: scegli se i contenuti saranno "Pubblico" o assegnati a una persona specifica;
      5. Link: puoi indicare un URL da allegare a tutte le domande importate.
   2. **Assegnazione delle colonne** per la domanda (obbligatorio), per la risposta (obbligatorio) e per gli argomenti necessari e quelli da impostare (opzionali).
   3. **Opzioni di importazione**:
      * Forza importazione: importa tutti i contenuti, anche se la domanda è già presente tra i contenuti (di default, queste domande non sono importate);
      * Importa tutti i contenuti come conclusivi;
      * Importa tutti i contenuti come non casuali;
      * Aggiungi "argomenti impostati" a tutti i contenuti: di default, viene aggiunto un argomento con il nome del file che stai importando e con la data dell'import;
7. **Verifica l'anteprima dei contenuti** nella tabella sottostante -> assicurati che tutto sia configurato correttamente;
8. Lancia l'importazione premendo su "**Importa il CSV e i dati selezionati**".

### Trasferimento di proprietà

Per trasferire un Agente ad un altro utente:

1. Clicca sul pulsante "TRASFERISCI";
2. Nel popup che appare, seleziona la piattaforma. Di default, viene mostrata la piattaforma attuale ([www.aisuru.com](http://www.aisuru.com) o l'indirizzo della tua [PaaS](../paas/));
3. Inserisci il nome utente o l'email del destinatario;
4. Conferma l'operazione scrivendo il nome esatto dell'Agente (rispettando maiuscole e minuscole);
5. Clicca su "Trasferisci" per completare l'operazione.

{% hint style="danger" %}
Una volta trasferito, l'Agente non sarà più accessibile dal tuo account. **Se vuoi continuare a gestirlo, dovrai farti** [**invitare come autore**](gestione-utenti-persone/invito-e-gestione-degli-autori.md) dall'utente a cui hai trasferito l'Agente.
{% endhint %}

Note importanti sul trasferimento:

* Se inserisci un nome utente inesistente o un'email non associata ad alcun account, il trasferimento fallirà e manterrai la proprietà dell'Agente;
* Il trasferimento è irreversibile: una volta completato, solo il nuovo proprietario potrà gestire l'Agente.

### Eliminazione dell'Agente

Per eliminare permanentemente un Agente:

1. Clicca sul pulsante "ELIMINA";
2. Nel popup di conferma, scrivi il nome esatto dell'Agente (rispettando maiuscole e minuscole);
3. Clicca su "Elimina" per confermare.

{% hint style="danger" %}
Una volta eliminato, l'Agente **non potrà essere recuperato in alcun modo**.
{% endhint %}

Prima di procedere con l'eliminazione, considera di:

* **Effettuare un backup** dei contenuti se desideri conservarli;
* **Verificare che nessun altro utente o servizio dipenda da questo Agente**.


# Integrazioni

Le integrazioni ti permettono di connettere il tuo Agente a servizi esterni tramite webhook, permettendogli di eseguire azioni e recuperare informazioni in tempo reale. AIsuru offre tre approcci alternativi per le integrazioni:

1. [**Funzioni**](funzioni/): per le integrazioni più semplici;
2. [**Intenti dinamici**](intenti-dinamici/): per interazioni strutturate e sicure;
3. [**MCP**](model-context-protocol-mcp-su-aisuru/) (consigliato per la maggior parte degli utenti): per integrazioni semplici da configurare ma molto potenti, che sfruttano lo standard MCP.

Entrambi questi strumenti ti permettono di connettere il tuo assistente IA a sistemi esterni, automatizzare processi e creare esperienze utente avanzate.

### Prossimi passi

Nelle sezioni seguenti, esploreremo in dettaglio:

1. Come creare ed implementare funzioni personalizzate;
2. Come configurare e utilizzare gli intenti dinamici;
3. Best practice e [differenze tra funzioni ed intenti dinamici](intenti-dinamici-o-funzioni-cosa-usare.md).


# Funzioni

Le funzioni (function) di AIsuru **ti permettono di estendere le capacità del tuo assistente virtuale,** consentendogli di eseguire azioni specifiche e interagire con sistemi esterni. Questa potente funzionalità trasforma il tuo IA da un semplice chatbot a uno strumento versatile e personalizzabile.

In questa sezione, esploreremo:

* [Cosa sono le funzioni](cosa-sono-le-funzioni.md) e come possono migliorare il tuo assistente IA;
* [Come impostare e configurare una funzione](funzioni-avanzate/come-configurare-una-funzione-personalizzata.md) passo dopo passo;
* [Best practice e casi d'uso](funzioni-avanzate/funzioni-avanzate-best-practice-e-casi-duso/) comuni per sfruttare al meglio questa funzionalità.

Che tu stia cercando di integrare dati in tempo reale, automatizzare processi o creare esperienze utente uniche, le funzioni di AIsuru ti offrono gli strumenti per realizzare la tua visione. Continua a leggere per scoprire come sbloccare tutto il potenziale del tuo assistente IA! 🚀

{% hint style="info" %}
💡 Vuoi importare funzioni da un altro agente?\
Vai su Import/Export > Importa Funzioni e Intenti
{% endhint %}


# Cosa sono le funzioni

Le funzioni in AIsuru permettono al tuo Agente di estendere le sue capacità oltre la semplice conversazione. Esistono due tipi principali di funzioni:

1. Funzioni integrate ("Funzioni di AIsuru"):
   1. Strumenti pre-configurati pronti all'uso;
   2. Includono funzionalità come invio email e ricerca di informazioni sul web;
   3. Facili da attivare e utilizzare senza configurazioni complesse.
2. Funzioni personalizzate ("Funzioni avanzate"):
   1. Permettono di creare integrazioni personalizzate con servizi esterni;
   2. Consentono di automatizzare processi complessi;
   3. Richiedono configurazioni tecniche più dettagliate.

Grazie alle funzioni puoi:

* Recuperare informazioni da fonti esterne in tempo reale;
* Automatizzare azioni ripetitive;
* Personalizzare le risposte dell'Agente in base a dati specifici;
* Integrare l'Agente con altri sistemi e servizi.

Nelle prossime sezioni esploreremo in dettaglio:

* Le [funzioni integrate](funzioni-di-aisuru.md) disponibili in AIsuru;
* Come configurare e utilizzare [funzioni avanzate](funzioni-avanzate/) per casi d'uso specifici.


# Funzioni di AIsuru

AIsuru offre una serie di funzioni integrate pronte all'uso che permettono al tuo Agente di interagire con il mondo esterno. Queste funzioni sono già configurate e possono essere attivate facilmente, ma richiedono un'attenta configurazione nelle istruzioni dell'Agente per essere utilizzate in modo efficace.

### Panoramica delle funzioni disponibili

AIsuru offre sette funzioni integrate principali:

1. **Variabili di contesto**: permettono all'Agente di gestire dinamicamente gli argomenti della conversazione;
2. **Artifacts**: crea e scarica contenuti interattivi in diversi formati (HTML, CSS, JavaScript, JSON, markdown, svg, ecc.) all'interno della chat;
3. **Invio email**: permette all'Agente di inviare comunicazioni email agli utenti registrati;
4. **Converti OpenAPI in funzioni**: genera automaticamente funzioni a partire da specifiche OpenAPI;
5. **Creazione di funzione da file:** permetti all'agente di accedere a quel file durante le conversazioni;
6. **Ricerca Perplexity:** consente all'Agente di effettuare ricerche web intelligenti con sintesi AI delle informazioni trovate;
7. **Emotions:** permette al tuo Agente di esprimere emozioni attraverso espressioni facciali e animazioni quando viene visualizzato con un avatar 3D.&#x20;

Puoi cominciare ad utilizzarle da subito: ti basterà attivare l'interruttore della funzione che vuoi utilizzare all'interno del tuo Agente!

Ricorda, però, che per semplificare l'interazione con l'Agente e migliorare l'esperienza utente, è necessario spiegare all'Agente come e quando utilizzarle all'interno delle [istruzioni](../../../ai-generativa/prompt-engineering/).

Vediamole nel dettaglio 👇

## 1. Variabili di contesto

Le variabili di contesto permettono al tuo Agente di gestire dinamicamente i contesti durante la conversazione.

Questa funzione è particolarmente utile per:

* Applicare automaticamente contesti specifici in base alle risposte dell'utente;
* Rimuovere contesti quando non sono più rilevanti;
* Guidare la conversazione in modo naturale tra diversi argomenti.

#### Come funziona

L'IA generativa può:

* Impostare un nuovo contesto quando riconosce un cambio di argomento;
* Rimuovere un contesto quando l'argomento non è più pertinente;
* Utilizzare più contesti contemporaneamente per rispondere in modo preciso.

#### Configurazione nelle istruzioni

È importante guidare l'Agente nell'utilizzo delle variabili di contesto attraverso le istruzioni, specificando:

* Quali contesti può applicare (specifica precisamente il contesto da applicare);
* Quando applicare i diversi contesti;
* Come gestire il passaggio tra contesti diversi: quali contesti sono compatibili tra loro e quando rimuovere i contesti non più rilevanti.

Ad esempio:

```
Quando si parla di un prodotto specifico, imposta 
PRODOTTO:[nome prodotto]. Se l'utente cambia argomento, 
rimuovi il contesto con PRODOTTO:-. 
Esempio: se l'utente chiede del prodotto X, imposta PRODOTTO:X
```

## 2. Artifacts

#### Cosa sono

Gli artifact sono contenuti che il tuo Agente può creare all'interno della chat con l'utente. Questi contenuti possono essere utilizzati (contenuti interattivi), scaricati e successivamente condivisi.

L'Agente può creare qualsiasi tipo di file sfruttando gli artifact, ad esempio:

* Pagine web interattive: un unico file HTML contenente anche codice CSS e JS;
* File di testo: come txt e markdown;
* File CSV, SVG, ecc.

#### Come funzionano

Una volta abilitata la funzione "Artifacts", il tuo Agente sarà da subito in grado di creare questi contenuti. Per guidarlo con maggiore precisione, ricorda di spiegare nelle [istruzioni](../../../ai-generativa/prompt-engineering/) quando deve ricorrere agli artifact e come deve utilizzarli.

Durante la conversazione, se l'Agente creerà un artifact, l'utente sarà in grado di vederlo in una sezione separata dalla chat nel lato destro della pagina.

#### Interagire con gli artifacts

Nella parte superiore di ogni artifact è presente una barra degli strumenti con diversi pulsanti per gestire il contenuto. Da sinistra a destra trovi:

* **Icona codice:** permette di visualizzare il codice sorgente dell'artifact;
* **Icona occhio:** permette di visualizzare il file formattato o renderizzato (disponibile solo per file Markdown e HTML; per altri tipi di file vedrai solo il codice);
* **Pulsante "Copia":** copia il codice sorgente negli appunti;
* **Menu opzioni aggiuntive (freccia verso il basso):** premendo la freccia accanto al pulsante "Copia" si apre un menu con le seguenti opzioni:
  * Scarica come HTML o Markdown (solo per file HTML e Markdown);
  * Scarica come PDF (solo per file Markdown);
  * Apri in una nuova finestra;
  * Stampa.

Tutte queste funzioni rendono semplice visualizzare, copiare, condividere o salvare qualsiasi artifact generato durante la conversazione.

#### Limitazioni

Gli artifact non possono essere visualizzati se l'utente sta interagendo con [layout di condivisione](../../../condivisione/crea-e-gestisci-i-layout-di-condivisione.md) "Website Assistant".

## 3. Invio email

La funzione **Invio email** permette al tuo Agente di inviare comunicazioni email a tutti gli utenti registrati in piattaforma (su aisuru.com o all'interno della tua PaaS). Questa funzione utilizza il protocollo SMTP e può essere configurata con qualsiasi provider di email che supporti questo standard.

#### 3.1 Come funziona

L'Agente può inviare email automaticamente durante le conversazioni, utilizzando le credenziali SMTP che hai configurato. La funzione prende automaticamente l'indirizzo email dell'utente dal suo account registrato, quindi non è necessario che l'utente fornisca il proprio indirizzo email durante la conversazione.

**Importante**: Questa integrazione funziona solo con utenti che si sono registrati ed hanno effettuato il login sulla piattaforma. Non funziona con utenti anonimi.

#### 3.2 Configurazione SMTP

Per configurare l'invio email nel tuo Agente:

1. Accedi alla sezione **Funzioni** del tuo Agente;
2. Trova il riquadro **"Invio Email"** e attiva la funzione premendo sul tasto "modifica parametri" che ti comparirà quando il cursore si troverà sopra il riquadro.
3. Scegli la tua "Modalità configurazione SMTP":
   1. Eredita dal tenant: l'agente utilizza la [configurazione SMTP del tenant](../../../paas/pannello-di-amministrazione/gestione-tenant.md) (disabilitata se non configurata);
   2. Configurazione SMTP personalizzata: inserisci credenziali SMTP specifiche per questo agente. Se scegli questa opzione, compila i campi richiesti.

**Campi di configurazione**

| Campo                  | Descrizione                                            | Esempio                                      |
| ---------------------- | ------------------------------------------------------ | -------------------------------------------- |
| **Server SMTP**        | L'indirizzo del server email del tuo provider          | smtp.gmail.com, smtp-mail.outlook.com        |
| **Porta**              | La porta SMTP del server                               | 465 (SSL), 587 (STARTTLS), 25 (non criptato) |
| **Nome utente**        | Il tuo indirizzo email completo                        | nome@azienda.com                             |
| **Password**           | La password dell'account email o password applicazione | •••••••••••••••••                            |
| **Email del mittente** | L'indirizzo che apparirà come mittente                 | nome@azienda.com                             |
| **Nome del mittente**  | Il nome che apparirà come mittente                     | Nome Azienda                                 |
| **Sicurezza socket**   | Tipo di crittografia utilizzata                        | SSL/TLS, STARTTLS                            |

5. Premi il tasto **"Salva"** per confermare le impostazioni.

#### 3.3 Configurazione specifica per Gmail/Google Workspace

Se utilizzi Gmail o Google Workspace, segui questa guida dettagliata per una configurazione sicura e conforme alle policy di Google:

**3.3.1 Credenziali SMTP per Gmail**

<table><thead><tr><th width="255">Campo</th><th>Valore da inserire</th></tr></thead><tbody><tr><td><strong>Server SMTP</strong></td><td>smtp.gmail.com</td></tr><tr><td><strong>Porta</strong></td><td>465 (SSL) oppure 587 (TLS)</td></tr><tr><td><strong>Metodo di sicurezza</strong></td><td>SslOnConnect o StartTls (vedi porta)</td></tr><tr><td><strong>Nome utente</strong></td><td>indirizzo completo (es. nome@azienda.com)</td></tr><tr><td><strong>Password</strong></td><td>Password app generata da Google*</td></tr><tr><td><strong>Limite invii</strong></td><td>2.000 email/giorno per account</td></tr></tbody></table>

\*La Password app richiede che l'account abbia la **Verifica in due passaggi** attiva.

**3.3.2 Guida step-by-step per Gmail**

1. **Attiva la Verifica in due passaggi** nel tuo account Google;
2. **Genera una Password app**:
   * Accedi a [myaccount.google.com/apppasswords](https://myaccount.google.com/apppasswords);
   * Scrivi un nome descrittivo per la tua app password (es. "Mail AIsuru");
   * Premi su Crea e copia la password generata.
3. **Configura nel pannello AIsuru**:
   * Server SMTP: `smtp.gmail.com`;
   * Porta: `465` (SSL)
   * Nome utente: il tuo indirizzo email completo;
   * Password: l'app assword copiata prima;
   * Sicurezza socket: lascialo vuoto a meno che tu non sia un utente esperto. Può essere None, Auto, SslOnConnect, StartTls o StartTlsWhenAvailable. Il valore predefinito è Auto.
4. **Salva e testa**: dovresti ricevere un'email di prova entro pochi secondi.

**3.3.3 Risoluzione problemi Gmail**

| Errore                                        | Possibile causa                      | Soluzione                            |
| --------------------------------------------- | ------------------------------------ | ------------------------------------ |
| 535, 5.7.8 Username and Password not accepted | Password app mancante o errata       | Rigenera Password app e ricopia      |
| Application-specific password required        | Verifica in due passaggi disattivata | Abilita 2FA, poi genera Password app |
| Timeout/connessione rifiutata                 | Porta o sicurezza sbagliata          | Usa 465+SSL o 587+STARTTLS           |

#### 3.4 Altri provider email

La funzione di invio email può essere configurata con qualsiasi provider che supporti SMTP. Consulta la documentazione del tuo provider per ottenere:

* Server SMTP e porta;
* Tipo di crittografia supportata;
* Credenziali di autenticazione.

**Esempio per altri provider popolari**:

* **Outlook/Hotmail**: smtp-mail.outlook.com, porta 587;
* **Yahoo**: smtp.mail.yahoo.com, porta 587;
* **Provider personalizzati**: consulta la documentazione del tuo hosting/provider.

#### 3.5 Configurazione nelle istruzioni dell'Agente

È fondamentale definire nelle **Istruzioni** dell'Agente come utilizzare questa funzione, qui sotto c'è un esempio, ma assicurati di adattarlo al tuo specifico caso d'uso:

```
FUNZIONE INVIO EMAIL - ISTRUZIONI:

QUANDO UTILIZZARE L'EMAIL:
- Invia email solo quando l'utente richiede esplicitamente di ricevere documentazione, report o materiale specifico.
- NON inviare email per semplici domande o conversazioni generali.

FORMATO EMAIL STANDARD:
- Oggetto: "Documentazione richiesta - [argomento]"
- Corpo: breve introduzione, link/allegato, contatti per supporto

LIMITAZIONI:
- Massimo 2 email per conversazione
- Ricorda all'utente che riceverà l'email nella casella di posta

MESSAGGIO DI CONFERMA:
Dopo aver inviato l'email, rispondi sempre con:
"Riceverai un'email all'indirizzo registrato entro pochi istanti."
```

#### 3.6 Best practices

* **Definisci template chiari** per diversi tipi di comunicazione;
* **Stabilisci limiti** per la frequenza di invio (massimo 2 email per conversazione);
* **Implementa verifiche di sicurezza** nelle istruzioni;
* **Gestisci correttamente i dati personali** secondo normative privacy;
* **Monitora l'utilizzo** per evitare sovraccarichi del server SMTP;
* **Testa regolarmente** la configurazione per verificarne il funzionamento.

#### 3.7 Sicurezza e conformità

* Non condividere mai le credenziali SMTP in chiaro;
* Utilizza sempre connessioni crittografate (SSL/TLS);
* Rigenera periodicamente le password applicazione;
* Monitora i log di invio per rilevare utilizzi impropri;
* Rispetta i limiti di invio del tuo provider per evitare blocchi.

Con questa configurazione, il tuo Agente potrà inviare email in modo sicuro e professionale, migliorando l'esperienza utente e fornendo un canale di comunicazione diretto.

## 4. Converti OpenAPI in funzioni

La funzione **Converti OpenAPI in funzioni** ti permette di generare automaticamente funzioni AIsuru a partire da una specifica OpenAPI esistente.

#### Come funziona

Questa funzione ti permette di:

* **Caricare un file JSON OpenAPI** con la documentazione di un'API esistente e il relativo webhook;
* **Generare automaticamente** tutte le funzioni necessarie per interagire con l'API;
* **Avere funzioni subito pronte** con parametri, descrizioni e configurazioni già impostati.

#### Configurazione della conversione OpenAPI

Per convertire una specifica OpenAPI in funzioni:

1. Accedi alla sezione **Funzioni** del tuo Agente;
2. Seleziona la scheda **Funzioni AIsuru**;
3. Identifica il box **Converti OpenAPI in funzioni**:
   1. Inserisci l'URL base del webhook, cioè delle API (es. `https://api.example.com`);
   2. Premi sul pulsante "Carica JSON OpenAPI" e seleziona il file da caricare.

#### Best practice

1. **Controlla le funzioni generate**: rivedi le funzioni create per assicurarti che siano corrette;
2. **Testa le funzioni**: usa il pulsante "Test" per verificare che funzionino;
3. **Aggiorna le istruzioni**: spiega all'Agente come e quando usare le nuove funzioni.

## 5. Creazione di funzione da file

La funzione di creazione da file permette all'Agente di accedere a file come Excel, PDF, HTML o TXT durante le conversazioni, consentendogli di utilizzare informazioni contenute in questi documenti.

**Come funziona**

Questa funzione ti permette di:

* Caricare un file (Excel, PDF, HTML o TXT) di dimensione inferiore a 500.000 caratteri
* Fornire una descrizione che spieghi all'IA generativa come utilizzare questo file durante le conversazioni
* Rendere il file accessibile all'Agente come fonte di informazioni

**Configurazione della funzione da file**

Per creare una nuova funzione a partire da un file:

1. Accedi alla sezione **Funzioni** del tuo Agente
2. Seleziona la scheda **Funzioni avanzate**
3. Clicca sul pulsante **Crea funzione da file**
4. Nella pagina che si apre, potrai:
   * Caricare un file (Excel, PDF, HTML o TXT) di dimensione inferiore a 500.000 caratteri
   * Inserire una **descrizione della funzione** che spieghi all'IA generativa come utilizzare il contenuto del file

La **descrizione della funzione** è fondamentale: deve indicare chiaramente all'IA quando utilizzare questa funzione e come interpretare i dati del file.



**Esempio di utilizzo**

Se carichi un listino prezzi in formato Excel, potresti scrivere una descrizione come:

```
Utilizza questa funzione quando l'utente chiede informazioni sui prezzi dei nostri prodotti.

Il file contiene il listino prezzi aggiornato con le seguenti colonne:
- Codice prodotto
- Nome prodotto
- Categoria
- Prezzo di listino
- Prezzo scontato
- Disponibilità

Quando l'utente chiede il prezzo di un prodotto specifico, cerca nel listino e fornisci tutte le informazioni disponibili per quel prodotto.
```

**Best practices per la creazione di funzioni da file**

* Utilizza file ben strutturati per facilitare la lettura da parte dell'IA
* Fornisci descrizioni dettagliate che guidino l'IA nell'utilizzo del file
* Mantieni i file sotto il limite di 500.000 caratteri per prestazioni ottimali
* Aggiorna periodicamente i file per mantenere le informazioni sempre corrette

## 6. Ricerca Perplexity

La **Ricerca Perplexity** permette al tuo Agente di effettuare ricerche web intelligenti utilizzando l'AI di Perplexity, che combina la ricerca in tempo reale con la capacità di sintetizzare e analizzare le informazioni trovate.

#### Come funziona

A differenza di una semplice ricerca web, Perplexity:

* Cerca informazioni aggiornate su internet;
* Analizza e sintetizza i risultati trovati;
* Fornisce risposte complete con citazioni delle fonti;
* Restituisce sia i risultati di ricerca che una risposta elaborata dall'IA.

#### Configurazione di Ricerca Perplexity

Puoi configurare la chiave API in due modalità:

* **Eredita dal tenant**: la chiave API viene ereditata dalla configurazione del tenant (PaaS). Qualsiasi amministratore del tenant può modificare questa chiave in qualsiasi momento nella pagina dedicata. Le modifiche si applicano automaticamente a tutti gli agenti che utilizzano la configurazione del tenant.
* **Chiave API personalizzata:** puoi configurare una chiave API specifica per questo agente.

**Passaggi di configurazione**

Per attivare questa funzione:

1. Nella sezione Funzioni di AIsuru, trova "Ricerca Perplexity";
2. Attiva l'interruttore per abilitare la funzione;
3. Scegli la modalità chiave API:
   * Seleziona "Eredita dal tenant" per utilizzare la configurazione centralizzata;
   * Seleziona "Chiave API personalizzata" e inserisci la tua API Key di Perplexity nel campo richiesto;
4. Premi sul tasto "Salva" per confermare le impostazioni.

#### Istruzioni

Ricorda di aggiornare le istruzioni del tuo Agente spiegando come deve comporre la query da passare a Perplexity (che si occuperà di fare la ricerca vera e propria).

## 7. Emotions

La funzione **Emotions** di AIsuru permette al tuo Agente di esprimere emozioni attraverso espressioni facciali e animazioni quando viene visualizzato con un avatar 3D. Questo sistema migliora significativamente l'interazione, rendendo la comunicazione più naturale ed espressiva.

#### Come attivare la funzione Emotions

Per attivare questa funzione:

1. Accedi al **pannello di gestione** del tuo Agente
2. Vai alla sezione "**Funzioni**" dalla barra laterale
3. Trova la funzione "**Emotions**" nella scheda "**Funzioni di AIsuru**"
4. Attiva l'**interruttore** per abilitare questa funzionalità

#### Come funzionano le Emotions

Quando attivi la funzione Emotions, il comportamento dipende dal tipo di avatar che stai utilizzando:

* **Con avatar Ready Player Me (RPM)**: Avrai immediatamente accesso a 5 emozioni predefinite che possono essere mostrate dall'avatar (Felicità, Tristezza, Rabbia, Sorpresa, Paura)
* **Con modelli GLB personalizzati**: È necessario che il modello includa le animazioni e le espressioni desiderate

La funzione **non richiede alcun prompt specifico** per essere attivata. Una volta abilitata, il backend di AIsuru gestirà automaticamente le emozioni inserendo i tag necessari nelle risposte dell'Agente in base al contesto della conversazione.

#### Visualizzazione delle emozioni

Per vedere le emozioni in azione, devi visualizzare il tuo Agente in un ambiente che supporti gli avatar 3D, come:

* Negli **Spazi Virtuali** di AIsuru
* Utilizzando **layout** che supportano avatar 3D

#### Sistema di categorizzazione delle animazioni

Il sistema categorizza automaticamente le animazioni in base al loro nome:

* **IDLE**: Animazioni di base che si ripetono continuamente (il nome dell'animazione contiene "idle")
* **LOADING**: Animazioni che indicano uno stato di attesa (il nome contiene "loading" o "wait")
* **ACTION**: Tutte le altre animazioni che mostrano azioni o emozioni specifiche

#### Modelli GLB personalizzati e animazioni

Se utilizzi un modello GLB personalizzato:

* Se il modello ha uno **scheletro compatibile con RPM** (Ready Player Me), le animazioni standard funzioneranno automaticamente
* Il modello **deve avere almeno un'animazione di tipo IDLE** (il nome dell'animazione deve contenere la parola "idle") per funzionare correttamente
* Le animazioni vengono attivate dal backend in base al contesto della conversazione
* Per un funzionamento ottimale, il modello dovrebbe includere animazioni per le emozioni di base (felicità, tristezza, rabbia, sorpresa, paura)

#### Personalizzazioni avanzate tramite istruzioni

Per un controllo più dettagliato delle animazioni, puoi aggiungere istruzioni specifiche nelle **Istruzioni del tuo Agente** (Impostazioni > IA > Istruzioni).

**Animazioni singole**

```
<output class="animation">NomeAnimazione</output>
```

**Animazioni con loop**

```
<output class="animation">NomeAnimazione[loop=N]</output>
```

Dove i valori per il loop sono:

* **\[loop=0]**: Ripete l'animazione all'infinito
* **\[loop=1]**: Riproduce l'animazione una sola volta (impostazione predefinita)
* **\[loop=N]**: Ripete l'animazione N volte

Le animazioni di tipo IDLE hanno un valore predefinito di `loop=0` (infinito).

**Sequenze di animazioni**

```
<output class="animation-sequence">Animazione1->Animazione2->Animazione3</output>
```

È possibile specificare un parametro loop anche per le sequenze:

```
<output class="animation-sequence">Animazione1->Animazione2->Animazione3[loop=2]</output>
```

**Emozioni predefinite (per avatar RPM)**

```
<output class="memori-emotion">Happiness</output>  <!-- o Sadness, Anger, Surprise, Fear -->
```

#### Guida per le istruzioni all'Agente

Puoi guidare l'IA generativa aggiungendo specifiche istruzioni nelle **Istruzioni del tuo Agente** (Impostazioni > IA > Istruzioni).

Esempio di istruzioni per l'Agente:

```
GUIDA PER LE ESPRESSIONI EMOTIVE:Quando comunichi con l'utente, esprimi le tue emozioni scrivendo precisamente i seguenti pattern:1. Per una SEQUENZA DI EMOZIONI: <output class="animation-sequence">Surprise->Happiness</output> Esempio: "All'inizio ero sorpreso, ma ora sono felice della notizia! <output class="animation-sequence">Surprise->Happiness</output>"2. Per ANIMAZIONI RIPETUTE (usa per enfatizzare): <output class="animation">Wave[loop=3]</output>Esempio: "Ti saluto con entusiasmo! <output class="animation">Wave[loop=3]</output>"
```

#### Esempio di istruzioni per movimenti di danza

Se il tuo modello supporta movimenti specifici, puoi creare istruzioni personalizzate come:

```
MOVIMENTI DI DANZA:- AIDA1: Giro lento con le braccia distese verso l'alto- AIDA2: Movimento ondulatorio dei fianchi e delle braccia- AIDA3: Passo laterale con incrocio delle gambe e rotazione del bustoSTATI EMOTIVI:- Gioia (Gioia1, Gioia2, Gioia3)- Tristezza (Tristezza1, Tristezza2, Tristezza3)Per creare una sequenza di danza, usa questa sintassi:<output class="animation-sequence">AIDA1->AIDA2->Gioia1->AIDA3</output>Regole per le sequenze:1. Usa -> per collegare le animazioni2. Massimo 5 animazioni per sequenza3. Non usare spazi4. Puoi combinare liberamente movimenti di danza ed emozioni nella stessa sequenza
```

#### Best Practices

1. **Attiva la funzione Emotions** dal pannello Funzioni
2. **Non modificare le istruzioni** se non hai bisogno di personalizzazioni avanzate
3. Per avatar **Ready Player Me**, il sistema utilizzerà automaticamente le 5 emozioni predefinite
4. Per **modelli GLB personalizzati**, assicurati che abbiano almeno un'animazione di tipo IDLE e uno scheletro compatibile
5. Per **sequenze complesse**, utilizza le istruzioni avanzate con i tag di animazione
6. **Limita le sequenze** a 3-5 animazioni per le migliori prestazioni
7. **Testa le animazioni** con diversi tipi di avatar per verificarne la compatibilità

Attivando la funzione Emotions, il tuo Agente sarà in grado di comunicare in modo più espressivo e coinvolgente, migliorando significativamente l'esperienza utente nelle interazioni in ambienti 3D.

### Considerazioni sulla sicurezza

Per tutte queste funzioni, è fondamentale:

* Configurare attentamente le istruzioni dell'Agente;
* Limitare l'accesso a risorse sensibili;
* Monitorare l'utilizzo delle funzioni;
* Implementare meccanismi di verifica;
* Rispettare le normative sulla privacy e la protezione dei dati.

### Ottimizzazione delle prestazioni

Per ottenere i migliori risultati:

* Combina diverse funzioni in modo sinergico;
* Mantieni le istruzioni chiare e aggiornate;
* Monitora regolarmente l'utilizzo delle funzioni;
* Raccogli feedback dagli utenti;
* Affina continuamente le configurazioni.


# Funzioni avanzate

Le funzioni avanzate di AIsuru permettono di creare integrazioni personalizzate tra il tuo Agente e servizi esterni attraverso webhook. Questa funzionalità (detta anche function calling) ti permette di andare oltre le funzioni integrate, creando soluzioni su misura per le tue esigenze specifiche.

### Cosa sono le funzioni avanzate?

A differenza delle funzioni integrate, che offrono strumenti pre-configurati, le funzioni avanzate ti permettono di:

* Creare integrazioni personalizzate con qualsiasi servizio esterno;
* Automatizzare processi complessi specifici per il tuo caso d'uso;
* Recuperare dati in tempo reale da tue fonti proprietarie;
* Far eseguire azioni specifiche al tuo Agente.

### Come funzionano

Quando un utente pone una domanda:

1. L'IA generativa decide se e quale funzione chiamare basandosi sulle istruzioni e sulla descrizione della funzione;
2. La funzione invia una richiesta al webhook configurato;
3. Il webhook elabora la richiesta e restituisce una risposta;
4. Il modello linguistico analizza la risposta e genera una risposta naturale per l'utente.

La vera potenza delle funzioni avanzate sta nella loro flessibilità: il webhook può restituire dati in qualsiasi formato (JSON, markdown, testo, HTML), e il modello linguistico li elaborerà per creare una risposta appropriata.

### Quando usare le funzioni avanzate

Le funzioni avanzate sono ideali quando hai bisogno di:

* Integrare l'Agente con sistemi proprietari;
* Creare automazioni complesse e personalizzate;
* Recuperare dati da fonti non accessibili tramite le funzioni integrate;
* Eseguire azioni specifiche per il tuo caso d'uso.

Nelle prossime sezioni vedremo nel dettaglio come [configurare le funzioni avanzate](come-configurare-una-funzione-personalizzata.md), le [best practice](funzioni-avanzate-best-practice-e-casi-duso/) per il loro utilizzo e come gestire i [problemi più comuni](problemi-comuni-con-le-funzioni-avanzate.md).


# Come configurare una funzione personalizzata

### Accesso alla sezione delle funzioni

Per creare una nuova funzione personalizzata in AIsuru, segui questi passaggi:

1. Accedi al pannello di gestione del tuo Agente;
2. Seleziona "Funzioni" nella barra laterale;
3. Clicca sul tab "Funzioni avanzate" nella parte superiore della pagina;
4. Premi su "Nuova funzione" per iniziare la configurazione.

### Configurazione di una nuova funzione

Nella schermata di creazione di una nuova funzione, dovrai compilare i seguenti campi:

**Informazioni di base**

* **Nome**: inserisci un nome univoco e descrittivo per la tua funzione. Questo nome sarà usato internamente dal sistema per identificare la funzione.
  * **Limite**: il nome può contenere massimo 64 caratteri
  * **Formato**: usa solo lettere, numeri e underscore (\_), senza spazi o caratteri speciali
  * **Esempi validi**: `ottieni_meteo`, `cerca_prodotti`, `invia_email_cliente`
* **Descrizione**: fornisci una descrizione completa della funzione, dovresti sempre specificare:
  * A cosa serve la funzione
  * Quando utilizzare la funzione
  * Che output deve restituire e come formattarlo

Questa descrizione è fondamentale poiché aiuta l'IA generativa a comprendere quando e come utilizzare la funzione nel contesto di una conversazione.

> **Nota**: Se usi i modelli di OpenAI (come GPT-4o e GPT-4o mini) la descrizione non può superare i 1024 caratteri. Se ti serve avere una descrizione particolarmente lunga ti consigliamo di utilizzare altri modelli per le domande e le risposte o di spostare parte della descrizione all'interno delle [istruzioni](../../../../ai-generativa/prompt-engineering/).

### **Esempi di descrizione di una funzione**

#### **Esempio di una funzione utile ad inviare email**

```
Utilizza questa funzione per inviare notifiche email. La funzione deve essere chiamata SOLO quando:
- L'utente richiede esplicitamente di essere contattato;
- L'utente vuole ricevere materiale informativo specifico;
- L'utente chiede una demo.

Parametri richiesti:
- email: l'indirizzo email del destinatario (CHIEDI SEMPRE all'utente)
- tipo: il tipo di informazioni richieste (NON chiedere all'utente, deducilo dalla conversazione)
- messaggio: il contenuto specifico da inviare (componi un testo appropriato basandoti sulla richiesta)

Prima di chiamare la funzione, assicurati di avere compreso esattamente quale tipo di informazione l'utente desidera ricevere.
```

#### **Esempio di una funzione per ricercare prodotti all'interno di un catalogo**

```
Utilizza questa funzione per ottenere informazioni dal catalogo prodotti in base alla categoria richiesta dall'utente. La funzione dovrebbe essere chiamata quando l'utente chiede informazioni su specifiche categorie di prodotti.

Le categorie disponibili sono:
- computers: per informazioni su laptop e desktop;
- phones: per informazioni su smartphone e telefoni;
- tablets: per informazioni su tablet e e-reader.

Utilizza il parametro {category} impostandolo nel webhook sulla categoria appropriata in base alla richiesta. Ad esempio, se l'utente chiede informazioni sui computer portatili, usa "computers" come valore del parametro.

Non mostrare mai il valore del parametro all'utente, usa solo le informazioni restituite dalla funzione per formulare la risposta.
```

### Configurazione del webhook

* **Webhook**: inserisci l'indirizzo web completo che verrà utilizzato quando la funzione è attivata. Ad esempio, se usi Zapier, dovrai inserire l'indirizzo fornito da Zapier (viene chiamato, appunto, webhook).
* **Metodo HTTP**: seleziona il metodo HTTP appropriato per la tua richiesta al webhook. La scelta dipende dall'azione che la funzione deve eseguire:
  * GET (opzione di default) -> per ottenere informazioni, come leggere un articolo online
  * POST -> per inviare nuove informazioni, come compilare un modulo online
  * PATCH -> per modificare parzialmente informazioni esistenti, come aggiornare solo alcuni campi di un profilo online;
  * DELETE -> per eliminare informazioni, come cancellare un account

✅ Se non devi passare parametri o altre informazioni, puoi fermarti qui con la configurazione.

#### Dettagli della richiesta

Se devi inviare altre informazioni al tuo servizio (come un nome, una data o un indirizzo email), allora potresti dover specificare altri dettagli:

* **Header HTTP**: qui puoi aggiungere altre informazioni necessarie per la tua richiesta. Questi possono includere codici di accesso o altri dettagli richiesti dal servizio che stai utilizzando. Premi su "Aggiungi" per aggiungere informazioni all'header della richiesta.
* **Template query string**: definisci il formato delle informazioni da inviare nell'indirizzo web. Usa {parametro} per indicare dove inserire i valori che cambiano. Es. luogo={citta}\&periodo={data}. Città e data sono variabili (o "parametri").
* **Template body HTTP**: specifica le informazioni da inviare nel corpo della richiesta. Come sopra, usa {parametro} per indicare dove inserire i valori che cambiano.

#### Informazioni contestuali

**Invia header di estensione**: seleziona le informazioni aggiuntive della conversazione che vuoi includere nella richiesta:

* ID della sessione;
* Tag dell'utente;
* Data e ora attuali;
* Luogo;
* Contesto;
* Mail del utente.

#### Definizione dei parametri

Nella sezione "Parametri", puoi definire i valori dinamici (le variabili) che la tua funzione accetterà.

Per aggiungere un parametro, fai clic sul tasto "Aggiungi", e specifica:

* **Nome**: il nome del parametro che verrà utilizzato (quello che trovi tra le parentesi graffe, ad esempio "citta" se nei dettagli della richiesta hai scritto "luogo={citta}");
* **Descrizione**: una descrizione dettagliata di cosa rappresenta il parametro; più dettagli assicurano una maggiore precisione da parte dell'IA;
* **Tipo**: specifica se il parametro è una stringa, un numero, un integer o un valore boolean&#x6F;**;**
* **Valori possibili**: premendo il pulsante "aggiungi potrai inserire dei valori possibili;
* **Obbligatorio**: questo campo ti permette di dire all'AI se questo campo è obbligatorio oppure no: se stai chiedendo il meteo, è probabile che la città sia necessaria, mentre la scala (Celsius o Fahreneit) potrebbe essere facoltativa.

> Questi parametri rappresentano i valori che l'IA può chiedere all'utente o dedurre dalla conversazione.

{% hint style="danger" %}
**Attenzione**: i nomi dei parametri devono essere privi di lettere accentate e caratteri speciali.
{% endhint %}

#### Test della funzione

Prima di implementare la tua funzione, ti consigliamo di testarla:

1. Nella pagina di configurazione della tua funzione premi su "Test"
2. Inserisci dei valori di esempio per i parametri definiti
3. Clicca su "Esegui test" per verificare che la funzione performi come previsto

Questo passaggio ti permetterà di identificare e correggere eventuali problemi prima di mettere la funzione in produzione.


# Funzioni avanzate: best practice e casi d'uso

### Best practice per l'utilizzo delle funzioni

Seguire queste best practice ti aiuterà a creare funzioni efficaci e affidabili:

1. **Nomi chiari e concisi**: scegli nomi che descrivano immediatamente lo scopo della funzione; ad esempio, "ottieni\_meteo" è più chiaro di "servizio\_esterno";
2. **Descrizioni dettagliate**: fornisci una descrizione completa che spieghi cosa fa la funzione e quando usarla; questo aiuterà sia l'IA che gli altri sviluppatori a capire il suo scopo;
3. **Parametri ben definiti**: definisci chiaramente i parametri necessari e fornisci una descrizione completa per guidare l'IA generativa;
4. **Test, test e ancora test**: prima di mettere una funzione in produzione, testala in vari scenari;

### Casi d'uso comuni

Le funzioni in AIsuru possono essere utilizzate in molti modi creativi. Ecco alcuni casi d'uso comuni per ispirarti:

* [**Connessione ad un sito web**](caso-duso-aggiornamento-automatico-il-tuo-agente-sempre-connesso-al-web.md): recupera informazioni in tempo reale da fonti esterne, come previsioni meteo, tassi di cambio o notizie dell'ultimo minuto;
* **Integrazione con sistemi CRM**: permetti all'IA di accedere e aggiornare i dati dei clienti sul CRM senza mai lasciare la chat;
* **Integrazione con la mail**: ricevi una mail con i dati dell'utente quando questo è interessato ai tuoi servizi;
* **Verifica delle disponibilità**: controlla la disponibilità di prodotti in magazzino o la disponibilità di camere d'hotel.


# Caso d'uso - Aggiornamento automatico: il tuo Agente sempre connesso al web

AIsuru offre la potente capacità di arricchire le conversazioni del tuo Agente con informazioni in tempo reale provenienti da siti web esterni. Questa funzionalità permette al tuo assistente virtuale di fornire dati aggiornati su vari argomenti, migliorando notevolmente la qualità e la rilevanza delle interazioni.

In questa guida, vedremo un esempio concreto di implementazione: creeremo una funzione per recuperare e analizzare contenuti HTML da una pagina web in tempo reale. Questo ci permetterà di rielaborare il codice HTML ed estrarre i contenuti utili attraverso l'IA generativa.

### Implementazione di una funzione per recuperare contenuti web live

Seguiamo passo dopo passo la creazione di una funzione che recupera contenuti HTML da un sito web e li analizza:

1. **Accesso e creazione**
   * Accedi al pannello di gestione del tuo Agente in AIsuru;
   * Vai su "Funzioni" > "Funzioni avanzate";
   * Clicca su "Nuova funzione".
2. **Configurazione della funzione**
   * **Nome**: dai un nome breve ma descrittivo della tua funzione (es. domande\_sito, non usare gli spazi);
   * **Descrizione**: fai copia e incolla di questa descrizione; "Questa funzione recupera il contenuto HTML di una pagina web specifica. Utilizzala quando un utente chiede informazioni o aggiornamenti da un sito web particolare."
   * **Webhook**: inserisci il link della pagina da analizzare;
   * **Metodo HTTP**: usa il metodo GET già selezionato.
3. **Test della funzione**
   * Scorri in fondo e premi sul tasto Test > Esegui;
   * Verifica il funzionamento della tua funzione: dovresti vedere il codice della pagina web come risposta.

✅ Se è tutto corretto puoi salvare la tua funzione.

#### Integrazione nelle istruzioni dell'Agente

Ora che la tua funzione è pronta, la dovrai integrare nelle Istruzioni dell'Agente:

1. Vai alla sezione Impostazioni del tuo Agente > IA > Istruzioni;
2. Aggiungi queste istruzioni:

```
Sei un assistente specializzato nell'analisi di contenuti web in tempo reale. Quando un utente chiede informazioni da un sito web specifico:

1. Usa la funzione [nome della funzione] con l'URL della pagina come parametro;
2. Analizza il contenuto HTML ricevuto ed estrai le informazioni rilevanti;
3. Presenta le informazioni in modo chiaro e conciso, organizzandole in un formato facilmente comprensibile;
4. Se richiesto, fornisci ulteriori dettagli o approfondimenti sul contenuto analizzato.
```

### Esempio pratico: il blog del Comune di Verona

Vediamo ora un esempio concreto di come utilizzare questa funzione per creare un Agente che mostri all'utente gli articoli presenti in tempo reale sul blog del Comune di Verona.

#### Configurazione Specifica:

* **Nome**: comune\_verona\_blog
* **Descrizione**: "Utilizza questa funzione quando l'utente chiede i contenuti del blog del comune di Verona. Analizza le informazioni per rispondere in maniera chiara e organizzata."
* **Webhook**: https://www.comune.verona.it/nqcontent.cfm?a\_id=70461

{% hint style="warning" %}
**Ricorda di rispettare sempre i termini di servizio dei siti web che intendi analizzare**.\
\
Se l'Agente non riesce ad estrapolare le informazioni, assicurati di non star superando la [finestra di contesto](../../../../../ai-generativa/provider.md#cosa-e-il-contesto) (se la pagina è particolarmente lunga e complessa) e che il file robots.txt non blocchi l'accesso al modello linguistico.
{% endhint %}

#### Istruzioni specifiche per l'Agente

Aggiungi queste istruzioni specifiche al prompt dell'Agente:

```
Sei un assistente specializzato per il blog del Comune di Verona. Quando un utente chiede informazioni sugli articoli recenti:

1. Usa la funzione comune_verona_blog per ottenere il contenuto HTML della pagina del blog;
2. Analizza il contenuto ed estrai titoli e brevi descrizioni degli articoli recenti;
3. Presenta un elenco organizzato degli articoli all'utente, includendo titolo e una breve sintesi per ciascuno;
4. Offri la possibilità di fornire ulteriori dettagli su articoli specifici se richiesto.
```

#### Esempio di interazione

> _**Utente**: "Quali sono gli articoli recenti nel blog di Verona?"_
>
> _\[L'Agente utilizza la funzione_ comune\_verona\_blo&#x67;_]_
>
> _**Agente**: Certamente! Lascia che controlli gli ultimi aggiornamenti dal blog del Comune di Verona._
>
> _Ecco un elenco degli articoli più recenti pubblicati sul blog del Comune di Verona:_
>
> 1. _**Scuole dell'Infanzia: Accoglienza bambini 3-6 anni**_
>    * _Il Comune annuncia nuove iniziative per l'accoglienza dei bambini nelle scuole dell'infanzia, con focus su attività educative e socializzazione._
> 2. _**Consiglio comunale: Apertura 2° sessione 2024**_
>    * _Annuncio della data e dell'ordine del giorno per la prossima sessione del Consiglio comunale, con discussioni su importanti temi cittadini._
> 3. _**Bando di gara n.23/24: Nomina Commissione giudicatrice**_
>    * _Informazioni sulla nomina della commissione giudicatrice per un recente bando di gara comunale, includendo dettagli sul processo di selezione._
>
> _Desideri ulteriori informazioni su uno di questi articoli in particolare o preferisci una panoramica generale sulle attività recenti del Comune?_



Con questa implementazione, **il tuo Agente diventa una fonte affidabile di informazioni aggiornate da siti web specifici**. Questo esempio di funzione per l'analisi di contenuti web è solo l'inizio: puoi applicare lo stesso approccio per integrare dati da vari siti web, espandendo ulteriormente le capacità del tuo Agente! 🌟


# Caso d'uso - Prendere dati live da un servizio esterno

In questa guida, vedremo un altro esempio concreto di una funzione: daremo la possibilità al tuo Agente di recuperare dati meteorologici in tempo reale.

### Implementazione di una funzione per dati meteo

Seguiamo passo dopo passo la creazione di una funzione che recupera dati meteorologici da un servizio esterno.

#### Configurazione della funzione

1. **Crea una nuova funzione**:
   * Apri il pannello di gestione del tuo Agente;
   * Naviga alla sezione "Funzioni";
   * Seleziona la scheda "Funzioni avanzate";
   * Premi su "Nuova funzione";
2. **Compila i campi della funzione**:
   * **Nome**: inserisci "info\_meteo";
   * **Descrizione**: "Questa funzione recupera dati meteorologici in tempo reale per una città specifica. Fornisce informazioni su temperatura, condizioni generali e probabilità di pioggia. Utilizzala quando un utente chiede informazioni meteo attuali per una località."
   * **Webhook**: inserisci il link del tuo servizio meteo (es. "[https://api.openweathermap.org/data/2.5/weather](https://api.openweathermap.org/data/2.5/weather)");
   * **Metodo HTTP**: seleziona GET;
   * **Template query string**: luogo={citta}\&units=metric\&lang=it\&appid=tua\_chiave\_OpenWeatherMap
   * **Crea un nuovo parametro e imposta**:
     * **Nome**: "citta" (come la parola tra le parentesi graffe);
     * **Descrizione**: "Nome della città di cui dovrai recuperare i dati meteo";
     * **Tipo**: seleziona "string";
     * Imposta il parametro come **obbligatorio**.

{% hint style="danger" %}
<mark style="color:red;">Ricorda che le chiavi API andrebbero inviate all'interno dell'header HTTP, non nella query string. In questo caso, però, il nostro servizio ci richiede di inviare la chiave nel campo "Template query string".</mark>
{% endhint %}

La query string permette di definire parametri dinamici (cioè, variabili) come {citta}, che verrà sostituito con il valore effettivo durante la chiamata:

3. Testa la funzione:
   1. Usa la sezione "Test" per verificare il funzionamento;
   2. Inserisci una città di esempio (es. "Roma");
   3. Controlla che la risposta contenga i dati meteo corretti.

#### Integrazione nelle istruzioni dell'Agente

Ora che la funzione è pronta, integriamola nelle istruzioni dell'Agente:

1. Accedi alle <img src="../../../../../.gitbook/assets/settings.svg" alt="" data-size="line"> **Impostazioni** del tuo Agente;
2. Vai alla sezione <img src="../../../../../.gitbook/assets/optimized-svg.svg" alt="" data-size="line"> IA > Istruzioni;
3. Aggiungi queste istruzioni:

```
Quando un utente chiede informazioni sul meteo per una specifica città:
1. Usa la funzione info_meteo con il nome della città come parametro;
2. Interpreta i dati ricevuti e fornisci una risposta chiara e concisa;
3. Includi temperatura, condizioni generali e probabilità di pioggia.
```

### Esempio di utilizzo

Ecco come potrebbe svolgersi una conversazione che utilizza questa funzione:

> **Utente**: Che tempo fa oggi a Milano?
>
> \[L'Agente utilizza la funzione info\_meteo con il parametro citta="Milano"]
>
> **Agente**: Certamente! Lasciami controllare le ultime informazioni meteorologiche per Milano.
>
> Basandomi sui dati appena ricevuti, posso dirti che oggi a Milano la temperatura è di 22°C con cielo parzialmente nuvoloso. C'è una probabilità del 20% di pioggia nel pomeriggio. L'umidità è al 65% e la velocità del vento è di 10 km/h da sud-ovest.
>
> Desideri conoscere le previsioni per i prossimi giorni o hai altre domande sul meteo a Milano?

Con questa implementazione, **il tuo Agente diventa una fonte affidabile di informazioni in tempo reale**. Questo esempio di funzione per dati meteo è solo l'inizio: puoi applicare lo stesso approccio per integrare altri tipi di dati esterni, espandendo ulteriormente le capacità del tuo Agente! 🌟


# Problemi comuni con le funzioni avanzate

Quando utilizzi le [funzioni avanzate (function calling)](./), potresti riscontrare problemi con alcuni modelli:

* Descrizione della funzione eccessivamente lunga;
* Risposta della funzione eccessivamente lunga.

Vediamo queste due problematiche nel dettaglio 👇

### Descrizione troppo lunga

Se la descrizione della tua funzione supera i 1024 caratteri, **alcuni modelli (come quelli di OpenAI) potrebbero rispondere con un errore e rifiutarsi di rispondere** alla richiesta dell'utente. In questo caso, l'Agente risponderà "Mi dispiace, le mie risposte sono limitate. Devi farmi le domande giuste", a prescindere che la funzione sia eseguita o meno.

Se hai una funzione con una descrizione molto lunga:

1. Sposta parte della descrizione nelle [istruzioni](../../../../ai-generativa/prompt-engineering/);
2. Mantieni la descrizione della funzione entro 1024 caratteri.

-> Questo ti permetterà, in caso di disservizi, di poter cambiare rapidamente modello e provider senza ulteriori configurazioni.

{% hint style="info" %}
Anche se ti suggeriamo ti mantenere la descrizione entro i 1024 caratteri, su AIsuru **potrai comunque scrivere descrizioni più lunghe**, anche se visualizzi un limite di 1024 caratteri per il campo della descrizione.
{% endhint %}

### Risposta della funzione eccessivamente lunga

Se la tua funzione risponde con un testo eccessivamente lungo, il modello linguistico potrebbe rifiutarsi di rispondere dicendo "Mi dispiace, le mie risposte sono limitate. Devi farmi le domande giuste".

Questo problema si verifica perché ogni modello linguistico ha un [limite massimo di contesto che può gestire](../../../../ai-generativa/provider.md#cosa-e-il-contesto). Il limite varia in base al modello scelto ed è particolarmente comune quando usi un URL di una pagina web come webhook della funzione.

Se hai bisogno di collegare pagine web particolarmente lunghe, ti suggeriamo di:

1. **Estrarre solo le sezioni di testo rilevanti** dalla pagina;
2. Fornire queste informazioni all'Agente in **un formato più conciso** (come .txt, .md o .json minimizzato);
3. Considerare l'**uso di un modello con una finestra di contesto più ampia**.

In questo modo, l'Agente potrà elaborare le informazioni senza superare i limiti del modello.

{% hint style="info" %}
**Nota per la navigazione web**:\
La funzione di ricerca web integrata ha un limite di 200.000 caratteri per le pagine HTML. Se stai usando funzioni personalizzate per accedere a pagine web molto lunghe, considera di utilizzare la funzione integrata di navigazione web o di pre-elaborare i contenuti per ridurne la dimensione.
{% endhint %}

#### Nome della funzione troppo lungo

Se il nome della tua funzione supera i 64 caratteri, **tutti i provider restituiranno un errore** e la funzione non potrà essere salvata o utilizzata.

Per risolvere questo problema:

1. Usa nomi concisi ma descrittivi (es. `prenota_appuntamento` invece di `prenota_appuntamento_medico_specialistico_con_notifica_email`)
2. Evita ripetizioni nel nome
3. Utilizza abbreviazioni comuni quando appropriato

{% hint style="warning" %}
Il limite di 64 caratteri si applica a **tutti i provider** (OpenAI, Anthropic, Mistral, ecc.) ed è un vincolo tecnico.
{% endhint %}

### Come verificare se le funzioni avanzate vengono chiamate?

Per controllare se le tue funzioni vengono effettivamente utilizzate:

1. Vai alla sezione **Conversazioni** del tuo Agente
2. Apri una conversazione in cui pensi sia stata utilizzata una funzione
3. Cerca l'icona di debug accanto ai messaggi
4. Clicca sull'icona dello scarafaggio ![](<../../../../.gitbook/assets/c9rs6riawulmc4nhs8f (1).svg>) per vedere i dettagli della chiamata alla funzione

Questo ti permetterà di verificare rapidamente se le tue funzioni vengono chiamate e che risultati stanno restituendo.


# Cache delle funzioni

La cache delle funzioni in AIsuru permette di memorizzare temporaneamente i risultati delle chiamate a funzioni, consentendo all'Agente di riutilizzare le informazioni senza ripetere richieste identiche.

### Come funziona la cache delle funzioni

Quando un utente interagisce con il tuo Agente e viene attivata una funzione:

1. Il risultato della chiamata alla funzione viene **salvato automaticamente nel contesto della conversazione**
2. Questo risultato diventa disponibile nelle successive iterazioni del dialogo
3. L'IA generativa è istruita per **controllare prima i dati in cache** prima di richiamare nuovamente una funzione
4. Se l'informazione necessaria è già presente, l'Agente utilizzerà i dati memorizzati invece di eseguire una nuova chiamata

Questa ottimizzazione porta diversi vantaggi:

* **Riduzione dei tempi di risposta**
* **Diminuzione del consumo di risorse**
* **Miglioramento dell'esperienza utente**

### Gestione della cache

La cache delle funzioni viene gestita automaticamente e i dati memorizzati sono disponibili sotto forma di:

* **Testi preformattati** che vengono allegati ai contenuti
* **Informazioni inserite nel contesto del dialogo**

Le informazioni in cache vengono considerate valide per la conversazione in corso o fino al completamento del contesto, dopodiché l'Agente potrà decidere di eseguire nuovamente la funzione per ottenere dati aggiornati.

### Personalizzazione tramite istruzioni

È possibile influenzare il comportamento della cache attraverso le istruzioni dell'IA generativa. Puoi:

* **Istruire l'Agente** a privilegiare i dati in cache per determinate funzioni
* **Forzare l'aggiornamento** in situazioni specifiche, ignorando la cache
* **Definire casi d'uso** in cui è sempre necessario richiamare la funzione

#### Esempio di istruzioni per la gestione della cache

```
Quando un utente chiede informazioni sul meteo:

1. Controlla se ci sono dati meteo già disponibili nella cache delle funzioni
2. Se i dati sono recenti (meno di 1 ora), utilizza quelli esistenti
3. Se i dati sono più vecchi o se l'utente specifica "aggiornati" o "attuali", chiama nuovamente la funzione
4. Per richieste relative a previsioni future, esegui sempre una nuova chiamata
```

### Esempi pratici

#### Esempio 1: Informazioni sul libro

Consideriamo questo scambio tra un utente e un Agente:

* **Utente**: "Non dirmi assolutamente a cosa si riferisce la caratteristica del libro, ma dimmi di che tipo è, NON IL VALORE (es. non dirmi 100kg ma dimmi 'peso')"
* **Agente**: "Basandomi sui dati ricevuti, posso dirti che la caratteristica del libro a cui ti riferisci è relativa al colore. Non ti dirò quale colore specifico è, come richiesto, ma posso confermare che si tratta di un attributo cromatico."
* **Utente**: "Ok ora senza USARE ALCUNA FUNZIONE, TU SAI il colore? Ora dillo"
* **Agente**: "Sì, so il colore perché è stato rivelato nella precedente chiamata alla funzione LIBRO che ha restituito 'pss il libro è giallo'. Quindi il colore del libro è giallo."

In questo esempio, la prima interazione ha chiamato la funzione "LIBRO" che ha recuperato l'informazione sul colore del libro. Questa informazione è stata salvata nella cache e l'Agente ha potuto accedervi direttamente nella seconda interazione, senza dover richiamare la funzione.

#### Esempio 2: Dati cliente in ambiente aziendale

* **Utente**: "Mostrami i dati di vendita del cliente ACME Corp"
* **Agente**: \[Chiama la funzione `getDatiCliente` con parametro "ACME Corp"] "Ecco i dati di vendita per ACME Corp: Fatturato annuale: €250.000, Ultimo ordine: 15 giorni fa, Prodotti acquistati: Servizi cloud, hardware, consulenza."
* **Utente**: "Qual è stata la loro spesa nell'ultimo trimestre?"
* **Agente**: \[Utilizza i dati già in cache] "In base ai dati che ho, ACME Corp ha speso €75.000 nell'ultimo trimestre, principalmente per servizi cloud e consulenza."
* **Utente**: "Ci sono stati cambiamenti recenti nel loro profilo?"
* **Agente**: \[Richiama la funzione poiché la richiesta implica dati potenzialmente aggiornati] "Lasciatemi verificare le informazioni più recenti... Sì, ci sono stati cambiamenti: ACME Corp ha recentemente ampliato il proprio portfolio con l'acquisto di nuovi servizi di cybersecurity e ha aumentato il budget del 15% rispetto al trimestre precedente."

### Limiti della cache

È importante essere consapevoli di alcuni limiti:

* La cache occupa una **porzione limitata del contesto** disponibile per il modello, circa il 15% del contesto del modello in uso
* Per un modello da 200k token di contesto, questo equivale a circa 120.000 caratteri
* Le chiamate di funzioni con risposte molto lunghe potrebbero subire troncamenti

### Best practice

Per utilizzare al meglio la cache delle funzioni:

1. **Struttura le risposte delle funzioni** in modo conciso e informativo
2. **Definisci chiaramente nelle istruzioni** quando utilizzare la cache e quando richiamare la funzione
3. **Considera la validità temporale** dei dati per funzioni che forniscono informazioni che cambiano nel tempo
4. **Monitora le prestazioni** dell'Agente per verificare che la cache stia effettivamente migliorando l'esperienza
5. **Bilanciare accuratezza e efficienza**: per dati critici o che cambiano frequentemente, potrebbe essere necessario limitare l'uso della cache

Utilizzando strategicamente la cache delle funzioni, potrai creare Agenti più reattivi e efficienti, migliorando significativamente l'esperienza complessiva dei tuoi utenti.


# Intenti dinamici

Gli intenti dinamici di AIsuru trasformano il tuo assistente virtuale in un potente strumento in grado di comprendere le richieste degli utenti e eseguire azioni concrete. Questa funzionalità avanzata permette alla tua IA di andare oltre la semplice conversazione, interagendo con sistemi esterni e automatizzando processi complessi.

In questa sezione, esploreremo:

* [**Cosa sono gli intenti dinamici**](cosa-sono-e-come-configurare-gli-intenti-dinamici.md) e come possono potenziare il tuo assistente IA;
* [C**ome configurare ed utilizzare gli slot**](come-usare-gli-slot.md) per raccogliere informazioni in modo naturale;
* [**Un esempio pratico di intento dinamico**](tunneling-esempio-di-una-live-chat-su-aisuru.md)**.**

Che tu stia cercando di creare un sistema di prenotazioni, automatizzare l'assistenza clienti o integrare la tua IA con servizi esterni, gli intenti dinamici di AIsuru ti offrono la flessibilità e la potenza necessarie per realizzare progetti IA avanzati.


# Cosa sono e come configurare gli intenti dinamici

**Gli** **intenti dinamici** sono una funzionalità avanzata di AIsuru che permette al tuo Agente di eseguire **azioni** in risposta a specifiche richieste dell'utente. Questa potente funzionalità consente di collegare il tuo Agente **a servizi esterni, automatizzare processi e fornire risposte dinamiche** basate su **dati in tempo reale**.

### Come funziona un intento dinamico

Il processo di un intento dinamico si svolge in diverse fasi:

* L'utente invia uno specifico messaggio (l'invocazione dell'intento dinamico);
* AIsuru riconosce l'intento ed estrae eventuali valori degli **slot**;
* AIsuru chiama il **webhook** fornendo il nome dell'intento e il valore degli slot;
* Il webhook elabora la richiesta e restituisce una risposta;
* L'Agente mostra la risposta elaborata all'utente, senza rielaborarla.

### Come configurare un intento dinamico

Per configurare un nuovo intento dinamico, segui questi passaggi:

1. Accedi al pannello di gestione del tuo Agente in AIsuru;
2. Seleziona "**Funzioni**" dalla barra laterale;
3. Accedi al tab "**Intenti dinamici**" e premi sul pulsante "**Nuovo intento**";
4. Compila i seguenti campi:
   * **Nome**: un identificatore unico per l'intento (senza spazi);
   * **Invocazioni**: le frasi che attiveranno questo intento;
   * **Webhook**: l'URL del servizio esterno da chiamare;
   * **Validità**: specifica per quanto tempo memorizzare la risposta.
5. Seleziona l'opzione "**Chiama quando inattivo**" se desideri che l'intento venga attivato durante l'inattività dell'utente:
   * Se selezionato, questo intento verrà chiamato quando l'utente è inattivo.
   * Può essere usato per notificare stati di servizio o fornire suggerimenti personalizzati basati su azioni in background.
   * In questo caso, il testo di invocazione sarà vuoto.
6. Salva l'intento;
7. Ricorda di [**configurare gli slot**](come-usare-gli-slot.md) se necessario.

### Vantaggi degli intenti dinamici

1. **Integrazione con servizi esterni**: collega facilmente l'Agente a API e database esterni;
2. **Risposte in tempo reale**: fornisci informazioni aggiornate basate su dati attuali;
3. **Automazione**: esegui azioni specifiche in risposta a determinate richieste;
4. **Personalizzazione**: crea esperienze utente su misura e contestuali;
5. **Flessibilità**: adatta facilmente l'Agente a nuove funzionalità e casi d'uso.

### Esempi di utilizzo

Gli intenti dinamici possono essere utilizzati in vari scenari, come:

* Recuperare informazioni **meteo** in tempo reale;
* Effettuare **prenotazioni** in un sistema esterno;
* Controllare lo **stato di un ordine** o di una spedizione;
* Fornire **quotazioni di borsa** aggiornate;
* Interagire con sistemi **domotici**.

Una volta configurato, il tuo Agente potrà utilizzare questo intento quando riconosce una delle frasi di invocazione nella conversazione con l'utente, permettendoti di creare interazioni più dinamiche e potenti.


# Come usare gli slot

Gli **slot** sono una componente fondamentale degli intenti dinamici in AIsuru. Permettono di estrarre informazioni specifiche dalle richieste degli utenti, rendendo gli intenti più flessibili e potenti.

### Cos'è uno slot

Uno slot è una **variabile** che può essere estratta dalla frase dell'utente e passata al webhook dell'intento. Gli slot permettono di creare intenti dinamici che possono gestire una varietà di input utente, rendendo le interazioni più naturali e contestuali.

### Creazione di un nuovo slot

Per configurare un nuovo slot, segui questi passaggi:

1. Accedi alla sezione "**Funzioni**" > "**Intenti dinamici**" del tuo Agente;
2. Seleziona il tab "**Slot**" e clicca su "**Nuovo slot**";
3. Compila i campi richiesti:
   1. **Nome**: assegna un nome identificativo allo slot;
   2. **Valori fissi**: aggiungi i valori predefiniti che lo slot può assumere; usa il pulsante "Aggiungi valore" per inserire più opzioni;
   3. **Webhook**: inserisci l'URL del servizio esterno che gestirà questo slot;
   4. **Validità (minuti)**: definisci per quanto tempo la risposta dello slot deve essere memorizzata nella cache; se non specificato, la risposta non verrà salvata in cache;
4. Utilizza il pulsante TEST per assicurarti che funzioni correttamente.

### Utilizzo degli slot nelle invocazioni

Gli **slot** permettono di estrarre informazioni specifiche dalle richieste degli utenti. Per utilizzare gli slot nelle invocazioni:

1. Definisci gli slot nella configurazione dell'intento;
2. Usa le **parentesi graffe {}** per indicare dove estrarre il valore dello slot nelle frasi di invocazione e inserisci il nome dello slot all'interno delle parentesi graffe;

Esempi di slot in un'invocazione:

* "Qual è il meteo a {citta}?"
* "Prenota un volo da {citta\_partenza} a {citta\_arrivo} per il {data}"

Quando l'utente fa una richiesta come "Qual è il meteo a Roma?", AIsuru riconoscerà l'intento e estrarrà "Roma" come valore dello slot "citta".

### Slot multipli

Puoi utilizzare più slot in una singola invocazione. Ad esempio: "Prenota un tavolo per {numero\_persone} persone il {data} alle {ora}"

In questo caso, AIsuru estrarrebbe i valori per tre slot diversi: numero\_persone, data e ora.

### Gestione degli slot mancanti

Se un slot obbligatorio non viene fornito dall'utente, AIsuru può essere configurato per richiedere esplicitamente l'informazione mancante. Ad esempio:

* Utente: "Qual è il meteo?";
* AIsuru: "Per quale città vorresti conoscere il meteo?";
* Utente: "Roma";
* AIsuru: \[procede con l'intento utilizzando "Roma" come valore per lo slot "citta"].

### Validazione dei valori degli slot

È possibile implementare una logica di validazione nel webhook per assicurarsi che i valori degli slot siano corretti e utilizzabili. Ad esempio:

* Verificare che una data sia nel formato corretto e nel futuro;
* Controllare che un numero di persone sia ragionevole per una prenotazione;
* Validare che una città sia presente nel database del servizio meteo.

### Best practices per l'uso degli slot

* Usa nomi di slot descrittivi e coerenti in tutto il tuo Agente;
* Assicurati che le invocazioni coprano diverse variazioni di come gli utenti potrebbero formulare le richieste;
* Testa le invocazioni con diversi input per assicurarti che gli slot vengano estratti correttamente;
* Fornisci descrizioni chiare per ogni slot per facilitare la manutenzione e la comprensione dell'intento nel tempo;
* Implementa una logica di fallback nel tuo webhook per gestire casi in cui i valori degli slot non sono validi o mancanti.

### Esempi avanzati di utilizzo degli slot

* **Slot con valori predefiniti**: Configura slot con valori predefiniti per gestire casi in cui l'utente non specifica un'informazione. Ad esempio, un slot "data" potrebbe avere come valore predefinito la data odierna;
* **Slot concatenati**: Crea intenti che utilizzano le informazioni di slot precedenti per contestualizzare le richieste successive. Ad esempio, dopo aver chiesto il meteo per una città, l'Agente potrebbe ricordare la città per domande successive sulla stessa località;

L'uso efficace degli slot può rendere i tuoi intenti dinamici più potenti e flessibili, permettendoti di creare esperienze conversazionali più naturali e contestuali per i tuoi utenti. Gli slot consentono al tuo Agente di adattarsi a una vasta gamma di input utente, migliorando la sua capacità di comprendere e rispondere alle richieste in modo preciso e pertinente.


# Tunneling: esempio di una live chat su AIsuru

## Tunneling: esempio di una live chat

In questa sezione vedremo come implementare una live chat usando gli intenti dinamici e il tunneling. Questo esempio ci permetterà di esplorare nel dettaglio sia il funzionamento del tunneling che la struttura delle chiamate degli intenti dinamici.

#### Il caso della live chat

Una live chat è un esempio perfetto per illustrare il tunneling poiché richiede:

* Una conversazione continuativa con un servizio esterno;
* Il mantenimento del contesto tra i messaggi;
* La gestione in tempo reale delle risposte.

#### Struttura dell'intento dinamico

Per implementare la live chat, configuriamo l'intento dinamico con:

* Nome: "LIVE\_CHAT";
* Frasi di attivazione: "Voglio parlare con un operatore", "Live chat", ecc.;
* Webhook: URL del servizio che gestisce la live chat.

Quando l'utente attiva l'intento, il webhook riceve una richiesta con questa struttura:

```json
{
  "intentName": "LIVE_CHAT",
  "utterance": "Voglio parlare con un operatore",
  "slotValues": {},
  "currentTag": "string",
  "currentTagAuthenticated": true,
  "contextVars": {},
  "memoriID": "string",
  "sessionID": "string",
  "culture": "it-IT"
}
```

#### Avvio del tunneling

Il webhook risponde attivando il tunneling per prendere il controllo della conversazione:

```json
{
  "emission": "Ti sto mettendo in contatto con un operatore. Attendi un momento...",
  "conclusive": true,
  "tunneling": true
  }
}
```

Da questo momento:

1. Ogni messaggio dell'utente viene inviato direttamente al webhook;
2. L'Agente non elabora più i messaggi ma li inoltra al servizio di chat;
3. Le risposte dell'operatore arrivano attraverso il webhook (che le passa all'Agente con l'emission).

#### Gestione della conversazione

Durante la chat, ogni messaggio dell'utente genera una richiesta al webhook:

```json
{
  "intentName": "LIVE_CHAT",
  "utterance": "Ho un problema con il mio ordine",
  "sessionID": "string",
  "culture": "it-IT"
}
```

Il webhook risponde mantenendo attivo il tunneling:

```json
{
  "emission": "Operatore: Certo, mi dica il numero del suo ordine",
  "tunneling": true,
  "conclusive": true
}
```

#### Chiusura della chat

Quando l'operatore chiude la chat, il webhook invia una risposta che termina il tunneling:

```json
{
  "emission": "La chat è stata chiusa. Grazie per aver utilizzato il nostro servizio di assistenza!",
  "tunneling": false,
  "conclusive": true
}
```

L'Agente riprende il normale controllo della conversazione.

{% hint style="info" %}
Il flag `tunneling` determina chi gestisce la conversazione: se `true`, il webhook ha il controllo; se `false`, l'Agente riprende il controllo.
{% endhint %}

L'esempio della live chat dimostra come il tunneling permetta di creare interazioni complesse mantenendo un'architettura pulita e gestibile. Gli stessi principi si possono applicare a molti altri scenari che richiedono una conversazione continuativa con un sistema esterno.


# Model Context Protocol (MCP) su AIsuru

Su AIsuru è possibile sfruttare gli MCP per connettersi a servizi esterni. Questo standard open-source, sviluppato da Anthropic nel 2024, permette di creare in maniera semplice delle integrazioni molto potenti.

In questa sezione, esploreremo:

* [Cosa sono gli MCP e come si usano](mcp-cosa-sono-e-come-si-utilizzano.md);
* [La lista degli MCP già disponibili in piattaforma](mcp-di-aisuru-quali-sono-e-come-si-attivano.md).

Che tu stia cercando di estendere le capacità del tuo Agente con servizi esterni, accedere a dati in tempo reale o creare esperienze utente più ricche e contestualizzate, gli MCP (Model Context Protocol) di AIsuru ti offrono gli strumenti necessari per realizzare la tua visione. Continua a leggere per scoprire come connettere il tuo Agente al mondo esterno e portare la tua implementazione al livello successivo! 🚀


# MCP: cosa sono e come si utilizzano

Model Context Protocol (MCP) è uno standard aperto per la comunicazione tra AI assistants e sistemi esterni.

In piattaforma sono disponibili molteplici MCP già preconfigurati, ma si possono anche [creare di nuovi](mcp-cosa-sono-e-come-si-utilizzano.md#dove-trovare-mcp-server-e-i-rischi).

**Caratteristiche principali:**

* Protocollo standardizzato per l'integrazione di strumenti e dati
* Architettura client-server che separa i modelli AI dalle fonti di dati
* Comunicazione bidirezionale tra LLM e risorse esterne
* Gestione sicura del contesto e delle credenziali

Obiettivo: Permettere ai modelli AI di accedere in modo sicuro e standardizzato a strumenti, database e API esterne durante le conversazioni.

## MCP: Cosa sono i "Tools"?

Un MCP funziona tramite azioni individuali chiamate Tools.\
\
I tools (strumenti) in MCP sono funzioni specifiche che permettono all'AI di interagire con sistemi esterni in modo strutturato e sicuro.

#### Come funzionano:

1. Il server MCP espone una lista di tools disponibili;
2. L'AI può vedere quali tools esistono e cosa fanno;
3. L'AI decide autonomamente quale tool usare in base alla richiesta dell'utente;
4. Esegue il tool;
5. Riceve la risposta e la elabora per l'utente.

#### Differenza con il Function Calling

Il **function calling** è lo strumento per creare integrazioni personalizzate quando gli MCP disponibili non soddisfano le tue esigenze specifiche. Richiede competenze tecniche di programmazione.

#### Quando usare gli MCP

Gli MCP sono **la scelta ideale** se:

* vuoi integrare **servizi comuni** come; servizi di analisi dati, ricerca web o database popolari;
* preferisci **soluzioni rapide**;
* cerchi integrazioni **già testate e supportate** dal team di AIsuru;
* hai bisogno di una **configurazione veloce** senza dover scrivere codice;
* vuoi **manutenzione automatica**: gli aggiornamenti sono gestiti da AIsuru.

#### Quando usare il Function Calling

Il function calling è **necessario** se:

* devi collegarti a **sistemi proprietari o API specifiche** della tua azienda;
* hai **requisiti personalizzati** che gli MCP disponibili non coprono;
* disponi di **competenze tecniche** o di un team di sviluppo;
* hai bisogno di **controllo totale** su come funziona l'integrazione;
* vuoi creare **workflow complessi e su misura** per il tuo business.

## Accesso alla sezione MCP

**Aprire la sezione MCP**

1. Accedi alla piattaforma AIsuru;
2. Premi sul pulsante "Gestisci" di un qualsiasi agente per poterlo modificare;
3. Al interno del nostro agente nella barra laterale sinistra, scorri fino a trovare la voce "MCP";
4. Clicca su "MCP".

Visualizzerai la schermata principale con:

* riquadro con un simbolo "+" per aggiungere un MCP personalizzato;
* griglia di card con gli MCP disponibili.

## **Dove trovare MCP server e i rischi**

Quando si cerca l'MCP di un servizio esterno è fondamentale verificarne la provenienza. Ad esempio puoi trovare server MCP personalizzati nel repository ufficiale su GitHub

{% hint style="danger" %}
L'installazione di server MCP da fonti non attendibili può causare furto di credenziali, esfiltrazione di dati sensibili, esecuzione di comandi non autorizzati e attacchi a cascata su altri strumenti connessi.&#x20;
{% endhint %}

## Attivare un MCP esistente

AIsuru contiene diversi MCP già preconfigurati, li puoi trovare nella sezione [MCP di AIsuru](mcp-di-aisuru-quali-sono-e-come-si-attivano.md) e richiedono solamente la compilazione di parametri specifici.

#### **Identifica l'MCP che vuoi attivare**

Nella schermata principale, ogni card mostra:

* Nome dell'MCP (es. "MongoDB MCP Server", "PostgreSQL MCP Server");
* Icona identificativa;
* Tag di categoria (es. "mongodb", "generic");
* Descrizione breve;
* Link "Mostra di più";
* Numero di parametri obbligatori (es. "2 parametri obbligatori").

## Aggiornare il prompt dell'agente

Importante: Dopo aver configurato un MCP, l'agente non lo utilizzerà automaticamente. Devi aggiornare le [istruzioni](../../../ai-generativa/prompt-engineering/) per istruire l'agente su quando e come usare l'MCP.

#### Accedere al prompt di sistema

1. Dalla sezione MCP, torna alla gestione del tuo agente;
2. Nella barra laterale sinistra, clicca su impostazioni;
3. Naviga alla sezione "[IA](../../../ai-generativa/prompt-engineering/)" (solitamente nelle prime voci del menu).

#### Modificare il prompt

Aggiungi una sezione dedicata all'MCP nel prompt esistente.

Struttura consigliata:

```
[Prompt esistente dell'agente]


## Utilizzo degli strumenti MCP


Hai accesso a un server MCP che ti permette di:
- [Elenca le funzionalità dell'MCP];
- [Esempio: interrogare il database MongoDB aziendale];
- [Esempio: recuperare dati dei clienti dal CRM].


Quando l'utente richiede [tipo di operazione], utilizza gli strumenti MCP disponibili.


Processo:
1. Identifica quale strumento MCP è appropriato;
2. Esegui lo strumento con i parametri corretti;
3. Elabora il risultato ricevuto;
4. Presenta l'informazione all'utente in modo chiaro.
```

#### Salvare le modifiche

1. Scorri fino alla fine della pagina del prompt;
2. Clicca sul pulsante "Salva" o "Aggiorna";
3. Attendi il messaggio di conferma.

***

## Testare l'MCP

**Avviare una conversazione**

1. Nella barra laterale del pannello di gestione dell'Agente, clicca su **"Prova"** (è il primo pulsante che appare);
2. Si aprirà direttamente una chat dove potrai conversare con il tuo Agente;
3. Prova a formulare una richiesta di test.

#### Formulare una richiesta di test

Crea una richiesta specifica che dovrebbe attivare l'MCP.

```
Esempi per diversi MCP:
MongoDB MCP:
"Mostrami gli ultimi 5 ordini nel database"

PostgreSQL MCP:
"Quanti utenti sono registrati nel sistema?"

MCP personalizzato CRM:
"Recupera le informazioni del cliente con ID 12345"
```

#### Verificare la risposta

L'agente dovrebbe:

1. Fornire una risposta con dati reali ottenuti dall'MCP;
2. (Opzionale) Spiegare quale strumento ha utilizzato.

Se non riesci a capire se ha utilizzato o no realmente un mcp puoi verificare andando nella sezione [conversazioni:](../../../analisi-ottimizzazione/analisi-e-ottimizzazione-dellagente/conversazioni.md)

Cliccando sull'icona ![](https://docs.aisuru.com/~gitbook/image?url=https%3A%2F%2F1354986948-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FuUjufNfSvKb2ycDd1oKF%252Fuploads%252Fd0fptHqTMRmTfQqnLTJR%252Fc9rs6riawulmc4nhs8f.svg%3Falt%3Dmedia%26token%3Dc3f4f897-3d1c-4b80-a610-faa4f87683ab\&width=300\&dpr=4\&quality=100\&sign=e9889ecb\&sv=2) dopo aver aperto una conversazione e aver trovato il messaggio in questione potrai vedere:&#x20;

* **Quale MCP è stata chiamato** (es. "ESEGUI\_TOOL\_SALESFORCE\_MCP\_SERVER\_MCP\_PROD' on \[timestamp\_chiamata]") ;
* **Il risultato completo** restituito dal MCP.

Questo strumento è particolarmente utile per:

* Verificare che le tue funzioni vengano chiamate correttamente;
* Controllare i dati restituiti dalle funzioni;
* Fare debug di problemi nelle integrazioni esterne.

#### Se l'MCP non viene utilizzato

Se l'agente risponde con dati sbagliati o non riesce a collegarsi alla funzione:

1. Verifica il prompt dalle [istruzioni](../../../ai-generativa/prompt-engineering/):
   1. Torna alla sezione "IA";
   2. Controlla che le istruzioni sull'MCP siano presenti e salvate.
2. Verifica la [configurazione MCP](mcp-cosa-sono-e-come-si-utilizzano.md#configurare-un-mcp-preconfigurato):
   1. Torna alla sezione "MCP";
   2. Verifica che l'MCP sia presente nella lista e configurato nella maniera corretta.
3. Riformula la richiesta in modo più esplicito:
   1. Invece di: "Cosa sai sui clienti?";
   2. Prova: "Interroga il database e mostrami i primi 10 clienti".


# MCP di AIsuru: quali sono e come si attivano

Questa pagina descrive come configurare correttamente i parametri per ogni MCP (Model Context Protocol) disponibile in AIsuru. Per ogni MCP troverai l'elenco completo dei parametri da inserire, con spiegazioni dettagliate su ciascun campo.

Gli MCP permettono al tuo Agente di interagire con servizi esterni e accedere a funzionalità avanzate, come interrogare database, generare immagini, automatizzare workflow e molto altro.

Questa pagina spiegherà nel dettaglio ogni MCP presente in piattaforma spiegando nello specifico:

* cos'è e come funziona;
* parametri di configurazione;
* come ottenere i parametri (se necessari);
* parametri Personalizzati.

## Come funziona un MCP su AIsuru

Su AIsuru un MCP quando attivato crea due funzioni avanzate

* Una funzione per listare tutti tool&#x20;

```
ESEMPIO:
"LISTA_TOOL_X_MCP_PROD"
```

* Una funzione per eseguire i tool

```
ESEMPIO:
"ESEGUI_TOOL_X_MCP_PROD"
```

## Come configurare un MCP

Per configurare un MCP nel tuo Agente:

1. Accedi al pannello di gestione del tuo Agente;
2. Nella barra laterale, clicca su "MCP";
3. Seleziona l'MCP che desideri attivare dalla griglia disponibile;
4. Compila i campi obbligatori e, se necessario, quelli opzionali;
5. Clicca su "Crea MCP" per salvare la configurazione.

Una volta configurato, l'MCP sarà disponibile per il tuo Agente durante le conversazioni.

## 0. Creare un MCP personalizzato

Utilizza questa procedura se l'MCP desiderato non è presente tra quelli preconfigurati.

Dopo aver cliccato su Aggiungi un MCP personalizzato, si aprirà una finestra modale intitolata "Crea Nuovo MCP" potrai compilare diversi campi.

#### Parametri di configurazione:

* **Nome (obbligatorio):** digita un nome identificativo (es. "Custom MCP Server", "Integrazione CRM");
* **Descrizione (obbligatorio):** digita una descrizione dettagliata di cosa fa l'MCP;
* **Prompt (facoltativo):** inserisci istruzioni su come l'agente deve usare questo MCP;
* **Token di autenticazione (facoltativo):** incolla qui dentro il token di autenticazione dal tuo servizio esterno
* **URL (obbligatorio):** inserisci qua l'url identificativo del tuo mcp server

```
Nota: L'URL DEVE terminare con /mcp o /sse;

Esempi validi:
https://api.example.com/mcp;
https://mcp-server.mycompany.com/sse;
http://localhost:3000/mcp.

Esempi NON validi:
https://api.example.com (manca il suffisso);
https://api.example.com/api (suffisso errato).
```

#### Salvare l'MCP personalizzato

1. Controlla che tutti i campi obbligatori (Nome, Descrizione, URL) siano compilati;
2. Verifica che l'URL termini con /mcp o /sse;
3. Clicca sul pulsante "Crea MCP" in basso a destra;
4. Attendi il messaggio di conferma.

Per annullare: Cliccate su "Annulla" o sulla X in alto a destra.

## 1. AIsuru MCP Server

L'AIsuru MCP Server permette l'integrazione diretta con la piattaforma AIsuru AI, consentendo al tuo Agente di comunicare con altri agenti o funzionalità della piattaforma.

Questo MCP è particolarmente utile per:

* creare architetture multi-agente;
* permettere la comunicazione tra diversi agenti;
* accedere a funzionalità avanzate della piattaforma AIsuru.

#### Parametri di configurazione

* **Backend Url (obbligatorio)**

L'URL del backend AIsuru a cui connettersi.

**Formato:** `https://backend.aisuru.com`

**Esempio:** `https://backend.aisuru.com`

Questo parametro specifica l'indirizzo del server backend di AIsuru. **Utilizza l'URL fornito dalla piattaforma.**

* **Engine Url (obbligatorio)**

L'URL del motore AIsuru che elabora le richieste.

**Formato:** `https://engine.aisuru.com`

**Esempio:** `https://engine.aisuru.com`

Questo parametro indica l'endpoint del motore di elaborazione. **Utilizza l'URL fornito dalla piattaforma.**

* **Tenant Url (obbligatorio)**

L'URL specifico del tuo tenant AIsuru.

**Formato:** `https://mytenant.aisuru.com`

**Esempio:** `https://aisuru.com`

Ogni tenant ha un URL univoco che identifica la tua organizzazione sulla piattaforma AIsuru.

#### Parametri personalizzati

Puoi aggiungere parametri personalizzati in formato JSON per estendere le funzionalità dell'MCP. Consulta la documentazione specifica dell'API AIsuru per i parametri disponibili.

**Formato:** `{"timeout": 30, "retries": 3}`

#### Nota: Modificare il prompt

Aggiungi una sezione dedicata all'MCP nel prompt esistente specificando con quale agente comunicare e quando, prendendo l'ID agente del agente selezionato.

#### **Esempio di come si usa AIsuru MCP server in un system prompt:**

```
Se l'utente vuole interrogare (NOME AGENTE), si tratta di un agente AIsuru che ha questo id: (ID), Rivolgi la domanda a questo agente

----

Se l'utente vuole interrogare Manuela, si tratta di un agente AIsuru che ha questo ID: b6fc6009-529f-42c1-91e6-5228f695fc81, Rivolgi la domanda a questo agente
```

## 2. Free Image Generator

Il Free Image Generator permette al tuo Agente di generare immagini basate su descrizioni testuali utilizzando il servizio Pollinations.ai.

Questo MCP è utile per:

* creare immagini personalizzate durante le conversazioni;
* generare contenuti visivi in base alle richieste degli utenti;
* arricchire le risposte con elementi grafici.

#### Parametri di configurazione

Questo MCP non richiede parametri obbligatori. La configurazione base è sufficiente per iniziare a generare immagini.

#### Parametri personalizzati

Puoi specificare parametri personalizzati in formato JSON per controllare la generazione delle immagini.

**Formato:** `{"timeout": 30, "retries": 3}`

**Esempio:** `{"timeout": 30, "retries": 3, "api_version": "v2", "region": "eu-west-1"}`

I parametri comuni includono:

* `timeout`: tempo massimo di attesa in secondi;
* `retries`: numero di tentativi in caso di errore;
* `api_version`: versione dell'API da utilizzare;
* `region`: regione geografica del servizio.

#### Note importanti

Verifica i Termini e Condizioni del sito Pollinations.ai prima di utilizzare questo MCP in produzione.

#### **Esempio di come si usa free image generator in un system prompt:**

Free image generator permette al tuo agente ai di creare immagini, puoi chiedere l'attivazione di questo MCP in maniera dinamica durante una conversazione o anche specificando un evento in particolare nel system prompt.

```
ESEMPIO: 
Sei un assistente AI con capacità di generazione di immagini tramite Pollination MCP.

## Generazione di Immagini
Tu generi un immagine alla fine di ogni messagio del utente, usa il server MCP Pollination per generarle.

### Flusso di Lavoro:
1. Analizza la richiesta dell'utente
2. Crea un prompt dettagliato e descrittivo in inglese
3. Chiama lo strumento Pollination con i parametri appropriati
4. Presenta l'immagine generata all'utente

### Linee Guida per il Prompt Engineering:
- Sii specifico e descrittivo
- Includi dettagli su stile, atmosfera, illuminazione, composizione
- Evita termini vaghi - usa descrizioni concrete
- Per immagini realistiche: menziona stile fotografico, impostazioni della fotocamera
- Per immagini artistiche: specifica movimento artistico, tecnica, medium

### Esempio:
Utente: "crea un'immagine di un gatto spaziale"
Tu generi: "A majestic orange tabby cat wearing a detailed astronaut helmet, floating in deep space with nebula clouds in purple and blue, stars twinkling in background, cinematic lighting, photorealistic, 8k quality"
```

## 3. MongoDB MCP Server

Il MongoDB MCP Server consente al tuo Agente di connettersi a un database MongoDB ed eseguire operazioni di lettura e scrittura.

Questo MCP è utile per:

* interrogare database MongoDB;
* memorizzare e recuperare dati durante le conversazioni;
* gestire dati strutturati in formato documento.

#### Parametri <a href="#f0-9f-93-9d-parametri" id="f0-9f-93-9d-parametri"></a>

| Parametro           | Descrizione                           | Formato                         | Esempio                                                                                                     |
| ------------------- | ------------------------------------- | ------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `Connection String` | Connection string completo di MongoDB | `mongodb://` o `mongodb+srv://` | <p><code>mongodb://localhost:27017/</code><br><code>mongodb+srv://user:pass@cluster.mongodb.net/</code></p> |
| `Database Name`     | Nome del database da utilizzare       | Stringa alfanumerica            | `aisuru_test`, `production_db`                                                                              |

#### Come ottenere i parametri&#x20;

1. **Dopo la registrazione**, crea un cluster (scegli il piano M0 Free);
2. Clicca su **"Connect"** sul tuo cluster;
3. Scegli **"Connect your application";**
4. Seleziona **Driver**: Node.js o Python;
5.  Copia il **Connection String**:

    ```
    mongodb+srv://<username>:<password>@cluster0.xxxxx.mongodb.net/
    ```
6. Sostituisci `<password>` con la password del tuo database user;
7. **Database Name**: scegli tu (es. `test_db`, `aisuru`).

#### Parametri personalizzati

Puoi aggiungere parametri personalizzati in formato JSON per configurare opzioni avanzate della connessione MongoDB.

**Formato:**&#x20;

```json
{
  "timeout": 30000,
  "maxPoolSize": 10,
  "retryWrites": true,
  "readPreference": "primary"
}
```

## 4. AIsuru Data Analysis

AIsuru Data Analysis è un MCP JavaScript che supporta l'analisi di dati con ambiente di esecuzione isolato. Consente al tuo Agente di eseguire codice JavaScript/TypeScript per analisi complesse, elaborazioni e business intelligence.

Questo MCP è utile per:

* analizzare dataset complessi;
* eseguire calcoli e aggregazioni;
* elaborare dati in tempo reale durante le conversazioni.

#### Parametri di configurazione

Questo MCP non richiede parametri obbligatori nella configurazione base. L'ambiente di esecuzione viene fornito automaticamente.

#### Parametri personalizzati

Puoi specificare parametri personalizzati in formato JSON per configurare l'ambiente di esecuzione.

**Formato:** `{"timeout": 30, "retries": 3}`

**Esempio:** `{"timeout": 30, "retries": 3, "api_version": "v2", "region": "eu-west-1"}`

I parametri comuni includono:

* `timeout`: tempo massimo di esecuzione del codice in secondi (limite di 5 secondi);
* `retries`: numero di tentativi in caso di errore;
* `api_version`: versione dell'API;
* `region`: regione geografica.

#### Note importanti

* Il codice viene eseguito in un ambiente isolato (isolated-vm);
* Il timeout massimo è limitato a 128MB;
* L'accesso a URL esterni è limitato;
* Il codice può gestire sia espressioni semplici che codice complesso con variabili e refactoring;
* Verifica sempre i limiti di memoria e timeout prima di utilizzare questo MCP per analisi intensive.

#### **Esempio di come si usa data analysis in un system prompt:**

Questo MCP funziona molto bene su enormi quantità di dati, in questo esempio abbiamo un agente che fornisce quiz di pedagogia su un dataset con oltre 1000 quiz:

````
[16:46] 
## 📚 SISTEMA DI QUIZ CON MCP

### Accesso al Database Quiz (1.069 quiz)

Hai accesso a un **database di 1.069 quiz** tramite URL:

**URL Database**: `https://gist.githubusercontent.com/username/837b861112cb6ac7568f686c2a344fc2/raw/66d613cd1fa31ae8231beedea953d157b072246b/gistfile1.txt`

**IMPORTANTE**: Usa l'MCP js-executor per accedere al database da URL.

### Workflow per Accedere ai Quiz

**All'inizio della sessione**, usa l'MCP js-executor con l'URL del database:

```javascript
// Carica database da URL usando MCP js-executor
url: "https://gist.githubusercontent.com/username/837b861112cb6ac7568f686c2a344fc2/raw/66d613cd1fa31ae8231beedea953d157b072246b/gistfile1.txt"
code: "
  // Seleziona 10 quiz random
  const randomQuiz = data.sort(() => Math.random() - 0.5).slice(0, 10);
  return randomQuiz;
"
```

Questo carica automaticamente il JSON dall'URL e lo rende disponibile come variabile `data`.

### Esempi di Selezione Quiz con MCP

```javascript
// Esempio: Seleziona 10 quiz random
const randomQuiz = data.sort(() => Math.random() - 0.5).slice(0, 10);
return randomQuiz;
```

```javascript
// Esempio: Seleziona quiz per categoria
const quizCategoria = data.filter(q => q.category === 'pedagogia').slice(0, 10);
return quizCategoria;
```

```javascript
// Esempio: Statistiche database
const stats = {
  total: data.length,
  byCategory: data.reduce((acc, q) => {
    acc[q.category] = (acc[q.category] || 0) + 1;
    return acc;
  }, {})
};
return stats;
```

### Struttura Quiz nel Database

Ogni quiz ha questa struttura:
```json
{
  "id": 1,
  "category": "pedagogia",
  "difficulty": "C1",
  "question": "Domanda in spagnolo?",
  "options": ["Opción A", "Opción B", "Opción C", "Opción D"],
  "correct_answer": "A",
  "explanation": "Spiegazione dettagliata...",
  "tags": []
}
```
````

## 5. PostgreSQL MCP Server

Il PostgreSQL MCP Server consente al tuo Agente di connettersi a database PostgreSQL ed eseguire operazioni di lettura e scrittura.

Questo MCP è utile per:

* interrogare database relazionali PostgreSQL;
* eseguire query SQL complesse;
* gestire dati strutturati in tabelle relazionali.

#### Parametri <a href="#f09f939d-parametri-1" id="f09f939d-parametri-1"></a>



| Parametro           | Descrizione                           | Formato                               | Esempio                                                                                                                                        |
| ------------------- | ------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `Connection String` | Connection string completo PostgreSQL | `postgresql://user:pass@host:port/db` | <p><code>postgresql://postgres:pass@localhost:5432/mydb</code><br><code>postgresql://postgres:pass@db.xxx.supabase.co:5432/postgres</code></p> |

| Parametro                 | Descrizione                                    | Default      | Valori possibili                                                    |
| ------------------------- | ---------------------------------------------- | ------------ | ------------------------------------------------------------------- |
| `Access Mode`             | Modalità di accesso al database                | `read-write` | `read-write`, `read-only`                                           |
| `Ssl Mode`                | Modalità SSL per la connessione                | `prefer`     | `disable`, `allow`, `prefer`, `require`, `verify-ca`, `verify-full` |
| `Ssl Cert Path`           | Percorso del certificato client SSL            | -            | `/path/to/client-cert.pem`                                          |
| `Ssl Key Path`            | Percorso della chiave privata SSL              | -            | `/path/to/client-key.pem`                                           |
| `Ssl Ca Path`             | Percorso del CA certificate                    | -            | `/path/to/ca-cert.pem`                                              |
| `Ssl Reject Unauthorized` | Rifiuta connessioni con certificati non validi | `true`       | `true`, `false`                                                     |

#### Come ottenere i parametri

1. **Dopo la registrazione**, crea un nuovo progetto;
2. Vai su **Settings** (icona ingranaggio) → **Database;**
3.  Copia la **Connection string** in formato URI:

    ```
    postgresql://postgres:[YOUR-PASSWORD]@db.xxxxx.supabase.co:5432/postgres
    ```
4. **Ssl Mode**: usa `require` (Supabase richiede SSL);

**Nota su Supabase Connection Pooler**:

* **Porta 5432**: Connessione diretta (per transazioni e operazioni complesse);
* **Porta 6543**: Connection pooler (per applicazioni con molte connessioni simultanee).

#### Parametri personalizzati

Puoi aggiungere parametri personalizzati in formato JSON.

**Formato:**&#x20;

```json
{
  "poolSize": 20,
  "timeout": 60,
  "schema": "public",
  "applicationName": "aisuru_mcp"
}
```

## 6. n8n Workflow Server

L'n8n Workflow Server permette al tuo Agente di accedere ai tools reali dei workflow n8n tramite supergateway. n8n è una piattaforma di automazione che consente di creare workflow complessi connettendo diversi servizi.

Questo MCP è utile per:

* integrare workflow n8n esistenti;
* automatizzare processi complessi;
* collegare il tuo Agente a centinaia di servizi supportati da n8n.

#### Parametri <a href="#f09f939d-parametri-2" id="f09f939d-parametri-2"></a>

| Parametro      | Descrizione                    | Formato                 | Esempio                                                                                                             |
| -------------- | ------------------------------ | ----------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `Workflow Url` | URL del webhook o endpoint n8n | `https://` URL completo | <p><code>https://myinstance.app.n8n.cloud/webhook/xxx</code><br><code>http://localhost:5678/webhook/test</code></p> |

| Parametro           | Descrizione                                         | Default | Esempio                                    |
| ------------------- | --------------------------------------------------- | ------- | ------------------------------------------ |
| `Workflow Name`     | Nome identificativo del workflow                    | -       | `process_orders`, `sync_customers`         |
| `Supergateway Args` | Argomenti aggiuntivi per supergateway NPX           | -       | Parametri specifici per esecuzione via NPX |
| `Auth Token`        | Token di autenticazione (se il webhook lo richiede) | -       | `Bearer token123...`                       |

#### Come ottenere i parametri <a href="#f09f9491-come-ottenere-i-parametri-2" id="f09f9491-come-ottenere-i-parametri-2"></a>

**Opzione A: n8n Cloud**

1. **Dopo la registrazione** e login su n8n Cloud
2. **Crea un workflow** con un nodo **Webhook**
3. Nel nodo Webhook:
   * Clicca su **"Webhook URLs"**
   * Copia l'**URL di produzione** o **test**
   * Esempio: `https://your-instance.app.n8n.cloud/webhook/abc123xyz`
4. Questo URL è il tuo **Workflow Url**

{% hint style="info" %}
**Tip**: Attiva il workflow per rendere l'URL funzionante!
{% endhint %}

#### **Parametri personalizzati:**

```json
{
  "timeout": 60,
  "retries": 3,
  "headers": {
    "X-Custom-Header": "value"
  }
}
```

## 7. Fetch Url

Fetch Url è uno strumento per recuperare informazioni da un link e convertirle in formato HTML, JSON o markdown.

Questo MCP è utile per:

* estrarre contenuti da pagine web;
* recuperare dati da API pubbliche;
* convertire contenuti web in formati elaborabili dall'Agente.

#### Parametri di configurazione

Questo MCP non richiede parametri obbligatori. La configurazione base permette di recuperare contenuti da qualsiasi URL pubblico.

#### Parametri personalizzati

Puoi specificare parametri personalizzati in formato JSON per controllare il recupero dei dati.

**Formato:** `{"timeout": 30, "retries": 3}`

**Esempio:** `{"timeout": 30, "retries": 3, "api_version": "v2", "region": "eu-west-1"}`

I parametri comuni includono:

* `timeout`: tempo massimo di attesa per la risposta;
* `retries`: numero di tentativi in caso di errore;
* `api_version`: versione dell'API;
* `region`: regione geografica.

#### Note importanti

Per maggiori informazioni sul funzionamento di questo MCP, consulta la documentazione su GitHub: `https://github.com/modelcontextprotocol/servers/tree/main/src/fetch`.

#### **Esempio di come si usa Fetch url in un system prompt:**

````
# System Prompt: Assistente con Fetch URL

Sei un assistente AI che può recuperare contenuti da pagine web specifiche.

## Quando usare fetch_url
Usa lo strumento fetch_url quando:
- L'utente fornisce un URL specifico da analizzare
- Hai trovato un URL rilevante tramite ricerca web
- Devi verificare il contenuto attuale di una pagina

## Come funziona
```json
{
  "tool": "fetch_url",
  "url": "https://example.com/articolo"
}
```

Lo strumento restituisce il contenuto completo della pagina, che poi analizzi e riassumi.

## Esempio pratico

**Utente:** "Analizza questo articolo: https://www.corriere.it/economia/lavoro/25_articolo"

**Tu:**
1. Chiami fetch_url con l'URL fornito
2. Ricevi il contenuto della pagina
3. Estrai le informazioni chiave
4. Rispondi all'utente con un riassunto chiaro

**Risultato:** L'utente ottiene informazioni fresche direttamente dalla fonte, senza che tu debba basarti solo sulla tua conoscenza pregressa.
````

## 8. Microsoft SQL Server MCP

Il Microsoft SQL Server MCP consente al tuo Agente di connettersi a database Microsoft SQL Server e Azure SQL. Supporta query SQL, gestione schema, metriche e sicurezza enterprise.

Questo MCP è utile per:

* interrogare database SQL Server;
* eseguire query complesse su database enterprise;
* gestire dati in ambienti Microsoft Azure.

#### Parametri <a href="#f09f939d-parametri-3" id="f09f939d-parametri-3"></a>

| Parametro     | Descrizione                 | Formato                                                 | Esempio                           |
| ------------- | --------------------------- | ------------------------------------------------------- | --------------------------------- |
| `DB_HOST`     | Indirizzo del server SQL    | `nomeserver.database.windows.net` (Azure) o `localhost` | `aisuru-sql.database.windows.net` |
| `DB_DATABASE` | Nome del database           | Stringa alfanumerica                                    | `aisuru_db`, `production`         |
| `DB_USER`     | Username per autenticazione | `admin` o `admin@servername`                            | `sqladmin`                        |
| `DB_PASSWORD` | Password dell'utente        | Stringa complessa                                       | `MySecureP@ssw0rd123!`            |

| Parametro                     | Descrizione                     | Default | Valori possibili    |
| ----------------------------- | ------------------------------- | ------- | ------------------- |
| `DB_PORT`                     | Porta del server SQL            | `1433`  | Qualsiasi porta TCP |
| `DB_ENCRYPT`                  | Abilita crittografia TLS/SSL    | `true`  | `true`, `false`     |
| `DB_TRUST_SERVER_CERTIFICATE` | Accetta certificati self-signed | `false` | `true`, `false`     |
| `CONNECTION_TIMEOUT`          | Timeout connessione in secondi  | `15`    | 5-120               |
| `REQUEST_TIMEOUT`             | Timeout query in secondi        | `15`    | 5-300               |
| `POOL_SIZE`                   | Dimensione connection pool      | `10`    | 1-100               |

#### Come ottenere i parametri <a href="#f09f9491-come-ottenere-i-parametri-3" id="f09f9491-come-ottenere-i-parametri-3"></a>

**Opzione A: Azure SQL Database (Cloud)**

1. **Dopo aver creato** un Azure SQL Database;
2. Vai su **Azure Portal** → **SQL databases** → seleziona il tuo database;
3. Nel menu laterale, clicca su **Connection strings;**
4.  Troverai una stringa tipo:

    ```
    Server=tcp:myserver.database.windows.net,1433;
    Initial Catalog=mydatabase;
    User ID=sqladmin;
    Password={your_password};
    Encrypt=True;
    ```
5. **Estrai i parametri**:
   * `DB_HOST`: `myserver.database.windows.net`
   * `DB_DATABASE`: `mydatabase`
   * `DB_USER`: `sqladmin`
   * `DB_PASSWORD`: la password che hai impostato
   * `DB_PORT`: `1433` (o lascia vuoto, usa default)
   * `DB_ENCRYPT`: `true`&#x20;
   * `DB_TRUST_SERVER_CERTIFICATE`: `false`&#x20;

#### Parametri personalizzati

Puoi aggiungere parametri personalizzati in formato JSON.

**Formato:** `{"timeout": 30, "retries": 3}`

**Esempio:**&#x20;

```json
{
  "timeout": 30,
  "retries": 3,
  "connectionTimeout": 15,
  "requestTimeout": 30
}
```

## 9. Monday.com MCP Server

Il Monday.com MCP Server consente al tuo Agente di interagire con la piattaforma Monday.com per gestire progetti, task e collaborazione del team.

Questo MCP è utile per:

* creare e aggiornare task in Monday.com;
* recuperare informazioni su progetti;
* automatizzare la gestione del lavoro.

#### Parametri <a href="#f09f939d-parametri-4" id="f09f939d-parametri-4"></a>

| Parametro        | Descrizione                             | Formato                    | Esempio                            |
| ---------------- | --------------------------------------- | -------------------------- | ---------------------------------- |
| `Workspace Name` | Nome del workspace Monday.com           | Stringa                    | `Main Workspace`, `Marketing Team` |
| `Api Key`        | API token di autenticazione             | Stringa alfanumerica lunga | `eyJhbGciOiJIUzI1NiJ9...`          |
| `Token Param`    | Nome del parametro per passare il token | Stringa                    | `Authorization`, `api_token`       |

#### Come ottenere i parametri <a href="#f09f9491-come-ottenere-i-parametri-4" id="f09f9491-come-ottenere-i-parametri-4"></a>

1. **Dopo la registrazione** e login su Monday.com
2. **Workspace Name**:
   * Guarda nella sidebar a sinistra;
   * Vedrai il nome del workspace corrente (es. "Main Workspace", "Marketing Team");
   * Usa esattamente quel nome;
3. **Api Key** (API Token):
   * Clicca sulla tua **foto profilo** (in basso a sinistra);
   * Seleziona **Admin** (se sei admin) o **Developers;**
   * Nel menu laterale, vai su **Developers** → **Token API;**
   * Oppure vai direttamente a: [https://monday.com/admin/integrations/api](https://monday.com/admin/integrations/api) ;
   * Nella sezione **"Token API"**:
     * Clicca su **"Generate"** per creare un nuovo token ;
     * Oppure **"Show"** per vedere un token esistente;
   * Copia il token (inizia spesso con `eyJ...`);

{% hint style="warning" %}
**IMPORTANTE**: Salva il token in modo sicuro!
{% endhint %}

1. **Token Param**:
   * Questo specifica come passare il token nelle richieste API;
   * Per Monday.com, usa: **`Authorization;`**
   * Il formato standard è: `Authorization: Bearer {token};`

#### Esempio di configurazione completa <a href="#f0-9f-93-8b-esempio-di-configurazione-completa" id="f0-9f-93-8b-esempio-di-configurazione-completa"></a>

```
Workspace Name: Main Workspace
Api Key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWI...
Token Param: Authorization
```

#### Sicurezza API Token <a href="#f0-9f-94-92-sicurezza-api-token" id="f0-9f-94-92-sicurezza-api-token"></a>

* L'API token ha **gli stessi permessi** dell'utente che lo ha generato;
* Può accedere a tutte le board e workspace dell'utente;
* Non condividere mai il token pubblicamente;
* Ruota il token periodicamente per sicurezza;

#### Informazioni aggiuntive <a href="#f0-9f-93-9a-informazioni-aggiuntive" id="f0-9f-93-9a-informazioni-aggiuntive"></a>

**Trovare Workspace ID** (per riferimento):

* URL: `https://mycompany.monday.com/workspaces/12345678`
* L'ID è `12345678`

**Trovare Board ID** (per riferimento):

* URL: `https://mycompany.monday.com/boards/123456789`
* L'ID è `123456789`

#### Parametri personalizzati

Puoi aggiungere parametri personalizzati in formato JSON per configurare opzioni avanzate.

**Formato:**&#x20;

```json
{
  "apiVersion": "2024-01",
  "timeout": 60,
  "retries": 3
}
```

## 10. Salesforce MCP Server

Il Salesforce MCP Server consente al tuo Agente di interagire con Salesforce tramite NPX. Permette di accedere ai dati e alle funzionalità di Salesforce utilizzando OAuth 2.0 Client Credentials.

Questo MCP è utile per:

* recuperare informazioni da Salesforce CRM;
* aggiornare record e opportunità;
* automatizzare processi di vendita.

#### **Parametri**

| Parametro                    | Descrizione                                            | Formato                               | Esempio                             |
| ---------------------------- | ------------------------------------------------------ | ------------------------------------- | ----------------------------------- |
| `Salesforce Client Id`       | L'identificativo client OAuth 2.0 per l'autenticazione | `client_id_string`                    | `3MVG9xyz123abc...`                 |
| `Salesforce Client Secret`   | Il segreto client OAuth 2.0                            | `client_secret_string`                | `a1b2c3d4e5f6...`                   |
| `Salesforce Instance Url`    | L'URL della tua istanza Salesforce                     | `https://yourinstance.salesforce.com` | `https://company.my.salesforce.com` |
| `Salesforce Connection Type` | Il tipo di connessione Salesforce da utilizzare        | `oauth2`                              | `oauth2`                            |

| Parametro                  | Descrizione                                                                 | Default | Esempio                                                 |
| -------------------------- | --------------------------------------------------------------------------- | ------- | ------------------------------------------------------- |
| `Parametri personalizzati` | Parametri aggiuntivi in formato JSON per timeout, retry, versione API, ecc. | `-`     | `{"timeout": 30, "retries": 3, "api_version": "v58.0"}` |

#### Parametri personalizzati

Puoi aggiungere parametri personalizzati in formato JSON.

**Formato:** `{"timeout": 30, "retries": 3}`

**Esempio:** `{"timeout": 30, "retries": 3, "api_version": "v2", "region": "eu-west-1"}`

## 11. Wikipedia

L'MCP Wikipedia permette al tuo Agente di accedere direttamente ai contenuti di Wikipedia per recuperare informazioni enciclopediche.

Questo MCP è utile per:

* arricchire le risposte con informazioni enciclopediche;
* fornire contesto su persone, luoghi o eventi;
* accedere a conoscenze verificate e strutturate.

#### Parametri di configurazione

Questo MCP non richiede parametri obbligatori. L'accesso a Wikipedia è pubblico e non necessita di autenticazione.

#### Parametri personalizzati

Puoi specificare parametri personalizzati in formato JSON per controllare il recupero delle informazioni.

**Formato:** `{"timeout": 30, "retries": 3}`

**Esempio:** `{"timeout": 30, "retries": 3, "api_version": "v2", "region": "eu-west-1"}`

#### **Esempio di come si usa Wikipedia MCP in un system prompt:**

````
Sei un assistente AI che può accedere direttamente a Wikipedia per recuperare informazioni enciclopediche.

## Quando usare Wikipedia MCP
Usa lo strumento Wikipedia quando:
- L'utente chiede informazioni su persone, luoghi, eventi storici, concetti
- Serve una fonte enciclopedica autorevole e neutrale
- Vuoi dati strutturati (infobox, categorie, link correlati)

## Come funziona
```json
{
  "tool": "wikipedia_search",
  "query": "Impero Romano",
  "language": "it"
}
```

Lo strumento restituisce articoli Wikipedia con contenuto completo, infobox e metadata.

## Esempio pratico

**Utente:** "Chi era Giulio Cesare?"

**Tu:**
1. Chiami wikipedia_search con "Giulio Cesare"
2. Ricevi l'articolo completo con date, eventi, infobox
3. Estrai le informazioni più rilevanti
4. Rispondi in modo conciso citando Wikipedia

**Risultato:** L'utente ottiene informazioni verificate da fonte enciclopedica, con date precise e contesto storico accurato.
````

#### Note importanti

L'Agente può utilizzare Wikipedia per recuperare informazioni aggiornate durante le conversazioni. I contenuti sono soggetti alle licenze e ai termini d'uso di Wikipedia.

## 12. Zapier MCP Server

Il Zapier MCP Server consente al tuo Agente di accedere ai tools reali di Zapier tramite supergateway. Zapier permette di automatizzare workflow connettendo migliaia di applicazioni diverse.

Questo MCP è utile per:

* integrare Zapier nel tuo Agente;
* automatizzare processi tra diverse applicazioni;
* collegare servizi che non hanno MCP dedicati.

{% hint style="warning" %}
Al interno del pannello di configurazione del tuo mcp su [Zapier MCP](https://mcp.zapier.com/) ricordati di:<br>

* Inserire "other" nella sezione riguardante il Client;
* Andando nella sezione "connect" devi mettere come transport "SSE"
{% endhint %}

#### Parametri

| Parametro            | Descrizione                       | Formato                 | Esempio                                                                                             |
| -------------------- | --------------------------------- | ----------------------- | --------------------------------------------------------------------------------------------------- |
| `Zapier Webhook Url` | L'URL completo del webhook Zapier | `https://` URL completo | `https://hooks.zapier.com/hooks/catch/123456/abcdef/`\<br>\<br>`http://localhost:5678/webhook/test` |

| Parametro           | Descrizione                                         | Default | Esempio                                    |
| ------------------- | --------------------------------------------------- | ------- | ------------------------------------------ |
| `Automation Name`   | Nome identificativo dell'automazione Zapier         | `-`     | `process_orders`, `sync_customers`         |
| `Supergateway Args` | Argomenti aggiuntivi per supergateway NPX           | `-`     | Parametri specifici per esecuzione via NPX |
| `Auth Token`        | Token di autenticazione (se il webhook lo richiede) | `-`     | `Bearer token123...`                       |

#### Parametri personalizzati

Puoi aggiungere parametri personalizzati in formato JSON.

**Formato:** `{"timeout": 30, "retries": 3}`

**Esempio:** `{"timeout": 30, "retries": 3, "api_version": "v2", "region": "eu-west-1"}`

### Best practices

Quando configuri gli MCP per il tuo Agente, considera questi suggerimenti:

* **sicurezza**: non condividere mai API key, password o token di autenticazione. Utilizza sempre connessioni sicure (HTTPS, SSL/TLS) quando disponibili;
* **testing**: prova sempre la configurazione dell'MCP in un ambiente di test prima di utilizzarlo in produzione;
* **limitazioni**: verifica i limiti di rate (numero di richieste per minuto/ora) dei servizi esterni per evitare blocchi;
* **errori**: implementa una gestione degli errori appropriata nelle istruzioni dell'Agente per gestire eventuali problemi di connessione;
* **documentazione**: consulta sempre la documentazione ufficiale dei servizi esterni per comprendere le funzionalità disponibili e i requisiti di configurazione;
* **parametri personalizzati**: utilizza i parametri personalizzati in formato JSON per configurazioni avanzate, ma verifica sempre che siano supportati dall'MCP specifico.

### Limitazioni

Gli MCP hanno alcune limitazioni da considerare:

* **timeout**: ogni richiesta a un MCP ha un timeout massimo oltre il quale viene interrotta;
* **rate limiting**: i servizi esterni potrebbero limitare il numero di richieste in un determinato periodo;
* **sicurezza dei dati**: i dati passati attraverso gli MCP potrebbero essere visibili ai servizi esterni. Non utilizzare MCP per dati sensibili senza verificare le policy di privacy del servizio;
* **disponibilità**: gli MCP dipendono dalla disponibilità dei servizi esterni. Se un servizio è offline, l'MCP non funzionerà;
* **versioni API**: alcuni servizi potrebbero deprecare versioni API. Mantieni aggiornata la configurazione degli MCP.

### Risoluzione problemi comuni

#### L'MCP non si connette

Verifica che:

* tutti i parametri obbligatori siano compilati correttamente;
* le credenziali (API key, password, token) siano valide e non scadute;
* gli URL siano corretti e raggiungibili;
* il servizio esterno sia online e funzionante.

#### L'Agente non utilizza l'MCP

Assicurati che:

* l'MCP sia stato salvato correttamente dopo la configurazione;
* le istruzioni dell'Agente includano indicazioni su quando e come utilizzare l'MCP;
* la richiesta dell'utente sia effettivamente gestibile dall'MCP configurato.

#### Errori di autenticazione

Controlla che:

* le credenziali siano state copiate correttamente senza spazi aggiuntivi;
* le API key non siano scadute o revocate;
* i permessi associati alle credenziali includano le operazioni richieste.

#### Timeout o lentezza

Considera di:

* aumentare il valore del parametro `timeout` nei parametri personalizzati;
* verificare la connessione di rete;
* ottimizzare le query o le richieste per ridurre i tempi di elaborazione.


---
hidden: true
---

# Hosting dei server MCP e esempi pratici

### Come funziona l'hosting dei server MCP

AIsuru **non gestisce l'hosting dei server MCP**. La piattaforma si limita a **connettersi** ai server MCP che configuri, ma non li ospita direttamente. Questo ti dà massima flessibilità nella scelta di dove e come eseguire i tuoi server.

### Due modelli di hosting

Quando lavori con i server MCP, incontrerai principalmente due modelli:

#### 1. Server MCP gestiti da terze parti

Alcuni servizi ti offrono **server MCP già hostati e gestiti** dalla piattaforma stessa. In questo caso:

* il server MCP è già in esecuzione sui loro sistemi;
* tu ricevi semplicemente le credenziali di accesso (API key, URL, ecc.);
* ti connetti direttamente al loro servizio.

**Esempio pratico**: **Monday**

* Monday ospita e gestisce il server MCP per te;
* ti forniscono un'API key e un endpoint;
* tu inserisci questi parametri in AIsuru e sei subito operativo.

#### 2. Server MCP da hostare autonomamente

Altri server MCP richiedono che tu li **installi e gestisca autonomamente**. In questo caso:

* scarichi il software del server MCP;
* lo installi su un'infrastruttura di tua scelta;
* lo configuri secondo le tue esigenze;
* ottieni le credenziali per connetterti.

**Esempio pratico**: **AutoCAD MCP Server**

* devi installare il server MCP nella tua infrastruttura;
* configuri l'accesso ad AutoCAD;
* ottieni l'URL e le credenziali del tuo server;
* inserisci questi dati in AIsuru per la connessione.

### Opzioni di hosting per server self-hosted

Quando devi hostare autonomamente un server MCP, hai diverse possibilità:

* **cloud hosting;**
* **macchine virtuali;**
* **installazione locale;**
* **Docker e containerizzazione.**

#### Cloud hosting

Esegui il server su provider cloud come:

* AWS (Amazon Web Services);
* Azure (Microsoft);
* Google Cloud Platform;
* DigitalOcean;
* Linode.

{% hint style="success" %}
**Vantaggi**: alta disponibilità, scalabilità, accessibile ovunque
{% endhint %}

#### Macchina virtuale (VPS)

Usa un Virtual Private Server dedicato:

* Hetzner;
* OVH;
* Contabo.

{% hint style="success" %}
**Vantaggi**: maggiore controllo, costi prevedibili
{% endhint %}

#### Installazione locale

Esegui il server direttamente sul tuo computer o su un server aziendale:

* workstation locale;
* server aziendale on-premise;
* container Docker sulla tua macchina.

{% hint style="success" %}
**Vantaggi**: massimo controllo, nessun costo di hosting esterno, dati che non escono dalla tua rete
{% endhint %}

#### Docker e containerizzazione

Usa Docker per eseguire il server in container:

* su macchina locale;
* su server cloud;
* su Kubernetes cluster.

{% hint style="success" %}
**Vantaggi**: isolamento, portabilità, facile deployment
{% endhint %}

### Come AIsuru si connette ai server

Indipendentemente da dove hosta il tuo server MCP, AIsuru:

1. riceve da te i **parametri di connessione** (URL, credenziali, ecc.);
2. si connette al server tramite questi parametri;
3. comunica con il server per eseguire le operazioni richieste.

{% hint style="warning" %}
**Nota importante**: AIsuru non memorizza i dati dei server MCP, ma solo le informazioni necessarie per stabilire la connessione.
{% endhint %}

### Esempi pratici:

In questa sezione vedremo alcuni esempi pratici di MCP disponibili in piattaforma e di come potrebbero essere self-hosted o in Docker, nello specifico vedremo MongoDB.

**Opzioni di hosting**:

* **Cloud gestito**: MongoDB Atlas (il server è hostato da MongoDB)
* **Docker locale**: `docker run -d -p 27017:27017 mongo`
* **Installazione diretta**: MongoDB installato sul tuo sistema
* **Altri cloud**: AWS DocumentDB, Azure Cosmos DB

#### **MongoDB MCP locale**

**Connection String**:

```
mongodb://localhost:27017/
```

**Con autenticazione**:

```
mongodb://username:password@localhost:27017/
```

**Database Name**: scegli tu (es. `test`, `local`)

#### **MongoDB in Docker**

1.  Avvia il container:

    ```bash
    docker run -d -p 27017:27017 --name test-mongo \
      -e MONGO_INITDB_ROOT_USERNAME=admin \
      -e MONGO_INITDB_ROOT_PASSWORD=password123 \
      mongo:latest
    ```
2.  **Connection String**:

    ```
    mongodb://admin:password123@localhost:27017/
    ```
3. **Database Name**: quello che preferisci.


# Intenti dinamici, funzioni o MCP, cosa usare?

Gli intenti dinamici, le funzioni e gli MCP sono tre potenti strumenti di AIsuru per estendere le capacità del tuo Agente. Comprendere le loro differenze ti aiuterà a scegliere lo strumento più adatto per le tue esigenze specifiche.

### Intenti dinamici: controllo e sicurezza

Gli intenti dinamici:

* Offrono un maggior controllo sui parametri e sul flusso della conversazione;
* Non utilizzano l'IA generativa, garantendo risposte prevedibili;
* Sono ideali per processi strutturati e sicuri.

Quando usarli:

* Per raccogliere informazioni specifiche (es. prenotazioni, moduli);
* In situazioni che richiedono un livello maggiore di accuratezza e sicurezza.

🔒 Gli intenti dinamici sono la scelta migliore quando **sicurezza e prevedibilità** sono prioritarie.

### Funzioni: flessibilità e potenza

Le funzioni offrono maggiore flessibilità sui parametri e utilizzano l'IA generativa per interpretare risultati e generare risposte.

Quando usarle:

* Per interazioni complesse e variabili (es. apertura di un ticket di assistenza);
* Per conversazioni che richiedono approfondimenti o creatività.

💡 Le funzioni sono ideali quando vuoi sfruttare appieno le capacità dell'IA generativa per risposte più naturali e adattive.

### MCP (Model Context Protocol): estensioni intelligenti

Gli MCP (Model Context Protocol) sono server esterni che estendono le capacità del tuo Agente connettendolo a servizi e fonti dati esterne in tempo reale.

**Gli MCP:**

* Permettono all'Agente di accedere a informazioni aggiornate e servizi esterni;
* Utilizzano l'IA generativa per interpretare i risultati e integrarli nella conversazione;
* Si attivano automaticamente quando l'Agente identifica la necessità di usarli.

**Quando usarli:**

* Per dare all'Agente accesso a dati in tempo reale (es. ricerche web, database aziendali);
* Per integrare servizi esterni (es. CRM, gestionali, API di terze parti);
* Per estendere funzionalità senza dover sviluppare integrazioni custom.

🔌 Gli MCP sono la soluzione ideale quando vuoi connettere il tuo Agente a sistemi esterni e arricchire le sue conoscenze con dati sempre aggiornati.

### Tabella riassuntiva

Qui sotto trovi una tabella che ti può aiutare a decidere cosa usare tra intenti dinamici, funzioni e MCP. 👇

| Caratteristica                   | Intenti Dinamici                                                         | Funzioni                                                                                                                        | MCP                                                                                                                                                                          |
| -------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Controllo**                    | <p>Maggiore controllo,<br>minore flessibilità</p>                        | <p>Minore controllo,<br>maggiore flessibilità</p>                                                                               | Controllo delegato a servizi esterni, massima estensibilità                                                                                                                  |
| **Utilizzo dell'IA generativa**  | No                                                                       | Sì                                                                                                                              | Sì                                                                                                                                                                           |
| **Accuratezza**                  | Alta, ideali per processi strutturati                                    | Demandata all'IA generativa, tendenzialmente più bassa in favore di una maggiore flessibilità                                   | Dipende dalla fonte esterna; molto alta per dati strutturati e aggiornati                                                                                                    |
| **Prevedibilità delle risposte** | Risposte coerenti e prevedibili                                          | Risposte adattive e contestuali                                                                                                 | Risposte variabili basate su dati esterni in tempo reale                                                                                                                     |
| **Complessità**                  | Ottimi per processi semplici e strutturati                               | Adatti a interazioni complesse e variabili                                                                                      | Ideali per integrazioni con sistemi esterni e fonti dati multiple                                                                                                            |
| **Casi d'uso ideali**            | <ul><li>Raccolta informazioni specifiche</li><li>Inviare email</li></ul> | <ul><li>Assistenza tecnica avanzata</li><li>Integrazione real-time con sistemi esterni</li><li>Conversazioni creative</li></ul> | <p></p><ul><li>Ricerche web in tempo reale</li><li>Connessione a database aziendali</li><li>Integrazione con CRM e gestionali</li><li>Accesso a API di terze parti</li></ul> |


# Copia gli intenti dinamici, gli slot e le funzioni da un altro Agente

AIsuru ti permette di importare facilmente funzioni, intenti dinamici, slot e dizionario da un Agente esistente a un altro. Questa funzionalità è utile per riutilizzare e condividere funzionalità tra diversi Agenti, risparmiando tempo e assicurando coerenza.

### Come copiare intenti dinamici, slot, funzioni e dizionario

Per importare questi elementi da un altro Agente, segui questi passi:

1. Accedi al pannello di gestione dell'Agente di destinazione;
2. Nella barra laterale, clicca su "Import / Export";
3. Seleziona il tab "**Importa Funzioni e Intenti**";
4. Dal menu a tendina, seleziona l'Agente da cui vuoi importare;
5. Scegli gli elementi da importare tramite le checkbox:
   1. **Funzioni**: importa tutte le funzioni avanzate;
   2. **Intenti**: importa gli intenti dinamici
   3. **Slots**: importa gli slot configurati
   4. **Dizionario**: importa il dizionario personalizzato
6. Clicca sul pulsante "Importa" per confermare.

✅ Finito! Gli elementi selezionati sono ora disponibili nel tuo Agente di destinazione.

### Vantaggi dell'importazione

L'importazione di funzioni, intenti, slot e dizionario da un Agente esistente offre diversi vantaggi:

* Consente di **arricchire rapidamente le capacità del tuo Agente**;
* Permette di **creare facilmente backup delle funzionalità** su altri Agenti;
* **Facilita il riutilizzo di funzionalità già sviluppate** in progetti precedenti;
* **Mantiene la coerenza terminologica** importando anche il dizionario.


# Gestione degli utenti

La gestione efficace di utenti e persone è fondamentale per sfruttare appieno le potenzialità di AIsuru. Questa sezione ti guiderà attraverso i concetti chiave e le funzionalità essenziali per amministrare correttamente i diversi ruoli all'interno della piattaforma.

In questa sezione, esploreremo:

* **Le differenze tra autori (admin) e Ruoli**, e come queste distinzioni influenzano l'accesso e le interazioni con la piattaforma;
* Il processo di **invito e gestione degli autori**, garantendo un controllo granulare sulle autorizzazioni;
* Come **creare e gestire efficacemente le i Ruoli**, permettendo una personalizzazione avanzata delle interazioni AI.


# Differenza tra autori e Ruoli

La gestione degli accessi e dei ruoli è fondamentale per creare esperienze personalizzate con il tuo Agente su AIsuru.

### Admin / Autori: i gestori dell'Agente

Gli autori, o admin, sono i responsabili principali dell'Agente e hanno accesso completo a tutte le sue funzionalità:

* **Gestiscono contenuti, impostazioni e configurazioni dell'Agente**;
* **Invitano nuovi autori** e creano nuovi Ruoli.

{% hint style="danger" %}
**Gli admin hanno il controllo totale sull'Agente** e sono responsabili della sua gestione complessiva 🔑
{% endhint %}

### Ruoli: i ruoli per la personalizzazione

I "Ruoli" in AIsuru rappresentano **categorie o ruoli specifici**, permettendo una personalizzazione avanzata delle interazioni:

* Non sono necessariamente legate a utenti reali;
* Possono rappresentare ruoli astratti (es. "Sviluppatore", "Clienti VIP");
* Permettono di fornire risposte su misura in base al ruolo dell'utente.

{% hint style="success" %}
Utilizza i Ruoli per creare **esperienze altamente personalizzate** per diversi tipi di utenti del tuo Agente 👥
{% endhint %}

### Utenti: gli interlocutori dell'Agente

Gli utenti **sono coloro che interagiscono direttamente con l'Agente**:

* Possono essere registrati sulla piattaforma o possono interagire con il tuo Agente in qualità di ospiti;
* Pongono domande e ricevono risposte dall'Agente;
* La loro esperienza può essere personalizzata in base al loro ruolo o alla categoria (se non sono registrati [imposta il Ruolo in un layout di condivisione](../../condivisione/crea-e-gestisci-i-layout-di-condivisione.md#parametri-avanzati)).

Comprendere queste distinzioni ti aiuterà a strutturare efficacemente il tuo Agente, garantendo il giusto livello di accesso e personalizzazione per ogni tipo di interazione. Sfrutta al massimo queste funzionalità per creare un'esperienza IA veramente su misura per i tuoi utenti!


# Invito e gestione degli autori

AIsuru ti permette di collaborare con altri autori per gestire il tuo Agente. Questa funzionalità è essenziale per team che lavorano insieme su un progetto di IA conversazionale, garantendo un controllo efficace e una gestione collaborativa dell'Agente.

### Invitare nuovi autori

Aggiungere nuovi autori al tuo Agente è un processo semplice e diretto:

1. Accedi al pannello di gestione dell'Agente;
2. Seleziona la voce "Ruoli" dalla barra laterale;
3. Cerca il pulsante **Invita autore >** <img src="../../.gitbook/assets/nuova funzione.svg" alt="" data-size="line"> **Aggiungi**;
4. Inserisci l'indirizzo email del nuovo autore;
5. (Opzionale) Aggiungi un messaggio per il tuo nuovo autore;
6. Clicca su "Invia" per completare l'invito.

✉️ Il nuovo autore riceverà un'email di invito con le istruzioni per accettare l'invito.

Se non è già registrato, il nuovo autore dovrà prima registrarsi sulla piattaforma. Una volta registrato, l'utente che hai invitato **potrà accettare il tuo invito dalla mail ricevuta o dalla home page di AIsuru** (sezione "Condivisi con te").

{% hint style="danger" %}
**Ti consigliamo di non modificare l'Agente in contemporanea con un altro admin**: potresti riscontrare problemi di salvataggio dei dati.
{% endhint %}

### Gestire gli autori esistenti

Per mantenere il controllo sul tuo team di autori:

1. Vai alla sezione "Ruoli" nel menu di gestione dell'Agente;
2. Fai clic su "Invita autore" per visualizzare l'elenco completo degli autori attuali;
3. Per modificare <img src="../../.gitbook/assets/edit-icon-svg (2).svg" alt="" data-size="line"> o rimuovere ![](../../.gitbook/assets/delete.svg) un autore, clicca sull'apposita icona.

### Consigli per una gestione efficace

* **Invita solo persone fidate** come autori;
* **Comunica chiaramente ruoli e responsabilità** ai membri del team;
* **Effettua revisioni periodiche** dell'elenco autori;
* **Crea linee guida interne** per l'uso delle funzionalità admin.


# Creazione e gestione dei Ruoli

I Ruoli in AIsuru sono la chiave per creare esperienze personalizzate con i tuoi Agenti. Questo potente strumento ti permette di adattare le risposte dell'Agente in base a ruoli o categorie specifiche di utenti, rendendo le interazioni più rilevanti ed efficaci.

### Creazione di una nuova persona

Per aggiungere un nuovo Ruolo al tuo Agente:

1. Dalla barra laterale, seleziona la voce "Ruoli;
2. Clicca sul pulsante <img src="../../.gitbook/assets/nuova funzione.svg" alt="" data-size="line"> **Nuovo ruolo**;
3.  Definisci le informazioni richieste:

    1. Nome: assegna un nome descrittivo (es. "Direttore", "Cliente VIP");
    2. Informazioni: assegna una descrizione a questo ruolo;
    3. Seleziona un'emoji come Tag;
    4. (Opzionale) Personalizza il Pin (dovrà rimanere un codice numerico di 6 cifre).

    _Tag e Pin della persona possono essere utilizzati per accedere con quel ruolo specifico all'Agente tramite API._
4. Premi "Conferma" per confermare.

### Assegnare gli utenti a ruoli specifici

Puoi assegnare gli utenti che sono già registrati in piattaforma a ruoli specifici:

1. Vai alla sezione Ruoli del tuo Agente;
2. Identifica il Ruolo di tuo interesse nella tabella;
3. Premi sul tasto **Invita** a destra nella stessa riga del Ruolo e poi fai clic su <img src="../../.gitbook/assets/nuova funzione.svg" alt="" data-size="line"> **Aggiungi**;
4. Aggiungi l'indirizzo mail e, se vuoi, personalizza il messaggio;
5. Premi il tasto ![](../../.gitbook/assets/send.svg) **Invia** per confermare l'assegnazione.

✅ Fine! D'ora in avanti, gli utenti invitati che conversano con l'Agente accederanno con il Ruolo a cui li hai assegnati.

#### E gli utenti non registrati?

Puoi far sì che gli utenti non registrati accedano automaticamente con un certo ruolo. Per farlo:

* **Crea un Ruolo "Utenti non registrati"** e non invitare nessuno;
* Vai alla sezione Condividimi dalla barra laterale e premi su **Aggiungi Layout**;
* Nei [parametri avanzati](../../condivisione/crea-e-gestisci-i-layout-di-condivisione.md#configurazione-avanzata-del-layout), **imposta "Utenti non registrati" come persona**;
* **Imposta il layout come default**.

D'ora in poi, tutti gli utenti non registrati avranno un Ruolo ad hoc a cui puoi [attribuire contenuti](../../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/come-attribuire-contenuti-a-ruoli-specifici.md).

{% hint style="warning" %}
<mark style="color:orange;">**L'eliminazione di un Ruolo non influisce sui contenuti o sui layout**</mark> <mark style="color:orange;"></mark><mark style="color:orange;">ad essa associati, ma rimuove la personalizzazione basata su quel ruolo.</mark>
{% endhint %}

I ruoli in AIsuru ti permettono di creare un'esperienza di interazione altamente personalizzata. Sperimenta con diversi ruoli e personalizzazioni per massimizzare l'efficacia del tuo Agente e offrire a ogni utente esattamente ciò di cui ha bisogno.


# Fine-tuning

Il fine-tuning rappresenta una tappa fondamentale nell'evoluzione e nell'ottimizzazione dei modelli di intelligenza artificiale.

Questo processo permette di affinare le capacità di un modello pre-addestrato, adattandolo a compiti specifici o a domini particolari. Il fine-tuning apre nuove possibilità per personalizzare e migliorare le prestazioni delle IA conversazionali, rendendole più accurate, pertinenti e allineate alle esigenze specifiche di ogni progetto.

In questo capitolo, esploreremo:

* **Il concetto di fine-tuning e i suoi vantaggi**;
* **Come fare fine-tuning** in maniera semplice con AIsuru;
* **Come sfruttare i modelli fine-tuned** su AIsuru.

🚀 Partiamo!


# Cos'è il fine-tuning e a cosa serve

Il fine-tuning è un processo di apprendimento automatico che consiste nel prendere un modello pre-addestrato e adattarlo ad un compito specifico o ad un dominio particolare. Questa tecnica avanzata si basa sull'idea di sfruttare le conoscenze acquisite da un modello pre-addestrato e adattarle a un compito specifico.

### Che vantaggi ha il fine-tuning?

1. **Migliora le prestazioni**: il fine-tuning permette di affinare le capacità del modello su compiti specifici, portando a risultati più accurati e pertinenti.
2. **Permette di scalare i costi**:
   1. Fare fine-tuning è più economico rispetto ad addestrare un modello da zero;
   2. Il fine-tuning viene generalmente eseguito su modelli linguistici (LLM) più piccoli ed economici: significa che, a parità di risposta, ogni messaggio ti costerà molto meno.

Inoltre, il fine-tuning richiedere pochi dati: è possibile ottenere buone prestazioni con poche migliaia di esempi.

### Processo di fine-tuning

1. **Scelta del modello** -> generalmente, si sceglie un modello piccolo e adatto ad un uso generico (come gpt-4o mini);
2. **Preparazione dei dati** -> si raccoglie un dataset specifico di esempi da dare in pasto al modello linguistico (LLM); [con AIsuru, preparare i dati per il fine-tuning è estremamente semplice](come-fare-fine-tuning-in-maniera-semplice-con-aisuru.md);
3. **Fine-tuning vero e proprio**: sulla piattaforma di Microsoft Azure o di [OpenAI](https://platform.openai.com/finetune) dovrai fare il fine-tuning del modello che hai scelto.

✅ Finito! Una volta fatto questo puoi sfruttare da subito il [modello fine-tuned sul tuo Agente di AIsuru](come-sfruttare-modelli-fine-tuned-su-aisuru.md)!

### Quando utilizzare il fine-tuning

Il fine-tuning è particolarmente utile quando vogliamo modificare il comportamento ed aumentare l'accuratezza di un modello specifico.

Utilizzando il fine-tuning, infatti, **è possibile ottenere modelli che sono più precisi, pertinenti e adatti alle esigenze specifiche di un progetto o di un'organizzazione**, sfruttando al contempo la potenza dei modelli di grandi player come OpenAI.


# Come fare fine-tuning in maniera semplice con AIsuru

AIsuru ti permette di preparare facilmente i dati per il fine-tuning dei modelli linguistici su diverse piattaforme IA. Questa funzionalità ti aiuta a creare modelli personalizzati più efficienti e economici, adatti alle tue specifiche esigenze.

### Preparazione dei dati

Per iniziare il processo di fine-tuning, dovrai prima esportare i tuoi dati da AIsuru:

1. Dalla barra laterale, seleziona la voce "Import/Export";
2. Clicca sul pulsante "**Esporta JSONL**";
3. Nelle impostazioni avanzate, seleziona "Includi istruzioni" se desideri includere il le "Istruzioni" (Impostazioni > IA > Istruzioni) in ogni messaggio;
4. (Opzionale) Specifica una data per esportare solo i contenuti di un certo periodo;
5. Premi il pulsante "Esporta" per avviare il download del file JSONL.

✅ Ottimo! Ora hai un file JSONL pronto per essere dato in pasto al modello linguistico!

{% hint style="danger" %}
Il file JSONL generato contiene solamente i [Contenuti](../../istruzione-gestione-contenuti-agenti/contenuti/) testuali: non contiene immagini, video, link, pdf, [fatti noti](../../estensioni/pensiero-profondo/gestione-delle-memorie.md), [intenti dinamici](../integrazioni/intenti-dinamici/), [slot](../integrazioni/intenti-dinamici/come-usare-gli-slot.md) né [funzioni](../integrazioni/funzioni/) o [MCP](../integrazioni/model-context-protocol-mcp-su-aisuru/mcp-cosa-sono-e-come-si-utilizzano.md).&#x20;
{% endhint %}

### Processo di fine-tuning

Una volta ottenuto il file JSONL, puoi procedere con il fine-tuning:

1. Accedi alla piattaforma di **Microsoft Azure o** [**OpenAI**](https://platform.openai.com/finetune);
2. **Carica il file JSONL** che hai scaricato da AIsuru **nella sezione "Training data"**;
3. Non caricare nessun file nella sezione "Validation data" e setta le altre impostazioni: suffisso, seed, batch size, learning rate multiplier e number of epochs.

✅ Fine! Dopo qualche ora il processo dovrebbe concludersi.

Il fine-tuning con AIsuru ti permette di creare modelli IA personalizzati che riflettono perfettamente le tue esigenze, riducendo i costi e migliorando l'efficienza. Prova questa funzionalità e scopri come può trasformare il tuo approccio all'IA!


# Come sfruttare modelli fine-tuned su AIsuru

Ora che hai fatto il fine-tuning di un modello linguistico, puoi cominciare a sfruttarlo direttamente in piattaforma con il tuo Agente. Vediamo come 👇

### Creazione di un modello su AIsuru

Per cominciare:

1. Vai alla sezione <img src="../../.gitbook/assets/optimized-svg.svg" alt="" data-size="line"> [**Modelli**](https://www.aisuru.com/it/models) (nella barra laterale);
2. Inserisci tutte le informazioni necessarie per la [creazione del modello](../../ai-generativa/ia-generativa-sezione-avanzata/crea-e-gestisci-le-configurazioni-dei-modelli.md);
3. Inserisci le informazioni richieste e **scrivi** [**il codice del tuo modello fine-tuned**](#user-content-fn-1)[^1] **nel campo "Modello"**.

### Come utilizzare il modello fine-tuned in un Agente

1. Accedi alle <img src="../../.gitbook/assets/settings.svg" alt="" data-size="line"> **impostazioni > IA** del tuo Agente;
2. Nella sezione "Impostazioni del provider" **seleziona il tuo modello fine-tuned alla voce "Configurazione per domande e risposte"**.

✅ D'ora in avanti il tuo Agente risponderà con un modello linguistico fine-tuned sui dati che AIsuru ha esportato.

[^1]: ft:gpt-3.5-turbo-1106:ecc.\
    ft:gpt-4o-mini-2024-07-18:ecc.

    ft:gpt-4o-2024-05-13:ecc.


# Interfacce web: come creare esperienze interattive

AIsuru offre la possibilità di integrare gli Agenti IA direttamente nelle pagine web, permettendo loro di eseguire azioni specifiche e interagire con l'interfaccia utente. Questa funzionalità avanzata consente di creare esperienze utente altamente personalizzate e interattive.

### Funzionamento di base

L'Agente può eseguire azioni all'interno di una pagina web grazie all'utilizzo degli [snippet di codice](../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md).

Questo permette all'Agente di manipolare l'interfaccia utente in tempo reale, rispondendo alle interazioni dell'utente o a specifici eventi.

### Implementazione con i contenuti

Per abilitare un Agente ad eseguire azioni in una pagina web:

1. Accedi al pannello di gestione del tuo Agente;
2. Vai alla sezione Contenuti dalla barra laterale;
3. **Seleziona un contenuto specifico** e premi sul tasto di <img src="../.gitbook/assets/edit-icon-svg (2).svg" alt="" data-size="line"> **modifica** -> ad esempio, un contenuto che abbia come domanda "iniziamo" e come risposta un messaggio di benvenuto;
4. Scorri in fondo fino alla sezione **"Avanzate: testi preformattati**" e fai clic sul tasto **+ Nuovo snippet**:
   1. Inserisci il codice CSS o JS che vuoi eseguire;
   2. Seleziona il linguaggio;
   3. Premi sulla checkbox Command per attivarla (e, quindi, rendere lo snippet eseguibile);
   4. Dai un titolo descrittivo e dettagliato allo snippet -> in questo modo, anche l'IA generativa sarà in grado di richiamarlo se lo riterrà opportuno.
5. **Conferma tutte le modifiche** -> d'ora in poi, se invierai la "domanda" di quel contenuto, verrà eseguito lo snippet di codice.

### Implementazione con le Istruzioni

Puoi anche decidere di mostrare del codice HTML o Markdown all'interno dei messaggi. Questo è molto utile per creare delle esperienze ancora più interattive e coinvolgenti.

Per farlo:

1. Accedi alle <img src="../.gitbook/assets/settings.svg" alt="" data-size="line"> **Impostazioni > IA** del tuo Agente;
2. Nel campo [**istruzioni**](../ai-generativa/prompt-engineering/), spiega all'IA come generare il codice Markdown o HTML e CSS e in quali occasioni deve farlo.

#### Markdown

Per le azioni più semplici, come la creazione di una tabella, è possibile sfruttare il normale codice markdown:

<pre><code><strong>Quando ti viene chiesto di confrontare prodotti,
</strong><strong>crea una tabella in markdown con i dati raccolti.
</strong></code></pre>

#### HTML e CSS

Per le visualizzazioni più complesse, puoi guidare il tuo Agente nell'utilizzo di codice HTML e CSS:

```
Quando ti viene chiesto di confrontare prodotti, crea una tabella in markdown con i dati raccolti. Utilizza il seguente formato:

| Caratteristica | Prodotto di partenza | Alternativa 1 | Alternativa 2 | Alternativa 3 |
|----------------|----------------------|---------------|---------------|---------------|
| [Caratteristica 1] | [Valore] | [Valore] | [Valore] | [Valore] |
| [Caratteristica 2] | [Valore] | [Valore] | [Valore] | [Valore] |

Evidenzia le differenze rispetto al prodotto di partenza utilizzando il seguente codice HTML:
<span style="background-color: #FFEBEE;">[valore diverso]</span>
```

### Casi d'uso avanzati

#### Combinazione con gli snippet di codice

Puoi sfruttare la capacità del tuo Agente di mostrare codice HTML anche per far eseguire azioni più complesse all'utente.

Ad esempio, all'interno di un Agente per un e-commerce potresti insegnare all'Agente a creare un pulsante "Aggiungi al carrello" per specifici articoli. Sfrutta le Istruzioni:

```
Quando vedi che l'utente apprezza un prodotto,
suggerisci di aggiungerlo al carrello e mostragli
il pulsante "Aggiungi al carrello". Cambia sempre
il codice prodotto a seconda dell'articolo
che sta considerando.

<button onclick="add_to_cart([CODICE_PRODOTTO])">Aggiugni al carrello</button>
```

Una volta fatto questo, ti basterà scatenare uno [snippet di codice](../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md) all'interno della tua [domanda iniziale](../condivisione/condivisione-sezione-avanzata/domanda-iniziale.md):

```javascript
function add_to_cart(productId) {
  alert('Prodotto ' + productId + ' aggiunto al carrello!');
  console.log('Aggiunto prodotto:', productId);
}
```

Ricorda che **il modello linguistico non ha la capacità di eseguire codice JavaScript al di fuori degli snippet di codice** (nemmeno sfruttando il tag HTML \<script>).

Puoi insegnare al tuo Agente ad usare codice HTML e CSS nelle risposte (o puoi inserirlo direttamente nei contenuti, se il codice è statico), ma per eseguire azioni è sempre necessario sfruttare i testi preformattati.

#### Utilizzo con le funzioni

Le [funzioni](integrazioni/funzioni/) possono essere combinate con le azioni web per creare interazioni più complesse:

* Configura una funzione per recuperare dati specifici;
* Utilizza l'IA generativa per elaborare i dati e creare una tabella in Markdown direttamente nella chat;
* Presenta i risultati all'utente in modo visivamente accattivante.

#### Combinazione con il Gruppo di esperti

Quando utilizzi il [Gruppo di esperti](../estensioni/gruppo-di-esperti/) puoi creare un flusso di lavoro più complesso ed estremamente efficace:

* Il messaggio di benvenuto scatena uno [snippet di codice](../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/gestione-dei-testi-preformattati-snippet-di-codice.md) che inietta il codice CSS di una libreria utile a mostrare grafici accattivanti;
* Un Agente recupera i dati necessari e chiede all'utente se vuole vedere un grafico su questi dati;
* L'utente risponde di sì: un secondo Agente analizza i dati raccolti e crea un grafico utilizzando solamente il codice HTML.

#### Mostrare grafici nei messaggi

Per insegnare al tuo Agente a creare grafici:

1. **Trova una libreria CSS** che puoi scaricare liberamente;
2. **Crea un contenuto**:
   1. Domanda: "iniziamo";
   2. Risposta: imposta un messaggio di benvenuto personalizzato;
   3. Aggiungi uno snippet CSS eseguibile nella sezione "Avanzate: snippet di codice"
3. **Imposta il contenuto "iniziamo" come** [**domanda iniziale nel layout di condivisione**](../condivisione/crea-e-gestisci-i-layout-di-condivisione.md#parametri-avanzati);
4. Inserisci il testo del **file Readme all'interno delle** [**istruzioni del tuo Agente**](../ai-generativa/prompt-engineering/).

✅ Fine! Ora il tuo Agente sa creare grafici personalizzati.

#### Guida interattiva

È possibile creare una guida interattiva per l'utente. Ad esempio, quando l'utente chiede "Dove trovo le impostazioni?", l'Agente può evidenziare il pulsante corrispondente nella pagina:

```html
function highlightSettings() {
  const settingsButton = document.getElementById('settingsButton');
  settingsButton.style.boxShadow = '0 0 10px 5px yellow';
  setTimeout(() => {
    settingsButton.style.boxShadow = 'none';
  }, 3000);
}
```

```html
<button onclick="highlightSettings()">Mostra impostazioni</button>
```

#### Utilizzo di typeMessageHidden()

La funzione `typeMessageHidden` permette di inviare messaggi nascosti in chat, come se fossero stati inviati dall'utente.

Questo può essere molto utile per far eseguire azioni specifiche all'IA generativa:

```javascript
typeMessageHidden("L'utente ha appena avuto accesso alla sua area riservata.", true)
```

questa funzione può essere utilizzata per attivare analisi automatiche o per guidare il flusso della conversazione in modo invisibile all'utente.

La capacità di far eseguire azioni all'Agente all'interno di una pagina web apre nuove possibilità per creare esperienze utente dinamiche e personalizzate. Combinando questa funzionalità con altre caratteristiche di AIsuru, è possibile sviluppare applicazioni web altamente interattive e intelligenti.


# 6. Consumi e Analytics

In questa sezione, esploreremo gli strumenti essenziali per monitorare, analizzare e ottimizzare le prestazioni del tuo Agente IA su AIsuru. La gestione efficace dei consumi e l'utilizzo strategico degli analytics sono fondamentali per massimizzare il valore del tuo assistente virtuale e garantire un'esperienza utente ottimale.

Il capitolo si articola in due parti principali:

* [**Consumi**](consumi/) -> questa sezione ti guiderà attraverso la comprensione e il monitoraggio dei consumi del tuo account;
* [**Analytics e ottimizzazione dell'Agente**](analisi-e-ottimizzazione-dellagente/) -> qui ci concentreremo sugli strumenti analitici che ti permettono di:
  * Monitorare l'andamento delle visite nel tempo;
  * Analizzare l'utilizzo dell'Agente da parte degli altri utenti;
  * Esportare i dati di utilizzo per analisi approfondite.

Questi strumenti ti aiuteranno a comprendere come il tuo Agente viene utilizzato, chi sono i tuoi utenti più attivi e come migliorare l'esperienza complessiva in base a dati concreti.


# Consumi

La comprensione e il monitoraggio dei consumi sono aspetti cruciali per gestire efficacemente il tuo Agente IA su AIsuru. Questa sezione ti guiderà attraverso gli elementi essenziali per ottimizzare l'utilizzo delle risorse e controllare i costi associati al tuo assistente virtuale.

In questa sezione, esploreremo due aspetti fondamentali:

* [**Come funzionano i consumi**](come-funzionano-i-consumi.md): scoprirai i meccanismi alla base del sistema di crediti di AIsuru, comprenderai quali azioni consumano risorse e come vengono calcolati i costi delle diverse operazioni del tuo Agente;
* [**Come controllare i tuoi consumi**](monitora-i-tuoi-consumi.md): impara a monitorare l'utilizzo delle risorse del tuo Agente per gestire efficacemente i costi e ottimizzare le prestazioni del tuo assistente IA;
* [**Come ricaricare i crediti**](come-ricaricare-i-crediti.md): scopri le modalità per mantenere il tuo account sempre attivo e funzionante, sia attraverso ricariche automatiche che acquisti manuali.

Ora che abbiamo una panoramica generale, approfondiamo come funzionano i consumi sulla piattaforma!


# Come funzionano i consumi?

È importante sottolineare che **i crediti vengono consumati solo quando vengono utilizzati gli Agenti che hai creato**:

* Gli utenti finali che interagiscono con i tuoi Agenti non consumano mai crediti;
* Tu non consumerai crediti quando provi gli Agenti creati da altri.

-> Questo sistema ti permette di gestire e ottimizzare l'utilizzo delle risorse in base all'effettivo impiego delle tue creazioni.

### Come si consumano i crediti?

I crediti vengono consumati in diverse situazioni:

* **1 credito per ogni Agente creato**;
* **1 credito per ogni nuova sessione** di chat avviata con uno dei tuoi Agenti;
* **1 credito per ogni messaggio generato dall'IA** dei tuoi Agenti;
* **1 credito per ogni pagina di documento importata** nel tuo Agente dalla sezione Import / Export.

{% hint style="info" %}
**Se utilizzi la tua chiave API non consumerai crediti per i messaggi e le pagine, ma solo per la creazione degli Agenti e quando un utente apre una sessione con il tuo Agente.**
{% endhint %}

### Gruppo di esperti

Se utilizzi il [**Gruppo di esperti**](../../estensioni/gruppo-di-esperti/), consumerai:

* 1 credito per la creazione del tuo gruppo;
* 1 credito per aprire una sessione con il gruppo di esperti;
* 1 credito aggiuntivo per ogni Agente esperto con cui apri una conversazione;
* 1 credito aggiuntivo ogni volta che il gruppo dovrà pensare a chi mandare il messaggio dell'utente.

### Pensiero Profondo

Se, invece, usi [**Pensiero Profondo**](../../estensioni/pensiero-profondo/) nei tuoi Agenti, consumerai 3 crediti per ogni messaggio generato da IA.

Compreso il funzionamento dei consumi, **vediamo come monitorarli efficacemente**.


# Monitora i tuoi consumi

Per monitorare l'utilizzo delle risorse del tuo Agente:

1. Accedi alla homepage della piattaforma;
2. Premi sul tasto <img src="../../.gitbook/assets/consumi.svg" alt="" data-size="line"> **Consumi** in alto a destra (vicino al tuo nome utente).

### Scheda dei consumi

Una volta aperta la sezione Consumi, potrai vedere le seguenti informazioni:

* **Periodo di riferimento**: puoi selezionare il range di date desiderato o visualizzare il mese corrente;
* **Crediti**: il numero totale di crediti disponibili;
* **Agenti conversazionali**: il numero di Agenti che hai creato e che sono attivi;
* **Chat valide**: il numero totale di conversazioni avvenute;
* **Chat con Pensiero Profondo**: il numero di chat che hanno utilizzato la funzionalità di [Pensiero Profondo](../../estensioni/pensiero-profondo/);
* **Risposte generate da IA**: il numero di risposte fornite dai tuoi Agenti;
* **Risposte generate da IA** con Pensiero Profondo: il numero di risposte che hanno sfruttato la funzionalità di Pensiero Profondo;
* **Documenti importati**: il numero di pagine di documenti caricati nel sistema.

Infine, esploriamo come gestire i tuoi crediti quando hai bisogno di aumentare le risorse disponibili.


# Come ricaricare i crediti

Mantenere un saldo di crediti adeguato è fondamentale per garantire il funzionamento continuo del tuo Agente. AIsuru offre diverse opzioni per ricaricare i tuoi crediti:

### Ricarica automatica gratuita

Se il tuo saldo scende sotto i 100 crediti, all'inizio di ogni mese riceverai automaticamente una ricarica gratuita di 100 crediti. Questo ti permetterà di mantenere attivi i tuoi Agenti e di continuare a gestirli, garantendo una base di funzionalità anche in periodi di minor utilizzo o quando stai pianificando l'acquisto di crediti aggiuntivi.

I crediti acquistati non hanno scadenza.

### Acquisto di crediti aggiuntivi

Quando hai bisogno di più crediti per un utilizzo intensivo del tuo Agente, puoi acquistarli facilmente in due modi:

1. Premi sul pulsante "**Acquista crediti**" situato nella barra superiore dell'interfaccia, in alto a sinistra.
2. Oppure, premi sul pulsante <img src="../../.gitbook/assets/consumi.svg" alt="" data-size="line"> Consumi in alto a destra e clicca sul pulsante "ACQUISTA CREDITI".

Questi pulsanti ti porteranno ad una pagina dove potrai scegliere il pacchetto di crediti da acquistare e proseguire con l'acquisto.

Ora che hai una comprensione approfondita di come funzionano, monitorare e ricaricare i consumi, passiamo alla sezione successiva dove esploreremo gli strumenti di analytics e le strategie per ottimizzare le prestazioni del tuo Agente.


# Analisi e ottimizzazione dell'Agente

Benvenuto nella sezione Analisi e ottimizzazione del tuo Agente! Qui troverai gli strumenti e le informazioni necessarie per monitorare, analizzare e migliorare le prestazioni del tuo assistente IA. Che tu stia cercando di comprendere meglio l'engagement degli utenti, ottimizzare i tempi di risposta o affinare la qualità delle interazioni, questa sezione ti fornirà gli strumenti necessari per raggiungere i tuoi obiettivi.

In questa sezione, esploreremo:

* [**Statistiche**](statistiche.md): scopri come utilizzare i dati analytics per ottenere insights preziosi su:
  * L'andamento temporale delle visite al tuo Agente;
  * L'utilizzo dettagliato per singolo utente (numero di chat, messaggi scambiati e risposte IA);
  * Esportazione dei dati di utilizzo in formato CSV per analisi approfondite
* [**Storico delle conversazioni**](conversazioni.md): impara a navigare e analizzare le interazioni passate per identificare tendenze, migliorare la qualità delle risposte e comprendere meglio le esigenze degli utenti;
* [**Velocità di risposta**](performance.md): esplora strategie e tecniche per ottimizzare i tempi di risposta del tuo assistente, bilanciando velocità e accuratezza.

L'analisi e l'ottimizzazione sono processi continui che ti permetteranno di affinare costantemente le prestazioni del tuo assistente IA. Grazie agli strumenti di monitoraggio, potrai comprendere nel dettaglio come il tuo Agente viene utilizzato e chi sono i tuoi utenti più attivi.

Continua a leggere per scoprire come analizzare i dati di AIsuru per trasformare il tuo Agente in uno strumento ancora più efficace e performante! 📊🚀


# Statistiche

La sezione Statistiche di AIsuru fornisce una panoramica dettagliata delle prestazioni del tuo Agente, permettendoti di **monitorare l'engagement degli utenti e l'evoluzione delle interazioni** nel tempo.

### Selezione del periodo

All'apertura della pagina, noterai immediatamente un menu a tendina nella parte superiore che ti consente di selezionare il **periodo di analisi**. L'opzione predefinita è "30 Giorni", ma puoi personalizzare questo intervallo in base alle tue esigenze specifiche.

La pagina è organizzata in due tab principali: "**Andamento delle visite**" e "**Utilizzi utenti**" 👇

### Andamento delle visite

Questa sezione è costituita da due grafici principali.

#### **Utenti totali**

Il primo grafico mostra il numero totale di utenti che hanno interagito con il tuo Agente nel periodo selezionato. La linea blu del grafico rappresenta l'andamento giornaliero, permettendoti di identificare facilmente picchi e cali nell'utilizzo.

#### **Utenti ricorrenti**

Il secondo grafico, posizionato appena sotto, illustra il numero di utenti ricorrenti, ovvero coloro che sono tornati a interagire con l'Agente.

Dall'interfaccia puoi visualizzare i dettagli specifici per ogni giorno semplicemente passando il cursore sui punti del grafico.

### Utilizzi utenti

Questa sezione fornisce una vista dettagliata dell'utilizzo per singolo utente, presentando una tabella con le seguenti informazioni:

* **Username**: il nome utente sulla piattaforma;
* **E-mail**: l'indirizzo email dell'utente;
* **Chat valide**: il numero di conversazioni completate;
* **Risposte IA**: il numero di risposte generate dall'IA;
* **Messaggi**: il numero totale di messaggi scambiati.

Sopra la tabella, in alto a sinistra, trovi il pulsante "**Esporta CSV**" che ti permette di scaricare questi dati in formato CSV per analisi più approfondite - il file esportato includerà anche i campi userID (l'identificativo dell'utente) e tenantName (il nome del tenant).

#### Strategie di analisi avanzata

Per ottenere il massimo dalle tue statistiche:

1. **Esegui analisi comparative**:
   * Confronta periodi simili (es. stesso mese in anni diversi);
   * Valuta l'impatto di festività o eventi stagionali;
   * Identifica i tuoi utenti più attivi e le loro modalità di interazione.
2. **Valuta le tue campagne**:
   * Seleziona il periodo esatto di una campagna marketing;
   * Confronta i dati pre e post-campagna;
   * Analizza il comportamento dei nuovi utenti acquisiti.
3. **Analizza i pattern di utilizzo**:
   * Identifica gli utenti più coinvolti;
   * Studia il rapporto tra chat totali e risposte IA;
   * Monitora il volume di messaggi per conversazione.

⚠️ Periodi molto brevi potrebbero non fornire dati statisticamente significativi.

Sfruttando al meglio la funzionalità Statistiche, potrai ottenere insight preziosi per guidare lo sviluppo e il miglioramento continuo del tuo Agente IA. La combinazione di dati aggregati e analisi per singolo utente ti permette di comprendere sia le tendenze generali che i comportamenti specifici. Non esitare a esplorare diverse combinazioni di periodi e metriche per scoprire nuove opportunità di ottimizzazione! 📊🔍


# Storico delle conversazioni

Lo storico delle conversazioni è una potente funzionalità di AIsuru che ti permette di rivedere e analizzare tutte le interazioni passate del tuo Agente. Questa funzione è essenziale per monitorarne l'utilizzo e migliorarne le prestazioni.

### Accesso allo storico delle conversazioni

Lo storico delle conversazioni ti permette di rivedere e analizzare tutte le conversazioni tenute dal tuo Agente con te e con gli altri utenti. Ecco come accedervi:

1. Dalla homepage di AIsuru, individua l'Agente di cui vuoi visualizzare le conversazioni;
2. Clicca sul pulsante "Gestisci" associato all'Agente selezionato;
3. Nella sidebar di gestione dell'Agente, cerca e seleziona la voce <img src="../../.gitbook/assets/conversazioni.svg" alt="" data-size="line"> **Conversazioni.**

### Visualizzazione dell'elenco delle conversazioni

Nella pagina principale dello storico, troverai un elenco dettagliato di tutte le conversazioni. Ogni riga dell'elenco contiene le seguenti informazioni:

* **Titolo:** titolo distintivo per identificare la conversazione;
* **Mail:** La mail del utente che ha interagito con l'agente;
* **Data inizio conversazione**: quando è iniziata l'interazione;
* **Messaggi**: il numero di messaggi scambiati;
* **Durata**: quanto tempo è durata la conversazione;
* **Media**: questa colonna indica se nella conversazione sono state presenti immagini o sono state eseguite funzioni;
* **Azioni**: troverai i pulsanti <img src="../../.gitbook/assets/URL.svg" alt="" data-size="line"> Apri e ![](../../.gitbook/assets/delete.svg) Cancella.

💡 Puoi ordinare l'elenco cliccando sulle intestazioni delle colonne.

### Strumenti di filtro e ricerca

Nella parte superiore dell'elenco sono disponibili tre strumenti per filtrare le conversazioni:

### Barra di ricerca

La barra di ricerca permette di cercare conversazioni utilizzando i seguenti criteri:

* Keyword: cerca parole chiave all'interno del contenuto delle conversazioni;
* Nome utente: filtra per visualizzare solo le conversazioni di un utente specifico che ha effettuato l’accesso alla piattaforma (Se un utente non ha fatto l’accesso tramite mail in piattaforma verrà visualizzato come anonimo);
* Email: filtra le conversazioni per indirizzo email specifico dell'utente che ha conversato con l’agente;
* Session ID: filtra per identificativo univoco della sessione.

Esempio di utilizzo: digita "rimborso" nella barra per trovare tutte le conversazioni che menzionano questa parola chiave.

### Selettore intervallo date

Cliccando sul selettore intervallo date, posizionato accanto alla barra di ricerca, si aprirà un calendario a tendina che permette di selezionare un intervallo temporale personalizzato con una data di inizio e una data finale, così da filtrare le conversazioni avvenute nel periodo scelto.

Esempio di utilizzo: seleziona "01/12/2024 - 14/12/2024" per vedere solo le conversazioni delle prime due settimane di dicembre.

### Filtro per numero minimo di messaggi

Il filtro per numero minimo di messaggi è un menù a tendina che permette di filtrare le conversazioni in base alla loro lunghezza. Le opzioni disponibili sono:

* Qualsiasi messaggio: mostra tutte le conversazioni (nessun filtro applicato);
* Almeno 2/3/5/10/15/20 messaggi: mostra solo conversazioni con almeno quel numero di messaggi;
* Cambia numero minimo: permette di specificare il numero minimo di messaggi per mostrare solo le chat che rispettano questo filtro.

### Pulsanti di gestione

Nella sezione Conversazioni della gestione dell'Agente, oltre al pulsante **Aggiorna**, troverai anche il pulsante **Preferenze notifiche**.

Il **pulsante Preferenze notifiche** ti porta direttamente alla sezione "Impostazioni > Notifiche" dell'Agente, consentendo una gestione rapida delle preferenze di notifica senza dover navigare attraverso il menu principale. Questo è particolarmente utile quando stai monitorando le conversazioni e vuoi modificare rapidamente le impostazioni delle notifiche.

### Dettagli della conversazione

Dopo aver premuto il tasto **Apri**, ti si aprirà una nuova scheda con i dettagli della conversazione selezionata, **in alto a destra** puoi premere il tasto per **scaricare la conversazione in formato txt.**

**Dettagli conversazione**

La sezione **Dettagli conversazione** contiene le informazioni principali:

* **Data inizio conversazione**: data e ora dell'inizio della conversazione (es. 11/07/2025, 10:22:04);
* **Username**: nome utente (se l'utente ha avuto accesso prima di interrogare l'Agente);
* **Email**: indirizzo email dell'utente;
* **Lingua**: lingua utilizzata dall'utente durante la conversazione.

**Informazioni sessione**

La sezione **Informazioni sessione** include i dettagli tecnici della sessione:

* **ID sessione**: identificativo univoco della conversazione (es. 5c75befa-7edd-442b-9a13-e9b9a3a63d2e);
* Pulsante **DEBUG:** permette di accedere al debug avanzato della conversazione;
* **Referral**: l'URL di provenienza dell'utente;
* **Indirizzo IP**: viene indicato l'indirizzo IP, se premi sulla scritta "Info" puoi ottenere ulteriori dettagli (es. la localizzazione dell'indirizzo IP);
* **User agent**: informazioni sul browser e sul sistema operativo dell'utente.

Infine, troverai anche una checkbox "**mostra contesto per messaggio**": attivando questa opzione, sarai in grado di vedere quale [contesto](https://claude.ai/istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/contesto-argomenti-ed-etichette.md) è stato impostato per ciascun messaggio.

Nel resto della finestra, troverai la **trascrizione completa** dello scambio di messaggi tra il tuo Agente e l'utente, con timestamp precisi per ogni messaggio (es. 10:22:05).

### Debug delle funzioni

Quando visualizzi i dettagli di una conversazione, accanto ai messaggi che hanno utilizzato funzioni vedrai l'icona di debug ![](<../../.gitbook/assets/c9rs6riawulmc4nhs8f (1).svg>) a forma di scarafaggio.

Cliccando sull'icona potrai vedere:

* **Quale funzione è stata chiamata** (es. "Function Call to 'NOME\_FUNZIONE' on \[timestamp\_chiamata]");
* **Il risultato completo** restituito dalla funzione.

Questo strumento è particolarmente utile per:

* Verificare che le tue funzioni vengano chiamate correttamente;
* Controllare i dati restituiti dalle funzioni;
* Fare debug di problemi nelle integrazioni esterne.

Inoltre, quando l'IA utilizza funzioni per generare risposte, questi risultati vengono automaticamente salvati come **testi preformattati** nella sezione Contenuti generati da IA, permettendoti di validarli e trasformarli in contenuti fissi.

#### Debug avanzato delle conversazioni

Oltre al debug specifico delle funzioni, AIsuru offre una funzionalità di **debug avanzato** che ti permette di monitorare tutte le chiamate API e gli eventi tecnici che avvengono durante una conversazione.

**Accesso al debug avanzato**

Per accedere al debug avanzato:

1. Apri i dettagli di una conversazione dalla sezione **Conversazioni;**
2. Clicca sul pulsante **DEBUG** presente nella pagina dei dettagli della conversazione vicino al SessionID.

**Informazioni visualizzate nel debug**

Il pannello di debug mostra un **log tecnico completo** della conversazione, organizzato in una tabella con le seguenti colonne:

* **TimeLog**: timestamp preciso dell'evento (es. 2025-07-11T08:24:02.3168982Z);
* **Type**: tipologia di evento (es. "audit");
* **Method**: metodo HTTP utilizzato (GET, POST, DELETE, etc.);
* **Path**: endpoint API chiamato (es. /memori/v2/TextEnteredEvent/);
* **Status**: codice di stato HTTP della risposta (es. 200);
* **Result Code**: codice di risultato interno dell'operazione;
* **Result Message**: messaggio di stato dell'operazione (es. "Ok");
* **Response**: risposta completa dell'API in formato JSON.

**Tipologie di eventi tracciati**

Il debug avanzato registra diversi tipi di eventi:

* **Creazione sessione**: quando viene avviata una nuova conversazione;
* **Invio messaggi**: ogni volta che viene inviato un messaggio testuale;
* **Cambiamenti di contesto**: quando vengono modificate informazioni come data o luogo;
* **Chiusura sessione**: quando la conversazione viene terminata.

**Utilizzo del debug avanzato**

Questa funzionalità è particolarmente utile per:

* **Troubleshooting tecnico**: identificare problemi nelle chiamate API;
* **Monitoraggio performance**: analizzare i tempi di risposta delle diverse operazioni;
* **Audit delle conversazioni**: tracciare completamente tutte le attività di una sessione;
* **Sviluppo e testing**: verificare il corretto funzionamento delle integrazioni.

**Note tecniche**

* I dati di debug vengono registrati in tempo reale durante la conversazione;
* Ogni evento include un **Request ID** univoco per la tracciabilità;
* Le risposte API vengono mostrate in formato JSON per una lettura dettagliata;
* Il log è ordinato cronologicamente dal più recente al più vecchio.

⚠️ **Nota**: Il debug avanzato è uno strumento tecnico destinato principalmente a sviluppatori e amministratori per il monitoraggio approfondito delle conversazioni.

### Vedere conversazioni live

Con AIsuru puoi vedere anche le conversazioni che i tuoi utenti stanno tenendo in questo preciso momento. Ti basterà:

1. Accedere alla sezione Conversazioni del tuo Agente;
2. Aprire la conversazione che ti interessa (generalmente l'ultima);
3. **Ricarica la pagina per verificare se ci sono nuovi messaggi**.

Lo storico delle conversazioni di AIsuru è uno strumento prezioso per mantenere traccia di tutte le interazioni, migliorare le prestazioni del sistema e garantire la trasparenza. Esplora questa funzionalità per sfruttare al meglio il tuo assistente AI e ottimizzare le tue interazioni future.


# Velocità di risposta

La velocità di risposta è un fattore critico per l'esperienza utente quando si interagisce con un'IA conversazionale. AIsuru offre diverse opzioni per ottimizzare i tempi di risposta dei tuoi Agenti.

### Monitoraggio dei tempi di risposta

Attualmente, AIsuru non dispone di una sezione dedicata specificamente al monitoraggio della velocità di risposta. Tuttavia, è possibile osservare i tempi di risposta del tuo Agente durante le interazioni con gli utenti o durante i test.

Per monitorare i tempi di risposta:

1. **Interroga il tuo Agente o usa la sezione** <img src="../../.gitbook/assets/conversazioni.svg" alt="" data-size="line"> **Conversazioni** per testare e visualizzare i tempi di risposta;
2. **Prendi nota dei tempi di risposta per diverse tipologie di domande**.

### Ottimizzazione della velocità di risposta

Se noti che i tempi di risposta del tuo Agente sono più lenti del desiderato, ci sono diverse strategie che puoi adottare per migliorare le prestazioni. Vediamole insieme 👇

#### 1. Cambiare il modello linguistico

Alcuni modelli di linguaggio sono più veloci di altri. Per cambiare il modello:

* Vai alla sezione "Impostazioni" del tuo Agente;
* Seleziona la scheda "IA Generativa";
* [**Scegli un modello più veloce**](../../ai-generativa/provider.md) tra quelli disponibili.

{% hint style="warning" %}
Cambiare modello linguistico può migliorare la velocità delle risposte ma potrebbe anche cambiare la modalità di interazione con l'utente o peggiorare la qualità delle risposte. Dopo aver cambiato modello, **assicurati di testare a sufficienza il tuo Agente**!
{% endhint %}

#### 2. Alleggerire le Istruzioni

Istruzioni lunghe e complesse possono rallentare i tempi di risposta. Per ottimizzarle:

* Vai alla sezione "Impostazioni" del tuo Agente;
* Accedi alla sezione IA;
* Modifica le "Istruzioni" dell'IA mantenendo solo quelle essenziali;
* Eventualmente, valuta di sottolineare l'importanza di mandare solamente messaggi brevi agli utenti;
* Salva le modifiche.

#### 3. Ottimizzare la base di conoscenza

Una base di conoscenza troppo vasta o mal organizzata può rallentare le risposte. Considera di:

* Rivedere e consolidare i contenuti nella sezione "Contenuti";
* Eliminare informazioni duplicate o non necessarie;
* Organizzare meglio i contenuti utilizzando [contesti](../../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/contesto-argomenti-ed-etichette.md), [persone](../../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/personalizzazione-dei-contenuti/personalizzare-le-risposte-in-base-a-data-e-luogo-dellutente.md) e le [varianti di domanda](../../istruzione-gestione-contenuti-agenti/contenuti/creazione-manuale-dei-contenuti.md).

#### 4. Utilizzare i Gruppi di esperti

Se il tuo Agente gestisce una vasta gamma di argomenti, considera di utilizzare la funzionalità [Gruppo di esperti](../../estensioni/gruppo-di-esperti/):

* Crea diversi Agenti specializzati in aree specifiche;
* Configura un Gruppo di esperti per distribuire le domande agli Agenti più appropriati;
* Questo approccio può migliorare significativamente i tempi di risposta per domande specialistiche;

Ricorda che **l'ottimizzazione della velocità di risposta è un processo iterativo**. Dopo aver apportato modifiche, continua a monitorare le prestazioni e ad apportare aggiustamenti secondo necessità. Trova il giusto equilibrio tra velocità e qualità delle risposte per offrire la migliore esperienza possibile ai tuoi utenti.


# Preferenze notifiche

AIsuru ti permette di personalizzare la frequenza con cui ricevi aggiornamenti a livello di singolo Agente, aiutandoti a rimanere informato senza essere sopraffatto da troppe notifiche.

#### Accesso alle preferenze notifiche

Per configurare le tue preferenze di notifica:

1. Accedi alla sezione "Impostazioni" del tuo Agente;
2. Seleziona la scheda "Notifiche" dalla barra di navigazione;
3. Troverai le opzioni di configurazione nella sezione "Preferenze notifiche".

#### Configurazione della frequenza

Nel campo "Frequenza notifiche" puoi selezionare quando desideri ricevere aggiornamenti:

* **Nessuna**: non riceverai notifiche via email;
* **Ogni ora**: riceverai aggiornamenti orari sulle nuove interazioni;
* **Giornaliera**: riceverai un riepilogo quotidiano delle attività;
* **Settimanale**: riceverai un riepilogo settimanale delle attività;

#### Contenuto delle notifiche

Quando ricevi una notifica via email, questa includerà:

* Un riepilogo delle nuove interazioni con il tuo Agente;
* Un link diretto allo storico delle conversazioni;
* Un elenco delle nuove risposte generate dall'IA che potrebbero richiedere verifica;
* Collegamenti alle impostazioni di notifica, sia generali che specifiche per l'Agente.

#### Chi riceve le notifiche

Le notifiche vengono inviate a:

* Il creatore dell'Agente;
* Gli utenti invitati come Autori nella sezione "Persone".

Questo sistema ti permette di monitorare efficacemente l'attività del tuo Agente e verificare prontamente le risposte generate dall'IA, mantenendo alta la qualità delle interazioni.

#### Personalizzazione avanzata

Puoi impostare preferenze diverse per ciascun Agente che gestisci, permettendoti di dare priorità alle notifiche in base all'importanza dell'Agente o al volume di interazioni previsto.

Per modificare le preferenze di notifica generali per tutti i tuoi Agenti, [puoi accedere alla sezione Account > Preferenze dalle impostazioni del tuo profilo.](../../primi-passi/gestione-account.md)


# 7. Estensioni

Qui trovi le estensioni della piattaforma:

* [**Gruppo di esperti**](gruppo-di-esperti/), per avere un’unica chat in cui interrogare diverse IA;
* [**Pensiero Profondo**](pensiero-profondo/), per permettere all’IA di ricordare le interazioni con ogni utente e sfruttarle in ambito marketing (con diversi accorgimenti per rispettare al 100% la privacy dell’utente, che rimane sempre in pieno controllo dei dati forniti);
* [**Spazi Virtuali**](spazi-virtuali-vr-e-mr/), per sviluppare esperienza immersive direttamente sulla piattaforma di AIsuru;
* [**Open Badge**](open-badge.md), che possono essere attribuiti dall’IA in completa autonomia e si possono legare ai contenuti.

Queste funzionalità sono incluse per gli utenti di aisuru.com. Sono, invece, moduli separati nella [PaaS](../paas/).


# Gruppo di esperti

Il Gruppo di esperti di AIsuru **ti permette di creare e gestire un team virtuale di Agenti, interrogabili da un'unica intefaccia.**

In questa sezione, esploreremo:

* [Cosa sono i Gruppi di esperti](cosa-sono-i-gruppi-di-esperti.md) e come possono migliorare le prestazioni del tuo assistente AI;
* [Come creare e configurare un Gruppo di esperti](creare-un-gruppo-di-esperti.md) passo dopo passo;
* Come [aggiungere e descrivere gli Agenti all'interno del Gruppo](come-aggiungere-agenti-al-gruppo-e-descriverli.md) di esperti;
* Come [sfruttare efficacemente i contenuti del Gruppo di esperti](come-sfruttare-i-contenuti-nel-gruppo-di-esperti.md);
* [Best practice e casi d'uso per il tuo Gruppo di esperti](gruppo-di-esperti-best-practice-e-casi-duso.md).

Puoi anche **personalizzare il modello IA** utilizzato da ciascun Gruppo di Esperti, permettendo una maggiore flessibilità e controllo sulle prestazioni di coordinazione tra gli esperti.

Che tu stia cercando di creare un team di supporto specializzato, di fornire consulenze in ambiti specifici o di gestire progetti complessi, i Gruppi di esperti di AIsuru ti offrono gli strumenti per realizzare la tua visione. Continua a leggere per scoprire come sbloccare tutto il potenziale del tuo Agente arricchito da un team di esperti virtuali! 🧠👥

Preparati a potenziare il tuo Agente con un team di esperti su misura grazie ai Gruppi di esperti di AIsuru!


# Cosa sono i gruppi di esperti

I gruppi di esperti di AIsuru trasformano il tuo Agente da un semplice chatbot a un potente team virtuale di specialisti. Questa funzionalità ti permette di creare e gestire un insieme di Agenti, ognuno con competenze specifiche, che collaborano per fornire risposte complete e accurate alle domande degli utenti.

#### Come funziona un gruppo di esperti

Il gruppo di esperti funziona come una **conversazione naturale** con un team di specialisti. Ad ogni messaggio che invii, il sistema identifica automaticamente l'esperto più adatto e **quello specifico agente ti risponde**.

Puoi continuare la conversazione normalmente: se la tua prossima domanda riguarda un'area diversa, risponderà l'esperto appropriato per quella richiesta, mantenendo sempre il **contesto di tutta la conversazione precedente**.

Immagina di avere a disposizione una squadra di esperti virtuali, ognuno specializzato in un'area diversa. Quando un utente pone una domanda, il gruppo di esperti:

1. Analizza la richiesta per comprenderne il contesto e l'argomento;
2. Seleziona l'Agente più adatto a rispondere in base alle sue competenze specifiche;
3. L'agente scelto risponde coerentemente all'utente.

{% hint style="info" %}
**L'Agente risponde sulla base della conversazione che l'utente sta tenendo con il gruppo, compresi i messaggi con gli altri Agenti.**

Ad esempio, è possibile prima far recuperare dei dati da un Agente e successivamente rielaborarli con un secondo Agente per creare un grafico
{% endhint %}

L'idea chiave è che ogni Agente nel Gruppo di Esperti dovrebbe avere un suo dominio specifico e, quindi, verrà interrogato il migliore Agente sulla base della richiesta dell'utente\
\
**Esempio di conversazione collaborativa:**

* **Utente**: 'Qual è il fatturato del Q3?'
* **Agente Contabilità**: 'Il fatturato Q3 è stato di 150.000€'
* **Utente**: 'Come possiamo migliorare questi numeri?'
* **Agente Marketing**: 'Basandomi sui 150.000€ che ha indicato il collega, suggerisco...'

-> Ogni agente può **fare riferimento** alle informazioni condivise dagli altri esperti nella stessa conversazione.

#### Potenzialità dei gruppi di esperti

I gruppi di esperti aprono nuove possibilità per l'utilizzo dell'IA conversazionale:

* **Supporto clienti avanzato**: crea un team virtuale di assistenti specializzati per diverse aree del tuo business;
* **Consulenza virtuale**: offri consulenze su temi complessi combinando l'expertise di diversi specialisti;
* **Formazione interattiva**: sviluppa percorsi di apprendimento guidati da un team di tutor virtuali specializzati in diverse materie;
* **Ricerca e analisi**: utilizza diversi Agenti per analizzare problemi da molteplici prospettive e ambiti;
* **Gestione di progetti**: assegna Agenti specializzati a diverse fasi o aspetti di un progetto.

Nelle prossime sezioni, esploreremo in dettaglio come creare, configurare e ottimizzare i tuoi gruppi di esperti per sfruttare al massimo questa potente funzionalità di AIsuru.


# Creare un gruppo di esperti

Per iniziare a creare il tuo gruppo di esperti, segui questi semplici passi:

1. Nella sidebar, clicca su <img src="../../.gitbook/assets/boe.svg" alt="" data-size="line"> **Gruppi di esperti**;
2. Verrai indirizzato alla pagina di gestione dei gruppi di esperti esistenti;
3. Per creare un nuovo gruppo, clicca sul pulsante "Crea" in questa pagina.

### Configurazione del gruppo

La pagina di creazione è divisa in 3 sezioni principali: Generali, IA e Aspetto. Vediamole nel dettaglio.

### Generali

Qui configurerai le impostazioni fondamentali del tuo gruppo, come nome, descrizione, visibilità, lingua, voce, categorie e NSFW (se il Gruppo contiene Agenti con questa spunta).

Proprio come durante la creazione di un Agente, potrai decidere se personalizzare le risposte in base a posizione e data e ora.

### Aspetto

Qui potrai dare un'identità visiva al tuo gruppo di esperti:

* **Immagine di copertina**: carica un'immagine che rappresenti il tuo gruppo;
* **Immagine dell'avatar**: scegli un'icona distintiva per il tuo gruppo.

### Impostazioni IA

Nelle impostazioni del tuo Gruppo di Esperti, puoi personalizzare le capacità di intelligenza artificiale per ottimizzare la coordinazione tra gli esperti.

**Accesso alle impostazioni IA**

Per configurare l'IA del tuo Gruppo di Esperti:

1. Accedi alla pagina di gestione del gruppo desiderato;
2. Nella barra laterale, seleziona **Impostazioni**;
3. Clicca sulla sezione **IA**.

**Scegli il modello** \
Seleziona il modello linguistico che il Gruppo di Esperti utilizzerà per:

* Analizzare le richieste degli utenti
* Selezionare l'esperto più adatto
* Coordinare le risposte tra diversi Agenti

La scelta del modello influisce direttamente sulla capacità del gruppo di comprendere le domande degli utenti e di selezionare l'esperto più appropriato per ogni situazione.

Creare un gruppo di esperti efficace richiede pianificazione e ottimizzazione continua.&#x20;


# Come aggiungere Agenti al gruppo e descriverli

Questa guida ti mostrerà come aggiungere Agenti al tuo gruppo e descriverli efficacemente, ottimizzando così le prestazioni del tuo team di esperti virtuali.

### Aggiunta di Agenti al gruppo

Per popolare il tuo gruppo di esperti con gli Agenti più adatti, segui questi semplici passaggi:

1. Accedi alla pagina di gestione del gruppo di esperti desiderato;
2. Naviga alla sezione "Esperti";
3. Clicca sul pulsante "Aggiungi esperto";
4. Utilizza la funzione di ricerca per trovare l'Agente desiderato;
5. Seleziona l'Agente che vuoi aggiungere al gruppo.

### Descrizione degli Agenti

Una volta selezionato un Agente, dovrai compilare due campi cruciali:

1. **Descrizione** (campo obbligatorio): scrivi una descrizione concisa ma informativa delle competenze dell'Agente: questa descrizione determinerà quando l'Agente verrà scelto per rispondere a una domanda;
2. **Default**: seleziona questa opzione per designare l'Agente come "esperto di default". Questo Agente risponderà quando non è evidente quale esperto del gruppo sia il più adatto alla domanda dell'utente.

### Linee guida per una descrizione efficace

Segui queste best practice per ottimizzare le descrizioni dei tuoi Agenti:

* Sii specifico sulle aree di competenza;
* Usa parole chiave rilevanti;
* Includi il tipo di domande a cui l'Agente può rispondere;
* Menziona eventuali limitazioni o specializzazioni;
* Se pertinente, accenna alle relazioni con altri Agenti nel gruppo;
* Mantieni la descrizione concisa ma informativa.
* **Esempio di descrizione:** "Esperto in normative fiscali italiane, specializzato in tassazione per liberi professionisti e piccole imprese. Può fornire informazioni su deduzioni, aliquote e scadenze fiscali. Non fornisce consulenza legale."

Creando un gruppo di esperti ben strutturato, potrai offrire agli utenti un'esperienza di assistenza IA più precisa e specializzata. 🚀 Sperimenta con diverse combinazioni di Agenti e descrizioni per trovare la configurazione ottimale per le tue esigenze!


# Come sfruttare i contenuti nel gruppo di esperti

l gruppi di esperti in AIsuru offrono un potente strumento per gestire e ottimizzare le risposte fornite agli utenti. Questa funzionalità permette di organizzare e personalizzare i contenuti, garantendo risposte accurate e pertinenti da parte degli esperti virtuali.

### Accesso e gestione dei contenuti

#### 1. Navigazione alla sezione contenuti

Per iniziare a gestire i contenuti del tuo gruppo di esperti:

1. Accedi alla pagina "Gruppi di esperti";
2. Seleziona il gruppo di esperti desiderato;
3. Nella barra laterale, clicca su "Contenuti".

#### 2. Analisi della struttura della pagina

La pagina dei contenuti è suddivisa in due sezioni principali:

1. Risposte dagli esperti;
2. [Messaggio di benvenuto](../../istruzione-gestione-contenuti-agenti/istruzione-sezione-avanzata/messaggio-di-benvenuto.md): da qui potrai personalizzare il messaggio di benvenuto nel tuo Gruppo di Esperti. Ricordati che, in alternativa, puoi creare una "risposta degli esperti" e impostare una [domanda iniziale](../../condivisione/condivisione-sezione-avanzata/domanda-iniziale.md) nella sezione [Condividimi](../../condivisione/).

### Gestione delle risposte degli esperti

Nella sezione principale puoi vedere quali domande sono state associate a specifici esperti. Queste associazioni riguardano solo le risposte fornite con certezza, basate su contenuti predefiniti.

Per arricchire il tuo gruppo di esperti con nuove risposte:

1. Clicca su "Nuova risposta dagli esperti";
2. Compila i seguenti campi:
   1. **Titolo:** inserisci il titolo principale della risposta;
   2. **Varianti titolo:** aggiungi versioni alternative del titolo (opzionale);
   3. **Esperto:** seleziona l'esperto associato a questa risposta.

### Best practices per l'ottimizzazione dei contenuti

Per sfruttare al meglio i contenuti nel tuo gruppo di esperti:

* Mantieni le risposte degli esperti sempre aggiornate e accurate;
* Rivedi periodicamente le associazioni domanda-esperto;
* Crea un messaggio di benvenuto accogliente e informativo;
* Utilizza le varianti del titolo per migliorare il riconoscimento delle domande;
* Monitora regolarmente le interazioni degli utenti per identificare eventuali lacune nella conoscenza del gruppo di esperti.

Sfruttare efficacemente i contenuti nel gruppo di esperti ti permetterà di creare un'esperienza utente più ricca e soddisfacente. Con una gestione attenta e una regolare manutenzione, il tuo gruppo di esperti diventerà una risorsa preziosa per fornire informazioni accurate e pertinenti ai tuoi utenti. 🚀


# Gruppo di esperti: best practice e casi d'uso

Sfruttare al meglio i gruppi di esperti di AIsuru può **trasformare radicalmente** l'esperienza dei tuoi utenti. In questa sezione, esploreremo alcune best practices per ottimizzare l'uso di questa potente funzionalità e vedremo alcuni casi d'uso ispiratori per stimolare la tua creatività.

### Best practices

Per ottenere il massimo dai tuoi gruppi di esperti, segui queste linee guida:

1. **Definisci chiaramente i ruoli**: assegna a ogni Agente un'area di competenza ben definita e non sovrapposta;
2. **Crea descrizioni dettagliate**: fornisci descrizioni precise per ogni Agente, includendo le sue aree di expertise e i tipi di domande a cui può rispondere;
3. **Bilancia la specializzazione**: trova il giusto equilibrio tra Agenti generalisti e specialisti per coprire un'ampia gamma di argomenti;
4. **Aggiorna regolarmente**: mantieni aggiornate le conoscenze degli Agenti con le informazioni più recenti nel loro campo;
5. **Testa e ottimizza**: verifica regolarmente le prestazioni del gruppo e affina le configurazioni in base ai feedback degli utenti;
6. **Usa un linguaggio coerente**: assicurati che tutti gli Agenti nel gruppo utilizzino uno stile e un tono di comunicazione simili;
7. **Sfrutta le sinergie:** incoraggia la collaborazione tra Agenti per fornire risposte più complete e sfaccettate.

## Esempi di casi d'uso

Ecco alcuni esempi di come puoi utilizzare i gruppi di esperti in diversi settori:

### 1. **Supporto tecnico completo**

* Crea un gruppo con Agenti specializzati in diverse aree tecniche (hardware, software, rete, sicurezza, etc.);
* L'utente descrive un problema e automaticamente risponde l'esperto più adatto. Se la conversazione si sposta su un'altra area, risponderà l'esperto appropriato;
* Offri un'assistenza tecnica completa e specializzata 24/7.

### 2. **Consulenza finanziaria completa**

* Assembla un team di Agenti esperti in diverse aree finanziarie (investimenti, tasse, pianificazione pensionistica, prestiti, etc.);
* L'utente può passare da domande sugli investimenti a quesiti fiscali nella stessa conversazione. Ogni esperto farà riferimento alle informazioni condivise dai colleghi;
* Offri un servizio di consulenza finanziaria accessibile e sempre disponibile.

### 3. **Piattaforma di e-learning personalizzata**

* Crea Agenti specializzati in diverse materie (matematica, storia, scienze, letteratura, etc.);
* Gli studenti possono fare domande su qualsiasi materia in una conversazione, ottenendo spiegazioni integrate da esperti diversi;
* Offri sessioni di studio interattive con esperti virtuali disponibili 24/7.

### 4. **Assistente per la pianificazione di viaggi**

* Sviluppa Agenti esperti di diverse destinazioni e servizi turistici (Europa, Asia, viaggi business, avventura, gastronomia, etc.);
* L'utente può passare da domande su destinazioni a quesiti su trasporti o alloggi. Ogni esperto contribuisce per creare un piano completo;
* Offri un'esperienza di pianificazione viaggio su misura e dettagliata.

### 5. **Centro di ricerca virtuale**

* Crea Agenti specializzati in diverse discipline scientifiche (biologia, chimica, fisica, matematica, statistiche, etc.);
* I ricercatori possono porre domande interdisciplinari e ricevere risposte da esperti di diverse discipline in un dialogo scientifico coerente;
* Facilita la ricerca interdisciplinare e l'analisi di problemi complessi.

### 6. **Consulenza legale specializzata**

* Assembla Agenti esperti in diverse aree del diritto (civile, penale, commerciale, del lavoro, tributario, etc.);
* L'utente può esporre situazioni complesse e ricevere consulenza da specialisti diversi che creano un quadro legale completo;
* Offri consulenza legale preliminare accessibile e specializzata.

***

**Ricorda**: in tutti questi casi, l'esperienza dell'utente è quella di una **conversazione naturale** con un team di esperti. Non c'è bisogno di specificare a quale esperto rivolgersi - il sistema identifica automaticamente chi è più adatto a rispondere ad ogni domanda, mantenendo sempre il contesto dell'intera conversazione.

{% hint style="info" %}
**Configurazione del modello**

Ora puoi personalizzare il modello utilizzato dal Gruppo di Esperti:

* Accedi alle **Impostazioni** del tuo Gruppo di Esperti
* Seleziona la sezione **IA** per configurare il modello specifico
* Puoi scegliere un modello diverso da quello utilizzato per Pensiero Profondo
* Si consiglia di utilizzare un modello avanzato per ottenere i migliori risultati nella coordinazione tra esperti
{% endhint %}

Ricorda, questi sono solo alcuni esempi per ispirarti. Con AIsuru, puoi creare gruppi di esperti **su misura** per le tue esigenze specifiche, offrendo ai tuoi utenti un'esperienza IA veramente **unica e personalizzata**.

Sperimentando con diverse configurazioni e applicando queste best practices, trasformerai i tuoi gruppi di esperti in **potenti strumenti** per migliorare l'engagement, la soddisfazione e l'efficacia delle interazioni dei tuoi Agenti.


# Pensiero Profondo

Pensiero Profondo rappresenta un salto evolutivo nel mondo delle IA conversazionali, trasformando le interazioni da semplici scambi di informazioni a vere e proprie relazioni personalizzate. Questa funzionalità innovativa permette al tuo Agente di sviluppare una memoria a lungo termine, ricordando e contestualizzando le conversazioni passate per offrire un'esperienza utente senza precedenti.

In questa sezione, esploreremo:

* [Che cosa è Pensiero Profondo](cosa-e-pensiero-profondo.md) e come può migliorare i tuoi Agenti;
* [Come attivare e configurare Pensiero Profondo](attivazione-e-configurazione.md) per il tuo Agentein;
* [Strumenti](gestione-delle-memorie.md) [per gestire efficacemente le memorie](gestione-delle-memorie.md) accumulate;
* [Best practices e casi d'uso;](best-practices-e-casi-duso.md)
* [Strumenti di analytics](analytics/) per comprendere meglio il tuo pubblico;

Che tu stia cercando di migliorare il customer engagement, personalizzare le esperienze di formazione o sviluppare strategie di marketing più mirate, Pensiero Profondo offre gli strumenti per portare le interazioni con l'IA a un livello superiore.

Preparati a scoprire come questa funzionalità può rivoluzionare il modo in cui il tuo Agente comprende, ricorda e interagisce con gli utenti, creando connessioni più profonde e significative. 🧠💡


# Cosa è Pensiero Profondo

Pensiero Profondo è una **funzionalità rivoluzionaria** di AIsuru che trasforma il tuo Agente in un compagno di conversazione **personalizzato per ogni utente**. Questa tecnologia permette agli Agenti di sviluppare una **memoria a lungo termine specifica per ciascun interlocutore**, creando esperienze su misura uniche per ogni persona.

#### Come funziona Pensiero Profondo

Immagina un assistente IA che si adatta e risponde in modo diverso a ogni utente:

1. **Memorizzazione per utente**: l'Agente ricorda dettagli chiave, preferenze e contesti specifici per ogni singolo utente;
2. **Adattamento dello stile**: modifica il suo modo di comunicare in base alle preferenze individuali;
3. **Contestualizzazione delle informazioni**: utilizza la storia delle interazioni per comprendere meglio le nuove richieste di ciascun utente;
4. **Evoluzione continua**: migliora costantemente la sua comprensione delle esigenze specifiche di ogni interlocutore.

#### Esempio pratico

Per capire meglio il potenziale di Pensiero Profondo, consideriamo due utenti diversi:

* **Utente A**: preferisce risposte brevi e concise. Usa l'Agente per gestire un progetto specifico.
  * L'Agente ricorderà questa preferenza e fornirà sempre risposte sintetiche.
  * Manterrà in memoria i dettagli del progetto, offrendo risposte contestualizzate senza richiedere ripetizioni.
* **Utente B**: desidera risposte dettagliate e approfondite. Utilizza l'Agente per scrivere documentazione.
  * L'Agente offrirà risposte articolate e ricche di dettagli.
  * Ricorderà il contesto della documentazione, fornendo suggerimenti pertinenti e coerenti nel tempo.

Questi due utenti avranno esperienze **completamente diverse** interagendo con lo stesso Agente, grazie a Pensiero Profondo.

#### Vantaggi di Pensiero Profondo

L'attivazione di Pensiero Profondo offre numerosi benefici:

* **Personalizzazione estrema**: ogni utente ha un'esperienza su misura;
* **Continuità nelle conversazioni**: l'Agente può riprendere discussioni precedenti senza perdere il filo;
* **Maggiore efficienza**: evita di ripetere informazioni già fornite;
* **Apprendimento specifico per utente**: l'Agente diventa sempre più efficace con ogni interazione individuale;
* **Esperienza utente migliorata**: gli utenti si sentono compresi e valorizzati individualmente.

#### Potenzialità di Pensiero Profondo

Questa funzionalità apre nuove possibilità per l'IA conversazionale:

* **Assistenza clienti personalizzata**: offri un supporto che si adatta allo stile comunicativo di ogni cliente;
* **Tutoraggio adattivo**: crea percorsi di apprendimento che si evolvono in base ai progressi individuali;
* **Consulenza su misura**: fornisci consigli sempre più accurati basati sulla storia specifica di ogni utente;
* **Gestione progetti flessibile**: adatta lo stile di gestione alle preferenze di ogni membro del team;
* **Fidelizzazione del cliente**: crea relazioni a lungo termine attraverso interazioni significative e personalizzate per ogni individuo.

Con Pensiero Profondo, il tuo Agente si trasforma in un **compagno di conversazione unico per ogni utente**, capace di offrire un'esperienza veramente personalizzata e in continua evoluzione.


# Attivazione e configurazione

Pensiero Profondo è una **funzionalità avanzata** di AIsuru che permette al tuo Agente di sviluppare una memoria a lungo termine, ricordando informazioni chiave dalle interazioni con gli utenti. Questo strumento trasforma il tuo Agente da un semplice assistente a un **compagno di conversazione personalizzato** e contestualmente consapevole.

### Come attivare e configurare Pensiero Profondo

Per attivare e configurare questa potente funzionalità, segui questi semplici passaggi:

1. Accedi alle <img src="../../.gitbook/assets/settings.svg" alt="" data-size="line"> **Impostazioni** > <img src="../../.gitbook/assets/optimized-svg.svg" alt="" data-size="line"> IA del tuo Agente;
2. Assicurati di aver [attivato l'IA generativa](../../ai-generativa/attiva-lia-generativa-e-cambia-il-modello.md#come-attivare-lai-generativa-per-il-tuo-twin);
3. Individua la sottosezione "Pensiero Profondo" e attiva il relativo interruttore;
4. Nella stessa sezione, trova "Configurazione per Pensiero Profondo";
5. Seleziona un modello linguistico avanzato.

✨ Congratulazioni! Hai appena potenziato il tuo Agente con la capacità di ricordare e l'hai configurato per prestazioni ottimali!

{% hint style="info" %}
Pensiero Profondo è una funzionalità avanzata che **richiede un modello linguistico potente per funzionare al meglio**. Ti consigliamo di utilizzare i modelli più performanti per garantire prestazioni ottimali e una comprensione approfondita del contesto nelle conversazioni.
{% endhint %}

### Configurazione della Memoria

La vera magia di Pensiero Profondo risiede nella sua configurabilità. Puoi istruire il tuo Agente su cosa ricordare e cosa ignorare, personalizzando così la sua memoria per adattarsi perfettamente alle tue esigenze.

Per configurare la memoria del tuo Agente:

1. Vai alle <img src="../../.gitbook/assets/settings.svg" alt="" data-size="line"> **Impostazioni** del tuo Agente;
2. Seleziona il tab <img src="../../.gitbook/assets/optimized-svg.svg" alt="" data-size="line"> AI;
3. Scorri fino alla sezione "Istruzioni";
4. Inserisci le [istruzioni ](../../ai-generativa/prompt-engineering/)per la gestione della memoria.

### Struttura delle Istruzioni di Memoria

Le istruzioni per Pensiero Profondo dovrebbero seguire questa struttura:

```
ISTRUZIONI PER L'UTILIZZO DEI FATTI NOTI:
1. DEVI RICORDARTI:
 - [Elenco di informazioni da ricordare]
 
2. NON DEVI MAI RICORDARE:
 - [Elenco di informazioni da ignorare]
```

🔒 La privacy dell'utente è sempre la priorità. Assicurati che le tue istruzioni rispettino e proteggano le informazioni personali degli utenti.

### Suggerimenti per una Configurazione Efficace

Per ottenere il massimo da Pensiero Profondo:

* Sii specifico: definisci chiaramente quali tipi di informazioni devono essere ricordate;
* Mantieni la rilevanza: concentrati su dati che migliorano l'esperienza dell'utente nel lungo termine;
* Pensa al contesto: adatta le istruzioni allo scopo specifico del tuo Agente;
* Usa esempi: fornisci esempi concreti per illustrare cosa ricordare e cosa evitare;
* Rivedi periodicamente: aggiorna le istruzioni per assicurarti che rimangano pertinenti.

Prova questa funzionalità e osserva come il tuo Agente diventa più intuitivo e utile con ogni interazione!


# Gestione delle memorie

Pensiero Profondo ti permette di creare un'esperienza IA veramente personalizzata per ogni utente. Questa sezione ti guiderà attraverso la gestione efficace delle memorie del tuo Agente, assicurando interazioni significative e contestuali.

### Visualizzazione e gestione delle memorie

Una volta attivato Pensiero Profondo, gli utenti avranno accesso a nuove funzionalità:

* **Visualizzare le memorie**: un nuovo pulsante "Fatti noti" nel menu dei comandi dell'interfaccia di chat permette agli utenti di accedere alle informazioni memorizzate;
* **Eliminare le memorie**: gli utenti possono cancellare singole memorie o effettuare una pulizia completa di tutte le memorie;
* **Creare nuove memorie**: attraverso l'interazione naturale con l'Agente, gli utenti generano nuove informazioni che vengono automaticamente memorizzate.

### Utilizzo delle memorie nelle interazioni

Il tuo Agente sfrutta le memorie accumulate per migliorare significativamente la qualità delle conversazioni:

* **Contestualizzazione**: Richiama informazioni precedenti per fornire risposte più pertinenti;
* **Personalizzazione**: Adatta le interazioni in base alle preferenze note dell'utente;
* **Continuità**: Mantiene il filo del discorso facendo riferimento a conversazioni passate.

🌟 Pensiero Profondo trasforma le interazioni con il tuo Agente in esperienze uniche e profondamente personalizzate. Sfruttando questa potente funzionalità, creerai connessioni più significative e durature con i tuoi utenti, elevando il valore del tuo Agente a nuovi livelli di efficacia e coinvolgimento.


# Best practices e casi d'uso

Pensiero Profondo è uno strumento potente che può trasformare radicalmente l'esperienza dei tuoi utenti con l'Agente. In questa sezione, esploreremo alcune best practices per ottimizzare l'uso di questa funzionalità e vedremo alcuni casi d'uso ispiratori per stimolare la tua creatività.

#### Best practices

Per ottenere il massimo da Pensiero Profondo, segui queste linee guida:

1. **Definisci chiaramente gli obiettivi**: stabilisci cosa vuoi ottenere con Pensiero Profondo per il tuo Agente specifico;
2. **Rispetta la privacy**: sii trasparente con gli utenti su quali informazioni vengono memorizzate e come vengono utilizzate;
3. **Personalizza con attenzione**: trova il giusto equilibrio tra personalizzazione e generalizzazione delle risposte;
4. **Aggiorna regolarmente**: rivedi e ottimizza periodicamente le istruzioni di memoria;
5. **Testa e itera**: monitora costantemente le prestazioni e raccogli feedback dagli utenti per migliorare l'esperienza;
6. **Usa un linguaggio coerente**: mantieni uno stile di comunicazione uniforme nelle interazioni personalizzate;
7. **Implementa un sistema di "dimenticanza"**: definisci quando e come le informazioni non più rilevanti devono essere rimosse;
8. **Offri controllo all'utente**: permetti agli utenti di gestire le proprie memorie e preferenze di personalizzazione.

#### Casi d'uso ispiratori

Ecco alcuni esempi di come puoi utilizzare Pensiero Profondo in diversi settori:

1. **Assistente personale evoluto**
   * Ricorda le preferenze dell'utente per attività quotidiane, appuntamenti e abitudini;
   * Offre suggerimenti proattivi basati sulla storia delle interazioni;
   * Adatta il proprio stile comunicativo alle preferenze individuali dell'utente.
2. **Tutor di apprendimento adattivo**
   * Tiene traccia del progresso dell'utente in diversi argomenti;
   * Personalizza il percorso di apprendimento in base ai punti di forza e di debolezza;
   * Adatta la difficoltà e lo stile di insegnamento alle preferenze individuali.
3. **Consulente finanziario personalizzato**
   * Ricorda gli obiettivi finanziari a lungo termine dell'utente;
   * Offre consigli su misura basati sulla storia degli investimenti e della gestione del denaro;
   * Adatta la complessità delle spiegazioni in base alla familiarità dell'utente con i concetti finanziari.
4. **Assistente sanitario intelligente**
   * Tiene traccia della storia medica dell'utente e delle sue abitudini di salute;
   * Fornisce promemoria personalizzati per medicinali e appuntamenti;
   * Adatta i consigli di stile di vita in base alle condizioni specifiche dell'utente.
5. **Concierge di viaggio su misura**
   * Ricorda le preferenze di viaggio dell'utente (tipo di alloggio, attività preferite, etc.);
   * Offre suggerimenti personalizzati per destinazioni e itinerari;
   * Adatta le raccomandazioni in base alle esperienze di viaggio passate dell'utente.

#### Implementazione strategica

Per implementare Pensiero Profondo in modo efficace:

1. **Inizia in piccolo**: parti con un sottoinsieme limitato di utenti per testare e perfezionare l'esperienza;
2. **Misura l'impatto**: utilizza metriche chiare per valutare il miglioramento dell'esperienza utente;
3. **Raccogli feedback**: incoraggia gli utenti a condividere le loro impressioni sulla personalizzazione;
4. **Evolvi gradualmente**: espandi le capacità di Pensiero Profondo man mano che acquisisci fiducia e dati;
5. **Forma il tuo team**: assicurati che tutti comprendano le potenzialità e i limiti di Pensiero Profondo.

Pensiero Profondo offre un'opportunità unica di creare esperienze profondamente personalizzate e coinvolgenti. Sperimentando con diverse configurazioni e applicando queste best practices, trasformerai il tuo Agente in un assistente virtuale veramente su misura per ogni utente, creando connessioni più profonde e durature.

Ricorda, il potenziale di Pensiero Profondo è limitato solo dalla tua immaginazione. Usa queste linee guida come punto di partenza per esplorare nuove e innovative applicazioni per il tuo Agente!


# Analytics

Gli Analytics di Pensiero Profondo offrono una finestra unica sulle interazioni tra il tuo assistente IA e gli utenti. Questa funzionalità ti permette di analizzare e comprendere gli interessi del tuo pubblico basandosi sulle conversazioni individuali memorizzate dall'IA.

In questa sezione, esploreremo due potenti strumenti:

* [**Ricerca interessi degli utenti:**](ricerca-interessi-degli-utenti.md) scopri cosa appassiona davvero il tuo pubblico;
* [**Ricerca di segmenti di pubblico in linguaggio naturale:**](ricerca-di-segmenti-di-pubblico-in-linguaggio-naturale.md) identifica gruppi specifici di utenti utilizzando semplici frasi.

Gli Analytics di Pensiero Profondo ti offrono:

* Una visione dettagliata delle tematiche discusse più frequentemente;
* La capacità di identificare tendenze emergenti nelle conversazioni;
* Uno strumento intuitivo per segmentare il tuo pubblico basandosi sulle loro interazioni reali con l'IA;
* La possibilità di esportare i dati per ulteriori analisi o azioni di marketing mirate.

Preparati a scoprire come trasformare le singole interazioni IA-utente in preziose informazioni, portando la tua comprensione del pubblico a un livello completamente nuovo! 📊🔍


# Ricerca interessi degli utenti

AIsuru ti offre la possibilità di esplorare gli interessi degli utenti che interagiscono con il tuo Agente attraverso Pensiero Profondo. Questo **potente strumento di analisi** ti aiuta a comprendere meglio il tuo pubblico e a personalizzare le tue strategie di engagement.

### Accesso alla funzionalità

Per accedere alla ricerca degli interessi degli utenti:

1. Apri il pannello di gestione del tuo Agente;
2. Seleziona "Followers" dal menu laterale.

### Esplorazione degli interessi individuali

La pagina "Utenti" presenta una tabella con le seguenti informazioni: Username, Email e Azioni.

Per visualizzare gli interessi di un utente specifico:

1. Individua l'utente desiderato nella tabella;
2. Clicca sul link "Interessi" nella colonna "Azioni";
3. Si aprirà una finestra pop-up intitolata "Interessi discussi dall'utente \[nome.utente]".

🔍 Nella finestra pop-up, troverai:

* Il **numero totale di interessi** rilevati;
* Una tabella a due colonne: "Interesse" e "Peso".

**Nota**: Il "Peso" indica la rilevanza o frequenza dell'interesse per l'utente.

### Panoramica generale degli interessi

Per una visione d'insieme degli interessi di tutti gli utenti:

1. Nella pagina "Utenti", clicca sul tab "Interessi";
2. Accederai a una nuova pagina dedicata agli interessi complessivi.

In questa pagina troverai:

* Il **numero totale di interessi** rilevati;
* Un pulsante "**Esporta**" per scaricare i dati;
* Una tabella con tre colonne: "Interesse", "Peso" e "Azioni".

### Funzionalità della pagina Interessi

1. **Visualizzazione dettagliata**: la tabella mostra tutti gli interessi rilevati tra gli utenti;
2. **Esportazione dati**: clicca su "Esporta" per scaricare un file con tutti i dati degli interessi per analisi offline;
3. **Analisi dei followers per interesse**:
   * Nella colonna "Azioni", trovi un link "Followers" per ogni interesse;
   * Clicca su "Followers" per vedere gli utenti interessati a quell'argomento specifico.

### Suggerimenti per l'utilizzo efficace

1. **Monitoraggio regolare**: controlla periodicamente la pagina degli interessi per identificare nuovi trend o cambiamenti nelle preferenze degli utenti;
2. **Segmentazione**: utilizza i dati sugli interessi per creare segmenti di pubblico più precisi e mirati;
3. **Personalizzazione dei contenuti**: adatta i messaggi del tuo Agente in base agli interessi predominanti dei tuoi utenti;
4. **Sviluppo prodotto**: usa le informazioni sugli interessi per guidare lo sviluppo di nuove funzionalità o prodotti.

La "Ricerca interessi degli utenti" è uno **strumento potente** che ti permette di conoscere meglio il tuo pubblico e di prendere decisioni basate su dati concreti. Sfrutta al massimo questa funzionalità per creare **esperienze più personalizzate e coinvolgenti** per i tuoi utenti, migliorando l'efficacia del tuo Agente AI e rafforzando la connessione con il tuo pubblico.


# Ricerca di segmenti di pubblico in linguaggio naturale

La **ricerca di segmenti di pubblico in linguaggio naturale** è una potente funzionalità di Pensiero Profondo che ti permette di **identificare gruppi specifici di utenti** basandoti sui loro interessi e interazioni passate con l'IA.

⚠️ **Ricorda**: Utilizza sempre questa funzionalità nel rispetto delle normative sulla privacy e dei termini di servizio concordati con i tuoi utenti.

### Come accedere alla funzione

Per iniziare a utilizzare questa funzionalità:

1. Apri il pannello di controllo del tuo Agente;
2. Naviga alla sezione "Followers";
3. Seleziona il tab "Ricerca".

Troverai un **campo di ricerca intuitivo** dove potrai inserire le tue query in linguaggio naturale.

### Effettuare una ricerca

Ecco come puoi utilizzare questa potente funzione:

1. Digita la tua domanda o descrizione del segmento nel campo di ricerca (es. "Chi è interessato al prodotto X?");
2. Premi Invio o clicca sul pulsante di ricerca;
3. Clicca su "Risultati" per visualizzare l'elenco degli utenti corrispondenti.

### Affinare i risultati

Per ottimizzare la precisione dei tuoi risultati, utilizza il filtro "Mostra risultati con sicurezza":

* **LOW**: Amplia la corrispondenza, aumentando potenzialmente il numero di utenti;
* **MEDIUM**: Offre un equilibrio tra ampiezza e precisione;
* **HIGH**: Mostra solo i risultati con la massima corrispondenza, aumentando la precisione.

### Utilizzo dei risultati

Una volta ottenuti i tuoi risultati, hai diverse opzioni per sfruttarli al meglio:

1. **Esporta la lista degli utenti**:
   * Clicca sul pulsante "Esporta" per scaricare un file con i dati degli utenti;
   * Utilizza questa lista per ulteriori analisi o per integrarla con altri strumenti di marketing.
2. **Invia comunicazioni mirate** direttamente dalla piattaforma:
   * Seleziona gli utenti a cui desideri inviare una comunicazione;
   * Clicca su "Invia email" per aprire l'interfaccia di invio;
   * Compila i campi richiesti:
     * Destinatari: gli indirizzi email degli utenti selezionati;
     * URL Agente: l'URL dell'Agente che invierà la comunicazione;
     * Oggetto: inserisci un oggetto accattivante per la tua email;
     * Messaggio: scrivi il corpo dell'email personalizzato per questo segmento.
3. **Personalizza le future interazioni**:
   * Utilizza gli insights ottenuti per adattare le risposte del tuo Agente a questo specifico segmento di utenti;
   * Crea contenuti mirati basati sugli interessi emersi dalla ricerca.

💡 L'invio di email direttamente dall'Agente ti permette di mantenere una comunicazione coerente e personalizzata, aumentando l'efficacia delle tue campagne di marketing.

La ricerca di segmenti di pubblico in linguaggio naturale è uno **strumento potente** che ti permette di comprendere meglio il tuo pubblico e di personalizzare le tue strategie di comunicazione. Sfrutta al massimo questa funzionalità per **migliorare l'esperienza dei tuoi utenti** e l'efficacia delle tue interazioni IA!


# Spazi Virtuali (VR e MR)

Gli Spazi Virtuali di AIsuru ti permettono di creare, esplorare e interagire con ambienti immersivi in Realtà Virtuale (VR) e Realtà Mista (MR). Questa potente funzionalità trasforma la tua esperienza da una semplice interazione 2D a un'avventura tridimensionale coinvolgente e personalizzabile.

In questa sezione, esploreremo:

* [**Cosa sono gli spazi virtuali** ](cosa-e-uno-spazio-virtuale.md)e come possono arricchire la tua esperienza;
* [**Come creare e personalizzare uno spazio virtuale**](creazione-di-uno-spazio-virtuale.md) passo dopo passo;
* [**Come aggiungere Agenti** ](aggiungere-agenti-agli-spazi-virtuali.md)nei tuoi ambienti virtuali;
* [**Come aggiungere degli oggetti** ](aggiungere-oggetti-agli-spazi-virtuali.md)nei tuoi ambienti virtuali;
* [**Come accedere e navigare**](entrare-in-uno-spazio-virtuale.md) all'interno degli spazi virtuali;
* [**Casi d'uso**](casi-duso.md) per sfruttare al meglio questa tecnologia.

Che tu stia cercando di visualizzare dati complessi, creare ambienti di formazione immersivi, o semplicemente esplorare nuove forme di interazione, gli Spazi Virtuali di AIsuru ti offrono gli strumenti per realizzare la tua visione. Continua a leggere per scoprire come sbloccare tutto il potenziale della realtà virtuale e mista! 🚀🥽


# Cosa è uno spazio virtuale

Gli **spazi virtuali** di AIsuru sono ambienti digitali immersivi che ti permettono di portare i tuoi Agenti in una nuova dimensione interattiva. Questi spazi combinano la potenza dell'intelligenza artificiale conversazionale con le tecnologie di **Realtà Virtuale (VR)** e **Realtà Mista (MR)**, creando esperienze coinvolgenti e personalizzate.

#### Con gli spazi virtuali, puoi:

* Creare **ambienti 3D interattivi** dove i tuoi utenti possono esplorare e interagire con i tuoi Agenti;
* Offrire **esperienze immersive** che vanno oltre la semplice chat testuale;
* Visualizzare **informazioni complesse** in modo intuitivo e coinvolgente;
* Sviluppare **simulazioni** e **scenari di formazione** avanzati;
* Presentare **prodotti o servizi** in modo innovativo e memorabile.

Gli spazi virtuali di AIsuru sono progettati per essere:

* **Personalizzabili**: puoi adattare l'ambiente alle tue esigenze specifiche;
* **Accessibili**: gli utenti possono accedere agli spazi tramite dispositivi VR o direttamente dal browser web;
* **Interattivi**: i visitatori possono interagire con oggetti virtuali e Agenti all'interno dello spazio;
* **Scalabili**: puoi creare spazi semplici o complessi in base alle tue necessità.

Che tu stia cercando di creare un **showroom virtuale**, un **ambiente di formazione immersivo** o uno **spazio espositivo interattivo**, gli spazi virtuali di AIsuru ti offrono gli strumenti per trasformare le tue idee in realtà digitali coinvolgenti.

Nei prossimi capitoli, esploreremo come creare, personalizzare e gestire i tuoi spazi virtuali, permettendoti di sfruttare appieno questa potente funzionalità di AIsuru.


# Creazione di uno spazio virtuale

Gli spazi virtuali di AIsuru ti permettono di esporre rapidamente i tuoi **Agenti in realtà virtuale e mista**, creando esperienze immersive e interattive.

### Procedura di creazione

Per creare un nuovo spazio virtuale, segui questi passaggi:

1. Accedi alla sezione <img src="../../.gitbook/assets/vr.svg" alt="" data-size="line"> **Spazi virtuali** all'interno della piattaforma;
2. Clicca sul pulsante **+ CREA**;
3. **Inserisci i dati richiesti**:
   1. Nome e descrizione dello spazio;
   2. Checkbox per abilitare la mixed reality;
   3. Un banner distintivo per lo spazio;
4. **Scegli l'ambiente**: seleziona tra i mondi predefiniti disponibili o carica un tuo modello GLB personalizzato.

Puoi collegare un'IA al tuo mondo per assistere i visitatori e migliorare l'esperienza.

### Configurazione iniziale

Dopo la creazione, usa il **configuratore web 3D** per personalizzare lo spazio:

1. Seleziona gli[ Agenti da inserire](aggiungere-agenti-agli-spazi-virtuali.md) (oggetti o personaggi);
2. Scegli il tipo di modello per ogni Agente:
   * Modelli 3D custom;
   * Avatar creati con ReadyPlayerMe;
   * Avatar già esistenti per i tuoi Agenti;
3. Posiziona gli elementi all'interno del mondo;
4. Pubblica il tuo spazio e attendi l'approvazione del team di AIsuru.


# Aggiungere Agenti agli spazi virtuali

Gli spazi virtuali di AIsuru ti permettono di inserire i tuoi Agenti in ambienti di **realtà virtuale e mista**, creando esperienze immersive e interattive.

### Selezione e inserimento degli Agenti

Per aggiungere Agenti al tuo spazio virtuale, segui questi passaggi:

1. Accedi al configuratore web 3D del tuo spazio virtuale;
2. Seleziona gli Agenti da inserire dall'elenco dei tuoi assistenti virtuali;
3. Scegli il tipo di rappresentazione per ogni Agente:
   * Modelli 3D personalizzati (es. per oggetti parlanti);
   * Avatar creati con ReadyPlayerMe;
   * Avatar già esistenti associati ai tuoi Agenti;
4. Posiziona gli Agenti all'interno del mondo virtuale;
5. Salva le modifiche e attendi l'approvazione del team AIsuru.

**Nota**: Puoi riutilizzare gli avatar già creati per i tuoi Agenti esistenti o crearne di nuovi per un'esperienza più personalizzata.

### Ruolo dell'AI nell'assistenza ai visitatori

Gli Agenti inseriti negli spazi virtuali svolgono un ruolo cruciale nell'arricchire l'esperienza dei visitatori:

* Forniscono assistenza immediata e personalizzata;
* Rispondono a domande su prodotti, servizi o temi specifici;
* Guidano i visitatori attraverso l'ambiente virtuale;
* Prevengono l'abbandono dello spazio offrendo costante interazione e coinvolgimento;
* Personalizzano l'esperienza in base alle preferenze e alle azioni dell'utente.

Questa presenza AI assicura che ogni visita sia interattiva, informativa e coinvolgente, massimizzando il valore dell'esperienza virtuale.

### Vantaggi dell'aggiunta di Agenti

Inserendo i tuoi Agenti negli spazi virtuali di AIsuru:

* Crei un'esperienza interattiva e coinvolgente per i visitatori;
* Offri assistenza e informazioni attraverso AI personalizzate;
* Racconti di te, dei tuoi prodotti e servizi in modo innovativo e immersivo.

Aggiungendo Agenti ai tuoi spazi virtuali, trasformi un semplice ambiente 3D in un'esperienza interattiva e informativa, capace di coinvolgere e assistere i visitatori in modo unico e personalizzato.


# Aggiungere oggetti agli spazi virtuali

Gli spazi virtuali di AIsuru possono essere arricchiti con **oggetti 3D**, creando ambienti interattivi e coinvolgenti per i visitatori. Questa funzionalità ti permette di personalizzare l'esperienza in **realtà virtuale e mista**, aggiungendo dettagli e interattività al tuo mondo virtuale.

### Accesso al configuratore 3D

Per iniziare ad aggiungere oggetti al tuo spazio virtuale:

1. Accedi alla piattaforma web di AIsuru;
2. Vai alla sezione "SPAZI VIRTUALI";
3. Seleziona lo spazio virtuale che desideri modificare;
4. Clicca su "Configura" per aprire il configuratore web 3D.

### Inserimento di oggetti

Una volta nel configuratore, puoi aggiungere vari tipi di oggetti:

1. Seleziona "Aggiungi oggetto" dal menu del configuratore;
2. Scegli il tipo di oggetto da inserire:
   * Modelli 3D personalizzati (per creare, ad esempio, uno showroom di prodotti);
   * Oggetti predefiniti dalla libreria di AIsuru;
   * Elementi interattivi (come pulsanti o trigger per azioni);
3. Carica il file del modello 3D (se stai usando un oggetto personalizzato);
4. Posiziona l'oggetto nel mondo virtuale utilizzando gli strumenti di traslazione e rotazione;
5. Regola le dimensioni dell'oggetto se necessario.

**Nota**: Assicurati che i file dei modelli 3D siano in formato compatibile (es. GLB, OBJ) prima di caricarli.

### Personalizzazione degli oggetti

Per rendere gli oggetti più interattivi e informativi:

1. Seleziona l'oggetto nel configuratore;
2. Apri il menu delle proprietà dell'oggetto;
3. Aggiungi informazioni come:
   * Nome dell'oggetto;
   * Descrizione;
   * Link a risorse esterne (se applicabile);
4. Imposta comportamenti interattivi, come:
   * Azioni al click;
   * Animazioni;
   * Trigger per l'attivazione di Agenti o altri elementi.

### Pubblicazione e revisione

Dopo aver aggiunto e configurato gli oggetti:

1. Salva le modifiche nel configuratore;
2. Clicca su "Pubblica" per inviare l'aggiornamento;
3. Attendi la revisione e l'approvazione da parte del team di AIsuru.

L'aggiunta di oggetti agli spazi virtuali di AIsuru ti permette di creare ambienti ricchi e interattivi, migliorando l'esperienza degli utenti e offrendo nuove opportunità per presentare prodotti, servizi o informazioni in modo coinvolgente e immersivo.


# Entrare in uno spazio virtuale

Gli spazi virtuali di AIsuru ti offrono un'esperienza immersiva in **realtà virtuale e mista**, permettendoti di interagire con i tuoi Agenti in ambienti personalizzati. Questa funzionalità ti consente di creare esperienze coinvolgenti per presentare prodotti, servizi o semplicemente per intrattenere e informare i visitatori.

### Accesso agli spazi virtuali

Per entrare in uno spazio virtuale di AIsuru:

1. Scarica l'applicazione AIsuru VR sul tuo dispositivo Meta Quest;
2. Avvia l'applicazione sul tuo visore VR;
3. Esplora l'elenco dei mondi pubblicati disponibili;
4. Seleziona lo spazio virtuale che desideri visitare;
5. Entra nel mondo utilizzando il tuo avatar personalizzato.

**Nota**: L'applicazione AIsuru VR è disponibile per il download direttamente dal Meta Store.

### Interazione nell'ambiente virtuale

Una volta entrato nello spazio virtuale, puoi:

* Muoverti liberamente nell'ambiente utilizzando i controlli del tuo dispositivo VR;
* Interagire con gli oggetti e gli Agenti presenti nel mondo;
* Comunicare con le IA associate agli Agenti per ottenere informazioni o assistenza;
* Esplorare le funzionalità specifiche implementate nel mondo virtuale;
* Interagire con altri visitatori presenti nello spazio:
  * Comunicare tramite chat vocale o testuale;
  * Partecipare ad attività di gruppo o collaborare su progetti;
  * Scambiare informazioni e condividere esperienze in tempo reale;
  * Personalizzare il tuo avatar per un'esperienza sociale più coinvolgente.

Questa interazione sociale arricchisce l'esperienza, rendendo lo spazio virtuale più dinamico e coinvolgente, simile a piattaforme popolari di realtà virtuale sociale.

### Personalizzazione dell'esperienza

Per una visita più personalizzata:

* Crea o personalizza il tuo avatar prima di entrare nel mondo;
* Utilizza l'avatar creato tramite ReadyPlayerMe, se disponibile;
* Interagisci con altri visitatori presenti nello stesso spazio virtuale.

### Vantaggi degli spazi virtuali AIsuru

L'utilizzo degli spazi virtuali di AIsuru ti offre numerosi benefici:

* Esperienze immersive e interattive simili a piattaforme come VR Chat;
* Presenza di IA capaci di fornire informazioni su prodotti, servizi o temi specifici;
* Possibilità di esplorare showroom virtuali o ambienti tematici;
* Interazione sociale in un contesto virtuale sicuro e controllato;
* Accesso a contenuti e informazioni in modo innovativo e coinvolgente.

### Esperienza simile a VR Chat

Gli spazi virtuali di AIsuru ti offrono un'esperienza sociale immersiva simile a piattaforme popolari come VR Chat, con alcuni vantaggi aggiuntivi:

* Ambienti tematici e personalizzati per scopi specifici (es. showroom, formazione, intrattenimento);
* Presenza di IA intelligenti che arricchiscono l'interazione;
* Possibilità di creare esperienze su misura per il tuo brand o organizzazione;
* Integrazione di elementi informativi e interattivi per scopi commerciali o educativi.

Queste caratteristiche rendono gli spazi virtuali di AIsuru ideali sia per applicazioni business che per esperienze sociali e di intrattenimento.

Entrare in uno spazio virtuale di AIsuru ti permette di immergerti in un mondo interattivo, dove puoi esplorare, apprendere e interagire con Agenti e altri visitatori. Questa funzionalità apre nuove possibilità per la presentazione di prodotti, la formazione e l'intrattenimento in un ambiente virtuale ricco e personalizzato.


# Casi d'uso

Gli spazi virtuali di AIsuru ti offrono infinite possibilità per creare esperienze immersive e interattive. Ecco alcuni esempi di come puoi sfruttare questa potente funzionalità:

### Vivere la storia

Trasforma l'apprendimento della storia in un'esperienza coinvolgente:

* Crea ambienti storici accurati basati su ricerche archeologiche;
* Popola questi ambienti con Agenti rappresentanti personaggi storici;
* Permetti agli utenti di interagire direttamente con queste figure, facendo domande e ricevendo risposte contestuali.

**Nota**: Questa applicazione è particolarmente efficace per musei, siti archeologici e istituzioni educative.

### Esplorare l'impossibile

Rendi accessibili luoghi normalmente irraggiungibili:

* Ricrea ambienti come la Stazione Spaziale Internazionale o l'interno di un vulcano;
* Inserisci Agenti esperti (astronauti, geologi) per guidare e informare i visitatori;
* Offri esperienze interattive che simulano condizioni uniche (es. microgravità).

### Turismo virtuale

Permetti ai tuoi utenti di esplorare destinazioni prima di visitarle fisicamente:

* Crea riproduzioni accurate di luoghi turistici;
* Inserisci guide virtuali sotto forma di Agenti per fornire informazioni e rispondere a domande;
* Offri funzionalità come la prenotazione di visite reali direttamente dall'ambiente virtuale.

### Formazione in sicurezza

Crea ambienti di formazione per situazioni ad alto rischio o complesse:

* Simula scenari di emergenza o procedure mediche complesse;
* Inserisci Agenti "istruttori" per guidare gli utenti attraverso le procedure;
* Offri feedback in tempo reale e valutazioni delle prestazioni.

### Sviluppo di videogiochi interattivi

Utilizza gli spazi virtuali per creare esperienze di gioco uniche:

* Crea mondi di gioco dinamici che si modificano in base alle interazioni dei giocatori;
* Popola il mondo con personaggi non giocanti (NPC) basati su Agenti, capaci di conversazioni complesse e comportamenti adattivi;
* Implementa sistemi di quest e narrazione generati dinamicamente dall'IA.

### Showroom virtuale interattivo

Crea uno spazio espositivo virtuale per i tuoi prodotti o servizi:

* Popola l'ambiente con modelli 3D dettagliati dei tuoi prodotti;
* Implementa "oggetti parlanti" utilizzando Agenti per ogni prodotto, capaci di fornire informazioni dettagliate e rispondere a domande specifiche;
* Offri dimostrazioni interattive e personalizzate dei prodotti;
* Permetti ai visitatori di configurare e personalizzare prodotti in tempo reale;
* Integra funzionalità di e-commerce per acquisti diretti dall'ambiente virtuale.

Sfruttando gli spazi virtuali di AIsuru, puoi creare esperienze immersive che vanno oltre i confini del mondo fisico, offrendo opportunità uniche per l'apprendimento, l'esplorazione e l'intrattenimento. Che tu stia creando un **museo virtuale**, un **simulatore di addestramento** o un **innovativo videogioco**, le possibilità sono limitate solo dalla tua immaginazione.


# Open Badge

Gli Open Badge rappresentano **un metodo per certificare e condividere le competenze** in formato digitale. AIsuru integra questa tecnologia con l'intelligenza artificiale, offrendoti un sistema rivoluzionario per la valutazione e il riconoscimento delle abilità.

### Cos'è un Open Badge?

Un Open Badge è un distintivo digitale verificabile che certifica specifiche competenze, abilità o conoscenze. Questi badge sono:

* Facilmente condivisibili online;
* Riconosciuti in contesti educativi e professionali;
* Utili per dimostrare le tue competenze in modo trasparente.

### Integrazione degli Open Badge in AIsuru

AIsuru porta l'utilizzo degli Open Badge a un nuovo livello, combinandoli con l'intelligenza artificiale per:

* Offrirti supporto allo studio personalizzato;
* Verificare automaticamente il raggiungimento delle competenze;
* Valutare le tue abilità in modo più oggettivo e tempestivo.

Con AIsuru, **l'IA può conferire autonomamente gli Open Badge agli utenti** che interagiscono con il tuo Agente.

### Come funzionano gli Open Badge in AIsuru

Il processo di utilizzo degli Open Badge in AIsuru si articola in tre fasi principali:

1. Configurazione iniziale:
   * Definire le competenze da certificare;
   * Creare i badge corrispondenti;
   * Impostare i criteri per l'assegnazione.
2. Interazione utente-IA:
   * Interagire con l'IA conversazionale di AIsuru;
   * Rispondere alle domande dell'IA per la valutazione;
   * Attendere l'analisi in tempo reale delle risposte.
3. Assegnazione del badge:
   * Ricevere il badge al raggiungimento dei criteri stabiliti;
   * Visualizzare il badge nel tuo account;
   * Condividere il badge su piattaforme esterne.

### Vantaggi degli Open Badge in AIsuru

L'integrazione degli Open Badge in AIsuru ti offre numerosi benefici:

* Automazione del processo di certificazione;
* Personalizzazione dei percorsi formativi;
* Valutazione più oggettiva delle competenze;
* Apprendimento adattivo alle esigenze individuali;
* Promozione dell'equità nelle opportunità formative e lavorative.

### Implementazione tecnica

Per implementare gli Open Badge in AIsuru, sono necessari:

* Un sistema di gestione dei badge integrato;
* Algoritmi per la valutazione automatica delle competenze;
* Un'interfaccia utente per visualizzare e gestire i badge;
* Meccanismi per l'assegnazione autonoma dei badge da parte dell'AI.

**Nota**: l'implementazione richiede competenze tecniche specifiche. Contatta il supporto di AIsuru tramite Manuela per assistenza nella configurazione.

### Privacy e sicurezza

AIsuru pone grande attenzione alla protezione dei tuoi dati personali e alla sicurezza dei badge emessi:

* I tuoi dati sono protetti secondo le normative vigenti;
* L'assegnazione dei badge avviene attraverso processi sicuri;
* Tutti i badge emessi sono verificabili e autentici.

L'integrazione degli Open Badge in AIsuru rappresenta un passo avanti significativo nel campo della formazione e della certificazione delle competenze. Questa sinergia tra AI e Open Badge non solo rende l'apprendimento più dinamico, ma apre anche la strada a una valutazione più equa e trasparente delle qualifiche personali.

Prova ora la funzionalità Open Badge di AIsuru e scopri come può rivoluzionare il tuo approccio alla formazione e alla certificazione delle competenze!


# 8. Platform as a Service (PaaS)

La **Platform as a Service (PaaS)** di AIsuru offre un **ambiente cloud completo e flessibile** per sviluppare, eseguire e gestire le tue applicazioni di **intelligenza artificiale conversazionale**. Questa potente soluzione ti permette di concentrarti sulla creazione e l'ottimizzazione dei tuoi Agenti IA, mentre AIsuru si occupa di gestire l'infrastruttura sottostante.

In questa sezione, esploreremo:

* [**I** **vantaggi chiave** ](vantaggi-della-paas.md)della PaaS di AIsuru per il tuo business;
* [**Come** **attivare e configurare** rapidamente il tuo ambiente PaaS](come-attivare-e-configurare-la-paas.md) personalizzato;
* Il processo per [**collegare la PaaS al tuo dominio personalizzato**;](come-collegare-la-paas-al-tuo-dominio.md)
* Strumenti per una [**gestione efficiente degli utenti**](../avanzate/gestione-utenti-persone/) e dei loro permessi;
* [**Come controllare i consumi della piattaforma;**](pannello-di-amministrazione/controllare-i-consumi-della-paas.md)
* [**Opzioni avanzate di personalizzazione** ](personalizzazione-dellambiente-paas.md)per adattare la PaaS alle tue esigenze specifiche;
* Robuste [**misure di** **sicurezza e privacy**](sicurezza-e-privacy.md) per proteggere i tuoi dati e quelli dei tuoi utenti;
* [**Il supporto continuo e la manutenzione**](supporto-e-manutenzione.md) proattiva offerti dal team AIsuru.

Che tu sia una **startup innovativa** nel campo dell'IA o un'**azienda consolidata** che cerca di potenziare le proprie capacità di intelligenza artificiale, la PaaS di AIsuru ti fornisce gli strumenti e la flessibilità necessari per **sviluppare**, **distribuire** e **scalare** rapidamente le tue applicazioni di IA conversazionale.

Continua a leggere per scoprire come la Platform as a Service di AIsuru può trasformare il tuo approccio allo sviluppo e alla distribuzione di **assistenti virtuali intelligenti**, permettendoti di creare esperienze IA personalizzate e scalabili con facilità.


# Vantaggi della PaaS

La Platform as a Service di AIsuru è come un potente laboratorio digitale pronto all'uso. Ti offre tutto ciò di cui hai bisogno per creare, gestire e far crescere le tue applicazioni di IA conversazionale, senza doverti preoccupare di configurare e mantenere l'infrastruttura tecnologica sottostante.

### Come funziona la PaaS di AIsuru

Immagina la PaaS di AIsuru come una cassetta degli attrezzi high-tech per le tue creazioni IA. Include:

* Un ambiente di sviluppo già pronto;
* Strumenti per pubblicare le tue applicazioni con un clic;
* Gestione automatica delle risorse informatiche;
* Capacità di crescere insieme alle tue esigenze;
* Connessioni facili con altri servizi IA.

### Vantaggi chiave

Ecco perché scegliere la PaaS di AIsuru può fare la differenza:

1. Risparmi tempo e denaro:
   * Non devi acquistare hardware o software costosi;
   * Riduci la necessità di personale IT specializzato.
2. Vai sul mercato più velocemente:
   * Sviluppi rapidamente grazie a strumenti già configurati;
   * Pubblichi le tue applicazioni in pochi passaggi.
3. Cresci senza pensieri:
   * Gestisci facilmente aumenti improvvisi di utenti;
   * Espandi le tue risorse senza interruzioni.
4. Personalizza come vuoi:
   * Accedi a una vasta gamma di strumenti IA;
   * Adatta l'ambiente alle tue esigenze specifiche.
5. Sicurezza senza sforzo:
   * Approfitta di misure di sicurezza all'avanguardia;
   * Ricevi aggiornamenti di sicurezza automatici.
6. Collabora meglio:
   * Lavora con il tuo team in un ambiente unificato;
   * Usa strumenti integrati per gestire i progetti.
7. Parla in multilingua:
   * Crea applicazioni in più lingue;
   * Gestisci diversi clienti sulla stessa piattaforma.
8. Connettiti con altri servizi:
   * Integra facilmente API esterne;
   * Collega i tuoi sistemi aziendali esistenti.
9. Analizza e migliora:
   * Monitora le prestazioni con strumenti integrati;
   * Studia l'utilizzo e il comportamento degli utenti.
10. Aggiornamenti senza stress:
    * Ricevi aggiornamenti automatici della piattaforma;
    * Lascia che AIsuru si occupi della manutenzione.

### Caratteristiche esclusive della PaaS di AIsuru

AIsuru offre alcune funzionalità uniche che rendono la sua PaaS ancora più potente:

1. Gestione autonoma degli utenti:
   * Crea e gestisci account utente in autonomia;
   * Assegna ruoli e permessi specifici a ciascun utente;
   * Monitora l'attività degli utenti all'interno della piattaforma.
2. Ambiente isolato per i tuoi Agenti:
   * Lavora in un ambiente dedicato e sicuro;
   * Proteggi i tuoi Agenti e i dati sensibili da accessi non autorizzati;
   * Garantisci la privacy e la sicurezza delle tue applicazioni IA.
3. Dominio personalizzato:
   * Usa un dominio personalizzato per la tua istanza PaaS;
   * Rafforza il tuo brand anche nell'URL delle tue applicazioni IA;
   * Offri un'esperienza utente più professionale e coerente.
4. Branding personalizzato:
   * Personalizza l'aspetto della tua piattaforma con il tuo logo e i tuoi colori;
   * Crea un'esperienza utente coerente con l'identità del tuo brand;
   * Aumenta il riconoscimento del marchio in tutte le interazioni IA.

### Conclusioni

✨ Con la PaaS di AIsuru, puoi concentrarti sulla creazione di esperienze AI incredibili, mentre la piattaforma si occupa di tutto il resto. Questo approccio non solo ti fa risparmiare tempo e denaro, ma ti rende anche più agile e pronto a crescere nel mondo in rapida evoluzione dell'intelligenza artificiale.

Sei pronto a trasformare le tue idee in soluzioni AI all'avanguardia con la PaaS di AIsuru? Inizia oggi stesso e scopri come puoi rivoluzionare il tuo approccio all'intelligenza artificiale conversazionale, con un ambiente completamente personalizzato e sicuro per i tuoi Agenti!


# Come attivare e configurare la PaaS

La **Platform as a Service** di AIsuru offre un **ambiente cloud personalizzabile** per le tue applicazioni di **IA conversazionale**. Questa guida ti mostrerà come attivare e configurare la tua PaaS, permettendoti di sfruttare appieno le potenzialità di AIsuru.

### Richiesta di attivazione

Per iniziare a utilizzare la PaaS di AIsuru, segui questi semplici passi:

1. Invia una **richiesta di attivazione** all'indirizzo email: [info@memori.ai](mailto:info@memori.ai);
2. Includi le informazioni rilevanti per la tua richiesta, ad esempio:
   * Nome della tua organizzazione;
   * Tuo nome e ruolo;
   * Breve descrizione del tuo progetto o caso d'uso;
   * Eventuali requisiti specifici o domande.

✉️ Nota: Attualmente, l'attivazione viene gestita dal nostro **team di supporto**. Stiamo lavorando per implementare un sistema di attivazione autonomo in futuro.

### Supporto continuo

Durante l'intero processo di attivazione, configurazione ed utilizzo, il nostro team di supporto sarà al tuo fianco:

* Risponderà alle tue **domande tecniche**;
* Ti assisterà nella **configurazione**;
* Fornirà consigli sulle **migliori pratiche** per l'utilizzo della PaaS.

### Conclusione

La PaaS di AIsuru ti offre la **flessibilità** e la **potenza** necessarie per portare le tue applicazioni IA al livello successivo. Inizia oggi stesso il tuo viaggio con AIsuru e scopri come la nostra piattaforma può trasformare il tuo approccio allo sviluppo e alla gestione delle applicazioni cloud di intelligenza artificiale conversazionale.


# Come collegare la PaaS al tuo dominio

AIsuru ti permette di collegare la tua **Platform as a Service (PaaS)** a un **dominio personalizzato**, migliorando la visibilità del tuo brand e l'esperienza utente. Questa funzionalità ti consente di mantenere un'identità online coerente mentre sfrutti la potenza di un'applicazione cloud.

### Cosa significa connettere il proprio dominio

Connettere il tuo dominio significa essenzialmente far puntare un **indirizzo web di tua proprietà** alla piattaforma AIsuru. Vediamo un esempio pratico:

* Dominio aziendale: tua-azienda.com;
* Sottodominio per AIsuru (es. ai.tua-azienda.com).

Dopo la configurazione, quando un utente visita ai.tua-azienda.com, vedrà la tua istanza personalizzata della piattaforma AIsuru, ma con il tuo indirizzo web.

### Panoramica del processo

Il collegamento del tuo dominio alla PaaS di AIsuru è un processo semplice ma che richiede alcuni passaggi tecnici. Ecco una panoramica di come funziona:

1. Comunica al team AIsuru il dominio desiderato;
2. Ricevi le configurazioni DNS necessarie;
3. Uno sviluppatore implementa le configurazioni;
4. Verifica del corretto funzionamento.

### Vantaggi del dominio personalizzato

L'utilizzo di un dominio personalizzato offre diversi benefici:

* **Branding coerente**: mantieni la tua identità online;
* **Maggiore professionalità**: comunica affidabilità ai tuoi utenti;
* **Migliore esperienza utente**: offri un'interfaccia familiare e integrata.

### Implementazione e supporto

L'implementazione richiede competenze tecniche e potrebbe necessitare dell'intervento di un developer.

Collegare la tua PaaS a un dominio personalizzato è un passo importante per creare una presenza online professionale e coerente. Approfitta di questa funzionalità per offrire ai tuoi utenti un'esperienza integrata e di alta qualità con AIsuru.


# Pannello di Amministrazione

Il **Pannello di Amministrazione** di AIsuru è il centro di controllo della tua piattaforma PaaS. Questa sezione ti offre tutti gli strumenti necessari per **gestire**, **monitorare** e **configurare** ogni aspetto della tua istanza AIsuru in modo autonomo e professionale.

In questa sezione, esploreremo:

* **Gestione Agenti** - Supervisiona, modifica e gestisci tutti gli Agenti della tua piattaforma con controllo completo su impostazioni IA, trasferimenti e eliminazioni
* **Gestione Utenti** - Amministra account utente, assegna permessi personalizzati e monitora le iscrizioni con grafici dettagliati sull'andamento della tua piattaforma
* **Applicazioni Fidate** - Configura integrazioni sicure con servizi esterni tramite chiavi API gestite e controllo degli accessi granulare
* **Configurazione Tenant** - Personalizza le impostazioni globali della tua piattaforma, dai limiti utente al branding, fino alle funzionalità abilitate
* **Report Consumi** - Monitora l'utilizzo di risorse IA, token e funzionalità attraverso report dettagliati per Agente e per chiave API

Che tu stia **scalando** la tua piattaforma per centinaia di utenti o **ottimizzando** le performance per casi d'uso specifici, il Pannello di Amministrazione ti fornisce la **visibilità** e il **controllo** necessari per gestire la tua istanza AIsuru con professionalità e sicurezza.


# Gestione Agenti della PaaS

La sezione **Gestione Agenti** del pannello di amministrazione ti permette di **supervisionare** e **gestire** tutti gli Agenti presenti nella tua piattaforma PaaS. Questa vista centralizzata ti offre un controllo completo su ogni Agente, dalle impostazioni IA fino alla gestione della proprietà.

### **Panoramica degli Agenti**

La tabella principale mostra tutti gli Agenti della piattaforma con le seguenti informazioni:

#### **Colonne della tabella**

* **Nome**: Il nome identificativo dell'Agente
* **Descrizione**: Una breve descrizione delle funzionalità e del ruolo dell'Agente
* **Proprietario**: L'utente che ha creato e possiede l'Agente
* **Creato**: Data e ora di creazione dell'Agente
* **Ultimo aggiornamento**: Data e ora dell'ultima modifica effettuata
* **Privacy**: Livello di privacy dell'Agente (**PUBLIC** o **PRIVATE**)
* **Azioni**: Operazioni disponibili per la gestione dell'Agente

#### **Esempio di Agenti**

**AssistenteAziendale** - _Agente pubblico_

* Descrizione: "Assistente virtuale specializzato nel supporto tecnico e nella gestione documenti aziendali"
* Proprietario: nome.proprietario
* Creato: 07/05/2025, 13:41
* Ultimo aggiornamento: 03/07/2025, 12:05
* Privacy: PUBLIC

**SupportoInterno** - _Agente privato_

* Descrizione: "Agente dedicato al supporto interno per procedure operative"
* Proprietario: altro.utente
* Creato: 11/04/2025, 09:08
* Ultimo aggiornamento: 03/07/2025, 12:04
* Privacy: PRIVATE

### **Azioni disponibili**

#### **Modifica Agente**

L'opzione **Modifica** ti permette di modificare configurazioni avanzate dell'Agente:

**IA Generativa**

* **Abilita le risposte generate da IA**: Attiva o disattiva la funzionalità di IA generativa
* **Istruzioni**: Campo per personalizzare le istruzioni dell'Agente
* **Disabilita l'estrazione automatica delle immagini**: Controlla l'elaborazione automatica delle immagini

**Impostazioni del provider**

⚠️ **ATTENZIONE**: Modificare questi parametri può influire significativamente sulla qualità delle risposte fornite dall'Agente

**Configurazione per domande e risposte**

* Provider: Provider-Q\&A-Configuration
* Modello: Modello-Chat | versione-modello

**Configurazione per import/export**

* Provider: Provider-ImportExport
* Modello: Modello-Processing | versione-processing

**Parametri avanzati**

* **Numero massimo di token**: Imposta il limite di token (predefinito se non specificato)
* **Temperatura**: Controlla la creatività delle risposte dell'IA

#### **Trasferimento Agente**

La funzione **Trasferisci** permette di cambiare la proprietà di un Agente:

1. Seleziona la **piattaforma di destinazione**
2. Specifica l'**utente destinatario**
3. **Conferma l'operazione** scrivendo il nome dell'Agente

⚠️ **Attenzione**: Il trasferimento è un'operazione irreversibile che sposta completamente la proprietà dell'Agente.

#### **Eliminazione Agente**

L'opzione **Elimina** rimuove permanentemente un Agente dalla piattaforma:

1. Clicca su **Elimina Agente**
2. Conferma l'operazione nella finestra di dialogo
3. L'Agente e tutti i suoi dati verranno **definitivamente cancellati**

🔴 **Importante**: L'eliminazione è irreversibile. Assicurati di aver eseguito eventuali backup necessari prima di procedere.

### **Best practices**

* **Monitora regolarmente** gli aggiornamenti per identificare Agenti non più mantenuti
* **Verifica le impostazioni IA** dopo ogni modifica per assicurarti che le performance siano ottimali
* **Gestisci con attenzione** i trasferimenti e le eliminazioni per evitare perdite di dati
* **Mantieni una nomenclatura chiara** per facilitare l'identificazione degli Agenti

La sezione Gestione Agenti ti offre il controllo completo su tutti gli assistenti virtuali della tua piattaforma, permettendoti di ottimizzare le performance e gestire la proprietà in modo sicuro ed efficiente.


# Gestione Utenti della PaaS

La sezione **Gestione Utenti** del pannello di amministrazione ti permette di amministrare tutti gli account utente della tua piattaforma PaaS. Questa funzionalità ti offre un controllo completo su accessi, permessi e monitoraggio dell'utilizzo delle risorse.

### Panoramica della sezione

La gestione utenti è organizzata in due schede principali:

* **Gestione utenti**: amministrazione diretta degli account utente;
* **Andamento iscrizioni**: analytics e statistiche sulle registrazioni.

***

### Scheda Gestione Utenti

#### Strumenti di gestione

La scheda principale offre diversi strumenti per amministrare gli utenti:

* **Filtro per periodo di iscrizione**: visualizza utenti registrati in un intervallo temporale specifico;
* **Ricerca per nome e email**: trova rapidamente utenti specifici;
* **Filtro per codice promozionale**: identifica utenti che hanno utilizzato specifici codici promo;
* **Creazione nuovo utente**: aggiungi manualmente nuovi account tramite invito;
* **Aggiornamento pagina**: ricarica i dati più recenti;
* **Esportazione dati**: esporta la lista utenti in formato CSV.

#### Colonne della tabella utenti

La tabella mostra le seguenti informazioni per ogni utente:

* **Email**: indirizzo email dell'utente;
* **Username**: nome utente per l'accesso;
* **Creato il**: data e ora di registrazione;
* **Agenti**: numero di Agenti creati dall'utente;
* **Chat**: numero di chat effettuate dall'utente;
* **IA**: numero di risposte IA generate dagli Agenti dell'utente;
* **Import**: numero di pagine importate;
* **Pagante**: stato dell'account (indicato con ✓ se pagante). Se l'utente è pagante, consumerà i messaggi di AI generativa e le pagine di importazione;
* **Referral**: link di riferimento dell'utente (icona link);
* **Azioni**: operazioni disponibili (modifica ed elimina).

***

### Come invitare un utente nella tua PaaS

Per aggiungere un nuovo utente alla tua piattaforma:

1. Nella scheda **Gestione utenti**, clicca sul pulsante **"Creazione nuovo utente"**;
2. Compila i seguenti campi obbligatori:

**Informazioni base**

* **Username**: nome utente per l'accesso;
* **Email**: indirizzo email dell'utente (riceverà l'invito a questo indirizzo);
* **Data di nascita**: informazione demografica (utente deve essere maggiorenne).

**Permessi**

Seleziona i permessi che vuoi assegnare all'utente:

* **Amministratore**: accesso completo al pannello di amministrazione;
* **Può creare Agenti**: permesso di creazione di nuovi Agenti;
* **Abilita Pensiero Profondo**: accesso alla possibilità di attivare Pensiero Profondo sul proprio agente ( [pensiero-profondo](../../estensioni/pensiero-profondo/ "mention"));
* **Abilita spazi virtuali**:  accesso alla possibilità di attivare gli ambienti virtuali ( [spazi-virtuali-vr-e-mr](../../estensioni/spazi-virtuali-vr-e-mr/ "mention"));
* **Può modificare la concatenazione di Agenti e Gruppi di Esperti**: accesso alla possibilità di creare i Gruppi di Esperti (vedi [gruppo-di-esperti](../../estensioni/gruppo-di-esperti/ "mention"));
* **Può modificare integrazioni DCM**: accesso alla possibilità di modificare l'integrazione DCM (vedi [open-badge.md](../../estensioni/open-badge.md "mention"));
* **Abilita badge**: accesso alla possibilità di modificare l'integrazione DCM (vedi [open-badge.md](../../estensioni/open-badge.md "mention")).

🔑 **Importante**: Se impostati, questi permessi oltrepasseranno i limiti globali.

3. Conferma l'operazione;
4. **L'utente riceverà una email di invito** con un **magic link** per accedere direttamente alla piattaforma.

#### Differenza tra Utente e Amministratore

* **Utente standard**: ha accesso solo alle funzionalità di creazione e gestione degli Agenti in cui è autore, senza possibilità di vedere o accedere al pannello di amministrazione;
* **Amministratore**: può accedere alla tab **Admin** e gestire tutti gli aspetti della piattaforma, inclusa la gestione degli altri utenti.

***

### Altre azioni disponibili

#### Modifica Utente

L'opzione **Modifica** permette di personalizzare l'account utente. Le informazioni che un admin può modificare per ogni utente sono le stesse in fase di creazione

#### Eliminazione Utente

L'opzione **Elimina** rimuove definitivamente un utente:

1. Clicca su **Elimina** nelle azioni utente;
2. Conferma l'operazione nella finestra di dialogo;
3. L'utente e tutti i contenuti associati verranno cancellati.

🔴 **Attenzione**: l'eliminazione è irreversibile e comporta la perdita di tutti i dati dell'utente.

***

### Scheda Andamento Iscrizioni

#### Analytics delle registrazioni

La seconda scheda offre grafici e statistiche sulle iscrizioni:

**Filtro disponibile**

* **Seleziona periodo**: visualizza dati per intervalli temporali (30 giorni, 90 giorni, personalizzato).

**Metriche visualizzate**

* **Nuovi utenti**: grafico temporale delle registrazioni (es. 183 utenti nel periodo selezionato);
* **Utenti per referral**: analisi delle fonti di registrazione con URL di provenienza.

***

### Best practices

* Monitora regolarmente i consumi per identificare utenti che potrebbero necessitare di limiti personalizzati;
* Assegna i permessi con criterio per mantenere la sicurezza della piattaforma;
* Utilizza i filtri per analizzare trend di crescita e pattern di utilizzo;
* Esporta i dati periodicamente per analisi avanzate e backup;
* Controlla i referral per identificare canali di acquisizione più efficaci;
* Distingui chiaramente tra utenti standard e amministratori per mantenere una corretta governance della piattaforma.

La sezione Gestione Utenti ti offre il controllo completo sulla community della tua piattaforma, permettendoti di scalare in modo efficiente e sicuro mantenendo un'esperienza utente ottimale.


# Applicazioni fidate

Le **Applicazioni Fidate** (Trusted Applications) sono un sistema di sicurezza avanzato che ti permette di gestire in modo granulare le integrazioni di terze parti con la tua piattaforma PaaS di AIsuru. Questa funzionalità è essenziale per mantenere il controllo e la sicurezza quando altre applicazioni o servizi devono accedere alle API della tua istanza.

#### Cosa sono le Applicazioni fidate

Le Applicazioni Fidate rappresentano **servizi esterni autorizzati** ad accedere alle API della tua piattaforma PaaS. Ogni applicazione registrata riceve:

* Una **chiave API univoca** per l'autenticazione
* **Permessi specifici** definiti da te
* **Monitoraggio degli accessi** e dell'utilizzo
* **Controllo granulare** sulle funzionalità accessibili

#### A cosa servono

Le Applicazioni fidate sono fondamentali per:

1. **Integrazioni sicure**: Collegare sistemi CRM, ERP o altre applicazioni aziendali alla tua IA
2. **Sviluppo di app personalizzate**: Permettere ai tuoi sviluppatori di creare applicazioni che sfruttano i tuoi Agenti
3. **Automazioni**: Configurare sistemi automatizzati che interagiscono con gli Agenti
4. **Controllo degli accessi**: Limitare e monitorare chi può utilizzare le tue API
5. **Conformità**: Mantenere tracciabilità degli accessi per audit e sicurezza

#### Come accedere alla gestione

Per gestire le Applicazioni fidate:

1. Accedi alla tua PaaS AIsuru con un utente **admin**
2. Vai alla sezione **Admin** nella barra laterale
3. Seleziona **Trusted Applications**

#### Creare una nuova Applicazione Fidata

Per registrare una nuova applicazione:

1. Nella pagina principale, clicca su **CREA**
2. Compila i campi richiesti:
   * **Nome Applicazione**: Un nome identificativo (es. "Sistema CRM")
   * **URL Base**: L'indirizzo del servizio che accederà alle API
   * **Descrizione**: Breve descrizione dell'uso previsto
3. **Gestione della Chiave API**:
   * La chiave viene generata automaticamente
   * Puoi copiarla con il pulsante **Copy**
   * Puoi rigenerarla con **Generate Key** se necessario
4. Clicca su **CREA** per confermare

⚠️ **Importante**: Salva la chiave API in un posto sicuro. Non sarà più visibile dopo la creazione per motivi di sicurezza.

#### Gestione delle applicazioni esistenti

Dalla tabella principale puoi:

* **Visualizzare lo stato** di ogni applicazione (attiva/inattiva)
* **Monitorare la data di creazione** per audit
* **Modificare le impostazioni** delle applicazioni esistenti
* **Revocare l'accesso** eliminando l'applicazione
* **Visualizzare l'URL base** registrato

Le colonne della tabella mostrano:

* **Nome**: Nome identificativo dell'applicazione
* **Stato**: Attivo/Inattivo
* **URL Base**: Dominio autorizzato
* **Chiave API**: Stato della chiave (nascosta per sicurezza)
* **Data Creazione**: Quando è stata registrata
* **Azioni**: Modifica, elimina, gestisci permessi

#### Best Practice per la Sicurezza

1. **Principio del minimo privilegio**: Concedi solo i permessi strettamente necessari
2. **Rotazione delle chiavi**: Rigenera periodicamente le chiavi API
3. **Monitoraggio**: Controlla regolarmente gli accessi e l'utilizzo
4. **Documentazione**: Mantieni traccia di quale applicazione fa cosa
5. **Revoca immediata**: Rimuovi immediatamente l'accesso per applicazioni non più utilizzate

#### Utilizzo delle Chiavi API

Una volta creata l'applicazione, usa la chiave API per autenticare le richieste:

```bash
curl -H "Authorization: Bearer TUA_CHIAVE_API" \
     -H "Content-Type: application/json" \
     https://tua-paas.aisuru.com/api/v2/endpoint
     
           
```

#### Monitoraggio e Audit

Le Applicazioni Fidate offrono piena tracciabilità:

* **Storico degli accessi** per ogni applicazione
* **Metriche di utilizzo** delle API
* **Log di sicurezza** per identificare anomalie
* **Report di conformità** per audit esterni

La gestione delle Applicazioni Fidate rappresenta un livello di sicurezza enterprise-grade per la tua piattaforma PaaS, permettendoti di integrare sistemi esterni mantenendo il pieno controllo su accessi e permessi.


# Gestione del tenant

La sezione **Tenant** del pannello di amministrazione ti permette di **personalizzare** le impostazioni globali della tua [piattaforma PaaS.](../) Questa sezione centralizza tutte le configurazioni che definiscono il comportamento, i limiti e le funzionalità della tua istanza AIsuru.

### **Panoramica della sezione**

La configurazione del tenant è organizzata in diverse categorie che definiscono:

* **Informazioni generali** della piattaforma;
* **Limiti di utilizzo** per Agenti, utenti e risorse;
* **Cronologia chat** e i giorni di conservazione;
* **Configurazione Audio**
* **Configurazione SMTP** a livello tenant
* **Funzionalità** abilitate per gli utenti;
* **Personalizzazione** dell'esperienza utente.

### **Informazioni generali**

* **URL**: indirizzo principale della piattaforma (es. url.example.com);
* **Nome**: denominazione della tua istanza PaaS;
* **Logo URL**: indirizzo dell'immagine del logo aziendale;
* **Admin email**: indirizzo email dell'amministratore principale _(modificabile)_;
* **Tema**: schema colori dell'interfaccia utente;
* **Privacy policy URL**: link alla policy sulla privacy _(modificabile)_;
* **Chiave API Perplexity**: Questa chiave sarà utilizzata dagli utenti del tenant _(modificabile);_
* **Alias**: domini alternativi separati da virgole (es. url1.example.com, url2.example.com).

### **Limiti Agenti**

* **Max Agenti per admin**: limite massimo di Agenti creabili dagli amministratori;
* **Max Agenti per utente**: limite massimo di Agenti creabili da ogni utente _(modificabile)_;
* **Max Agenti totali**: limite complessivo di Agenti sulla piattaforma.

### **Limiti numero utenti**

* **Max admins**: numero massimo di amministratori della piattaforma;
* **Max utenti**: numero massimo totale di utenti registrabili.

### **Limiti sessioni**

* **Disabilita registrazione**: controllo per bloccare nuove registrazioni;
* **Max sessioni gratuite**: limite totale di sessioni gratuite sulla piattaforma;
* **Max sessioni gratuite per utente**: limite di sessioni gratuite per ogni utente _(modificabile)_;
* **Costo sessione non gratuita**: tariffa per le sessioni a pagamento.

### **Limiti messaggi AI (completions)**

* **Max completions**: limite totale di risposte IA generabili sulla piattaforma;
* **Max completions per utente**: limite di risposte IA per ogni utente _(modificabile)_.

### **Limiti upload documenti**

* **Max dimensione importazione**: limite globale per l'importazione di documenti;
* **Max dimensione importazione per utente**: limite di importazione per ogni utente _(modificabile)_.

### Cronologia chat: giorni di conservazione

Specifica il numero di giorni per cui desideri conservare le conversazioni.

**Attenzione:** al termine del periodo di conservazione impostato, le conversazioni verranno eliminate automaticamente. Questa operazione è irreversibile e non sarà possibile recuperare i dati eliminati.

### Configurazione audio (TTS e STT)

Puoi decidere di cambiare il provider utilizzato per i servizi vocali. Le opzioni disponibili sono:

* Azure (AI Speech): già utilizzato di default in piattaforma;
* OpenAI: utilizzerà i modelli whisper-1 per lo STT e tts-1 per il TTS.

Dopo aver selezionato lo **Speech provider** prosegui inserendo la chiave API in corrispondenza del campo **Speech API Key**.

**Nota:** assicurati di utilizzare una chiave API attiva e con i permessi necessari per i servizi TTS e STT.

### **Configurazione SMTP**

Compila i seguenti campi:

* Server SMTP: l'indirizzo del server SMTP;
* Porta SMTP: il numero della porta utilizzata;
* Username SMTP: il nome utente per l'autenticazione;
* Password SMTP: la password di autenticazione;
* Sicurezza Socket: seleziona il protocollo dal menu a tendina;
* Email Mittente: l'indirizzo email che apparirà come mittente;
* Nome Mittente: il nome che apparirà come mittente.

Per vedere gli esempi di configurazione, vai alla sezione della documentazione relativa alla [funzione AIsuru di invio email](../../avanzate/integrazioni/funzioni/funzioni-di-aisuru.md).

### **Funzionalità**

* **Pagante**: di norma questa opzione è abilitata;
* **Delegazione fatturazione**: di norma questa opzione è disabilitata;
* **Gli utenti possono creare Agenti**: permesso di creazione Agenti per gli utenti non amministratori del tenant _(modificabile)_;
* **Gli utenti possono modificare la catena di Memori**: attiva la possibilità di utilizzare [Gruppo di esperti](../../estensioni/gruppo-di-esperti/) nel tenant;
* **Abilita badge**: permette ai tuoi utenti di ottenere Open Badge;
* **Abilita spazi virtuali**: accesso e gestione degli ambienti 3D;
* **Abilita Pensiero Profondo**: attiva la possibilità di utilizzare Pensiero Profondo sul tenant;
* **Abilita integrazione DCM**: permette ai tuoi agenti di fornire gli Open Badge attraverso i contenuti;

### **Conclusione**

Per salvare le modifiche premi sul tasto "Conferma" in basso. Le modifiche hanno effetto immediato.


# Controllare i Consumi della PaaS

## **8.4.5 Report Consumi**

La sezione **Report Consumi** del pannello di amministrazione ti offre un **monitoraggio dettagliato** dell'utilizzo delle risorse della tua piattaforma PaaS. Questa funzionalità ti permette di analizzare i consumi, ottimizzare le performance e gestire efficacemente i costi operativi.

### **Panoramica della sezione**

I Report Consumi ti forniscono una visione completa dell'utilizzo della piattaforma attraverso:

* **Monitoraggio in tempo reale** dei consumi per utente e Agente;
* **Analisi dettagliata** dell'utilizzo delle API e dei modelli IA;
* **Gestione dei periodi** di riferimento per analisi temporali;
* **Esportazione dati** per analisi avanzate esterne.

### **Struttura dei report**

La sezione è organizzata in **due schede principali**:

* **Consumi per Agente**: analisi dell'utilizzo per singolo Agente e utente;
* **Consumi per chiave**: monitoraggio dell'utilizzo delle chiavi API.

### **Controlli di navigazione**

#### **Periodo di riferimento**

Puoi personalizzare il periodo di visualizzazione dei consumi:

* **Navigazione temporale**: utilizza le frecce per spostarti tra periodi precedenti e successivi;
* **Mese corrente**: clicca per visualizzare rapidamente i dati del mese in corso;
* **Periodo personalizzato**: seleziona intervalli specifici (es. 01/07/2025 - 01/08/2025).

#### **Funzionalità aggiuntive**

* **Esporta CSV**: scarica i dati in formato CSV per analisi esterne;
* **Aggiornamento dati**: i report si aggiornano automaticamente con i consumi più recenti.

### **Scheda Consumi per Agente**

#### **Colonne della tabella**

La tabella dei consumi per Agente mostra le seguenti metriche:

* **Utenti > Agent**: utente proprietario dell'Agente;
* **Prompt Tokens**: numero di token utilizzati nelle richieste;
* **Completion Tokens**: numero di token generati nelle risposte;
* **Token Totali**: somma totale dei token utilizzati;
* **Chat valide**: numero di conversazioni completate;
* **Chat con Pensiero Profondo**: sessioni che hanno utilizzato la memoria avanzata;
* **Risposte IA**: numero di risposte generate dall'IA;
* **Risposte IA (Non conteggiate)**: risposte generate con modelli personalizzati;
* **Risposte IA con PP**: risposte con Pensiero Profondo;
* **Risposte IA con PP (Non conteggiate)**: risposte PP con modelli personalizzati;
* **Documenti importati**: numero di documenti elaborati;
* **Documenti importati (Non conteggiate)**: documenti elaborati con modelli personalizzati;
* **Media token per messaggio**: consumo medio di token per interazione.

#### **Esempio di dati**

**utente.esempio**

* Prompt Tokens: 14.516;
* Completion Tokens: 1.780;
* Token Totali: 16.296;
* Chat valide: 6;
* Chat con Pensiero Profondo: 2;
* Risposte IA: 5;
* Risposte IA (Non conteggiate): 2;
* Risposte IA con PP: 2;
* Documenti importati: 0 p;
* Media token per messaggio: 1.810,67.

**utente.sviluppo**

* Prompt Tokens: 2.199.180;
* Completion Tokens: 30.361;
* Token Totali: 2.229.541;
* Chat valide: 20;
* Chat con Pensiero Profondo: 1;
* Risposte IA: 35;
* Risposte IA (Non conteggiate): 0;
* Risposte IA con PP: 1.

### **Scheda Consumi per chiave**

#### **Colonne della tabella**

La tabella dei consumi per chiave API mostra:

* **Chiave**: identificativo mascherato della chiave API utilizzata;
* **Prompt Tokens**: token utilizzati nelle richieste;
* **Completion Tokens**: token generati nelle risposte;
* **Token Totali**: consumo totale di token per la chiave.

#### **Esempio di dati**

**Provider-ModelA-Config**

* Configurazione: Provider-Q\&A-Processing
* Chiave: 7640860\*\*\*\*\*\*o5I
* Modello: modello-chat-versione
* Prompt Tokens: 128.530;
* Completion Tokens: 6.148;
* Token Totali: 134.678.

**Provider-ModelB-Config**

* Configurazione: Provider-ImportExport-Processing
* Chiave: 7640860\*\*\*\*\*\*o5I
* Modello: modello-processing-versione
* Prompt Tokens: \[dati disponibili nel report].

### **Metriche monitorate**

#### **Principali indicatori**

**1. Account amministratori (solo per tenant)**

* Numero di admin attivi;
* Limite massimo consentito.

**2. Agenti conversazionali**

* Numero di Agenti attivi per utente e tenant;
* Limite massimo consentito;
* Pulsante "Mostra lista Agenti" per visualizzare l'elenco completo.

**3. Chat valide**

* Numero di conversazioni completate per utente e tenant;
* Limite applicabile quando configurato.

**4. Risposte generate da IA**

* Numero totale di risposte generate per utente e tenant;
* Limite massimo consentito;
* **Risposte IA non conteggiate**: risposte generate con modelli personalizzati.

**5. Documenti importati**

* Numero di pagine importate per utente e tenant;
* Limite massimo consentito;
* **Pagine non conteggiate**: pagine elaborate con modelli personalizzati.

### **Uso dei modelli personalizzati**

#### **Consumi non conteggiati**

Quando utilizzi modelli linguistici personalizzati tramite chiavi API proprie:

* **Risposte generate**: non vengono conteggiate nel limite standard;
* **Pagine importate**: non vengono conteggiate nel limite standard;
* **Visualizzazione separata**: questi consumi appaiono come "non conteggiati".

💡 **Importante**: i limiti di Agenti e chat valide per utente e tenant non sono influenzati dall'utilizzo delle proprie chiavi API.

### **Interpretazione dei dati**

#### **Analisi dei consumi**

Per ogni metrica viene mostrato:

* **Valore di consumo**: utilizzo effettivo rispetto ai limiti della piattaforma;
* **Limite massimo**: soglia configurata per ogni voce (quando presente);
* **Consumi non conteggiati**: utilizzo con modelli personalizzati.

#### **Indicatori di performance**

* **Media token per messaggio**: efficienza delle conversazioni;
* **Rapporto Prompt/Completion**: bilanciamento tra richieste e risposte;
* **Utilizzo Pensiero Profondo**: adozione delle funzionalità avanzate.

### **Ottimizzazione dei consumi**

#### **Strategie di efficienza**

* **Monitora regolarmente** i pattern di utilizzo per identificare anomalie;
* **Analizza** la media token per messaggio per ottimizzare l'efficienza;
* **Bilancia** l'utilizzo tra modelli standard e personalizzati;
* **Esporta** i dati periodicamente per analisi avanzate.

#### **Gestione dei costi**

* **Utilizza** modelli personalizzati per ridurre i consumi conteggiati;
* **Ottimizza** le conversazioni per ridurre il consumo di token;
* **Monitora** l'utilizzo delle funzionalità premium;
* **Pianifica** la crescita basandoti sui trend di consumo.

### **Best practices**

* **Esporta** regolarmente i dati in CSV per analisi dettagliate;
* **Confronta** i consumi tra diversi periodi per identificare trend;
* **Identifica** gli utenti con consumi anomali per ottimizzazioni mirate;
* **Documenta** i pattern di utilizzo per future pianificazioni;
* **Configura** alert personalizzati per soglie di consumo critiche.

La sezione Report Consumi ti fornisce gli strumenti necessari per una gestione efficiente e consapevole delle risorse della tua piattaforma PaaS, permettendoti di ottimizzare costi e performance basandoti su dati precisi e aggiornati.


# Personalizzazione dell'ambiente PaaS

AIsuru ti offre la possibilità di personalizzare l'aspetto della tua piattaforma PaaS per allinearla all'**identità del tuo brand**. Questa personalizzazione è gestita direttamente dal nostro team per garantire la massima qualità e coerenza.

### Personalizzazione visiva

#### Colori dell'interfaccia e logo aziendale

Per personalizzare i colori dell'interfaccia e aggiungere il tuo logo aziendale alla piattaforma:

1. Contatta il team di supporto di AIsuru;
2. Fornisci i dettagli del tuo brand, inclusi:
   * I colori principali del tuo marchio;
   * Il file del tuo logo aziendale (preferibilmente in formato vettoriale);
3. Il nostro team implementerà le personalizzazioni richieste;
4. Riceverai una notifica quando le modifiche saranno completate e potrai rivederle.

La personalizzazione dell'ambiente PaaS di AIsuru ti permette di creare un'esperienza coerente con la tua identità aziendale, rafforzando il riconoscimento del brand e migliorando l'esperienza utente per i tuoi collaboratori e clienti.

Per qualsiasi domanda o richiesta specifica riguardo la personalizzazione della tua piattaforma, non esitare a contattare il nostro team di supporto. Siamo qui per aiutarti a creare l'ambiente PaaS perfetto per la tua organizzazione.


# Sicurezza e privacy

AIsuru offre un **ambiente sicuro e personalizzabile** per la tua piattaforma. Questo documento ti guiderà attraverso le principali funzionalità di sicurezza e privacy, permettendoti di proteggere i tuoi dati e gestire gli accessi in modo efficace.

### Controllo accessi

Il sistema di controllo accessi di AIsuru ti consente di gestire chi può accedere alla tua piattaforma e cosa può fare.

### Modalità di registrazione

Puoi scegliere tra due opzioni per la registrazione degli utenti:

1. **Registrazione aperta**:
   * Permetti agli utenti di creare autonomamente un account;
   * Ideale per piattaforme con un pubblico più ampio.
2. **Registrazione ad invito**:
   * Solo gli amministratori possono invitare nuovi utenti;
   * Offre un controllo più stretto sugli accessi.

🔐 La modifica della modalità di registrazione richiede l'esecuzione del team di supporto AIsuru per motivi di sicurezza.

### Gestione utenti

Come amministratore, hai il pieno controllo sugli account utente:

* Crea, modifica o disattiva account;
* Assegna ruoli e permessi;
* Monitora l'attività degli utenti.

️ Ricorda: la sicurezza è una responsabilità condivisa. Mentre AIsuru fornisce gli strumenti, è importante che tu e i tuoi utenti seguiate le migliori pratiche di sicurezza.

Con AIsuru, hai il controllo completo sulla sicurezza e la privacy della tua piattaforma PaaS. Queste funzionalità ti permettono di creare un ambiente sicuro e conforme alle tue esigenze specifiche.


# Supporto e manutenzione

AIsuru si impegna a fornire un **supporto completo** e una **manutenzione efficace** per garantire il funzionamento ottimale della vostra piattaforma PaaS. Questa sezione illustra le risorse e i processi disponibili per assistere gli utenti nella gestione e nell'ottimizzazione della loro esperienza con AIsuru.

### Assistenza e supporto tecnico

Per qualsiasi problema o domanda relativa alla vostra piattaforma PaaS, il nostro team di supporto è sempre a vostra disposizione:

* **Documentazione**: consulta la documentazione ufficiale di AIsuru;
* **Manuela**: Manuela è l'Agente di supporto di AIsuru; da loggato, puoi interagirci in qualsiasi pagina web: ti basterà premere sul tasto viola <img src="../.gitbook/assets/question.svg" alt="" data-size="line"> che trovi sulla destra al centro;
* **Email di supporto**: se Manuela non dovesse riuscire a risolvere il tuo problema, ti proporrà di aprire un ticket di supporto e il team di AIsuru ti risponderà via e-mail.

### Manutenzione programmata

Per garantire prestazioni ottimali e sicurezza, effettuiamo regolarmente interventi di manutenzione:

* Gli utenti riceveranno **notifiche in anticipo** riguardo agli interventi di manutenzione programmata;
* Gli interventi vengono pianificati **in orari di basso utilizzo** per minimizzare le interruzioni.

Non è necessario fare nulla per aggiornare la piattaforma: torna dopo l'aggiornamento per scoprire le novità!

AIsuru si impegna a fornire un supporto completo e una manutenzione efficace per garantire che la vostra esperienza con la piattaforma PaaS sia sempre ottimale.


# Gestione documenti

La sezione **Gestione Documenti** di AIsuru permette agli admin di visualizzare, organizzare e gestire tutti i file che hai caricato sulla piattaforma. Questa funzionalità centralizzata ti offre una panoramica completa dei tuoi asset digitali e ti consente di amministrarli in modo efficiente.

#### Accesso alla gestione documenti

Per accedere alla gestione dei tuoi documenti:

1. Dalla homepage di AIsuru, individua la barra laterale;
2. Clicca su **Documenti**.

#### Tipologie di documenti supportate

La sezione documenti è organizzata in **4 categorie principali**, accessibili tramite i filtri nella parte superiore della pagina:

* **Immagini**: file in formato PNG, JPG, JPEG, GIF
* **Video**: file video caricati per i tuoi Agenti
* **Documenti**: file testuali (PDF, DOC, DOCX, TXT, etc.)
* **Modelli 3D**: file GLB e altri modelli tridimensionali per gli Spazi Virtuali

#### Caricamento di nuovi documenti

Per aggiungere nuovi file alla tua libreria:

1. Clicca sul pulsante **"Nuovo upload"** in alto a destra;
2. Seleziona il file dal tuo dispositivo;
3. Il file verrà automaticamente categorizzato in base al suo formato.

#### Visualizzazione e gestione dei documenti

**Informazioni visualizzate**

La tabella principale mostra tutti i tuoi documenti con le seguenti informazioni:

* **Nome file**: nome originale del documento caricato
* **Tipo**: formato del file (es. plain, png, pdf)
* **Agente**: indica se il documento è associato a un Agente specifico
* **Data creazione**: quando è stato caricato il documento
* **Data modifica**: ultima modifica apportata al file
* **Azioni**: operazioni disponibili per ogni documento
  * **Download**: scarica una copia del file sul tuo dispositivo
  * **🗑Elimina**: rimuove definitivamente il documento dalla piattaforma


# 9. Documentazione Frontend

La documentazione copre tre principali librerie di integrazione frontend di Memori:

1. [**memori-api-client**](client-api.md):
   * Client TypeScript per interagire direttamente con le API Memori
   * Gestisce autenticazione, sessioni e chiamate API
   * Adatto per integrazioni personalizzate e backend
2. [**memori-webcomponent**](web-component.md):
   * Componente web standard utilizzabile in qualsiasi pagina HTML
   * Soluzione più semplice per integrazioni rapide
   * Non richiede framework specifici
   * Configurabile tramite attributi HTML
3. [**memori-react**](componente-react.md):
   * Componente React dedicato
   * Offre maggiore flessibilità e controllo
   * Supporta layout personalizzati
   * Si integra nativamente nell'ecosistema React

Inoltre offre diversi modi per personalizzare lo stile dei componenti, li trovi tutti [qui](stile-e-personalizzazione.md)


# ⚛️ Componente React

Il componente React di Memori offre una soluzione più flessibile e potente per l'integrazione in applicazioni React. Fornisce controllo completo sul comportamento e l'aspetto del widget.

[🔗 Repository GitHub](https://github.com/memori-ai/memori-react)

#### Caratteristiche Principali

* Integrazione nativa con React;
* Supporto TypeScript completo;
* Layout personalizzabili;
* Sistema di eventi avanzato;
* Possibilità di override dei componenti;
* Gestione stato integrata.

### Installazione <a href="#installazione_18" id="installazione_18"></a>

```batch
# npm
npm install @memori.ai/memori-react
# yarn
yarn add @memori.ai/memori-react
```

## Memori Props Reference <a href="#memori_props_reference_28" id="memori_props_reference_28"></a>

### Identificazione e Configurazione Base <a href="#identificazione_e_configurazione_base_30" id="identificazione_e_configurazione_base_30"></a>

Props essenziali per l’identificazione e la configurazione base del Memori.

| Prop              | Tipo   | Obbligatorio | Predefinito | Descrizione                                           |
| ----------------- | ------ | ------------ | ----------- | ----------------------------------------------------- |
| `memoriName`\*    | string | ✓            |             | Nome del Memori                                       |
| `ownerUserName`\* | string | ✓            |             | Nome utente del proprietario del Memori               |
| `memoriID`\*      | string | ✓            |             | ID del Memori                                         |
| `ownerUserID`\*   | string | ✓            |             | ID utente del proprietario del Memori                 |
| `tenantID`        | string | ✓            |             | ID del tenant (es. "[aisuru.com](http://aisuru.com)") |

\* È richiesta una delle due coppie: `memoriName` + `ownerUserName` oppure `memoriID` + `ownerUserID`

### Configurazione URL <a href="#configurazione_url_44" id="configurazione_url_44"></a>

Props per la configurazione degli endpoint del sistema.

| Prop        | Tipo   | Obbligatorio | Predefinito                                              | Descrizione                |
| ----------- | ------ | ------------ | -------------------------------------------------------- | -------------------------- |
| `baseURL`   | string |              | "[https://tuo-url-base.com](https://tuo-url-base.com)"   | URL base                   |
| `apiURL`    | string |              | "[https://backend.memori.ai](https://backend.memori.ai)" | URL del Memori Backend API |
| `engineURL` | string |              | "[https://engine.memori.ai](https://engine.memori.ai)"   | URL del Memori Engine API  |

### Layout e Visualizzazione <a href="#layout_e_visualizzazione_54" id="layout_e_visualizzazione_54"></a>

Props che controllano l’aspetto e il layout del widget.

| Prop           | Tipo      | Obbligatorio | Predefinito | Descrizione                      |
| -------------- | --------- | ------------ | ----------- | -------------------------------- |
| `layout`       | string    |              | “FULLPAGE”  | Tipo di layout                   |
| `height`       | string    |              | “100%”      | Altezza del componente           |
| `customLayout` | Component |              |             | Componente layout personalizzato |
| `userAvatar`   | string    |              |             | URL avatar utente personalizzato |

### Gestione Linguaggio <a href="#gestione_linguaggio_65" id="gestione_linguaggio_65"></a>

Props relative alla gestione delle lingue e delle traduzioni.

| Prop           | Tipo    | Obbligatorio | Predefinito | Descrizione                                                          |
| -------------- | ------- | ------------ | ----------- | -------------------------------------------------------------------- |
| `uiLang`       | string  |              | “en”        | Lingua dell’interfaccia, es: “en” or “it”                            |
| `multilingual` | boolean |              | false       | Abilita più lingue                                                   |
| `spokenLang`   | string  |              | “en”        | Lingua del testo parlato, come impostato dalla selezione dell’utente |

### Elementi UI Configurabili <a href="#elementi_ui_configurabili_75" id="elementi_ui_configurabili_75"></a>

Props per controllare la visibilità di vari elementi dell’interfaccia.

| Prop                      | Tipo    | Obbligatorio | Predefinito | Descrizione                                |
| ------------------------- | ------- | ------------ | ----------- | ------------------------------------------ |
| `showShare`               | boolean |              | true        | Mostra pulsante di condivisione            |
| `showSettings`            | boolean |              | true        | Mostra pannello impostazioni               |
| `showTypingText`          | boolean |              | false       | Mostra animazione di digitazione           |
| `showInstruct`            | boolean |              | false       | Mostra switch modalità istruzioni          |
| `showOnlyLastMessages`    | boolean |              | false       | Mostra solo i messaggi più recenti         |
| `showClear`               | boolean |              | false       | Mostra pulsante di pulizia cronologia chat |
| `showLogin`               | boolean |              | false       | Mostra pulsante di login                   |
| `showCopyButton`          | boolean |              | false       | Mostra pulsante di copia                   |
| `showTranslationOriginal` | boolean |              | false       | Mostra traduzione originale                |

### Autenticazione e Sessione <a href="#autenticazione_e_sessione_91" id="autenticazione_e_sessione_91"></a>

Props relative alla gestione delle sessioni e dell’autenticazione.

| Prop            | Tipo   | Obbligatorio | Predefinito | Descrizione                                                                         |
| --------------- | ------ | ------------ | ----------- | ----------------------------------------------------------------------------------- |
| `sessionID`     | string |              |             | ID sessione iniziale, UUID che identifica una conversazione e le sue autorizzazioni |
| `authToken`     | string |              |             | Token di autenticazione dal login dell’utente                                       |
| `secretToken`   | string |              |             | Token segreto, la password di un Memori privato o segreto                           |
| `integrationID` | string |              |             | ID univoco dell’integrazione                                                        |
| `tag`           | string |              |             | Tag dell’utente che apre la sessione                                                |
| `pin`           | string |              |             | PIN dell’utente che apre la sessione                                                |

### Funzionalità Audio e Media <a href="#funzionalit_audio_e_media_104" id="funzionalit_audio_e_media_104"></a>

Props per la gestione dell’audio e dei contenuti multimediali.

| Prop                               | Tipo                              | Obbligatorio | Predefinito | Descrizione                              |
| ---------------------------------- | --------------------------------- | ------------ | ----------- | ---------------------------------------- |
| `enableAudio`                      | boolean                           |              | true        | Abilita output audio                     |
| `defaultSpeakerActive`             | boolean                           |              | true        | Default value for the speaker activation |
| `AZURE_COGNITIVE_SERVICES_TTS_KEY` | string                            |              |             | Chiave Azure TTS                         |
| `customMediaRenderer`              | (mimeType: string) => JSX.Element |              | null        | Custom media renderer                    |

### Configurazione Conversazione <a href="#configurazione_conversazione_115" id="configurazione_conversazione_115"></a>

Props per la configurazione della conversazione e delle interazioni.

| Prop                       | Tipo        | Obbligatorio | Predefinito | Descrizione                                    |
| -------------------------- | ----------- | ------------ | ----------- | ---------------------------------------------- |
| `context`                  | string      |              |             | Contesto iniziale della conversazione          |
| `initialQuestion`          | string      |              |             | Prima domanda da porre                         |
| `onStateChange`            | function    |              |             | Callback cambio stato                          |
| `disableTextEnteredEvents` | boolean     |              | false       | Disabilita listener MemoriTextEntered          |
| `useMathFormatting`        | boolean     |              | false       | Abilita formattazione matematica               |
| `additionalSettings`       | JSX.Element |              |             | Contenuto pannello impostazioni personalizzato |

## Tipi di Layout <a href="#tipi_di_layout_128" id="tipi_di_layout_128"></a>

### **FULLPAGE**

Esperienza a schermo intero, ideale per pagine dedicate

<figure><img src="https://raw.githubusercontent.com/memori-ai/memori-react/main/docs/fullpage.png" alt="" width="375"><figcaption></figcaption></figure>

```html
<Memori
  layout="FULLPAGE"
  memoriName="MioMemori"
  ownerUserName="mioutente"
  tenantID="aisuru.com"
  height="100vh"
/>
```

### **WEBSITE ASSISTANT**

Assistente fluttuante, perfetto per l’integrazione in siti web

<figure><img src="https://raw.githubusercontent.com/memori-ai/memori-react/main/docs/website-assistant.png" alt="" width="375"><figcaption></figcaption></figure>

```html
<Memori
  layout="WEBSITE_ASSISTANT"
  memoriName="MioAssistente"
  ownerUserName="mioutente"
  tenantID="aisuru.com"
  showOnlyLastMessages={true}
  height="500px"
/>
```

### **CHAT**

Interfaccia chat focalizzata sui messaggi

<figure><img src="https://raw.githubusercontent.com/memori-ai/memori-react/main/docs/chat.png" alt="" width="375"><figcaption></figcaption></figure>

```html
<Memori
  layout="CHAT"
  memoriName="MioMemori"
  ownerUserName="mioutente"
  tenantID="aisuru.com"
  showCopyButton={true}
  showTranslationOriginal={true}
/>
```

### **ZOOMED FULL BODY**

Layout a pagina intera, con avatar ingrandito sul lato sinistro dello schermo

<figure><img src="https://raw.githubusercontent.com/memori-ai/memori-react/main/docs/zoomed-avatar.png" alt="" width="375"><figcaption></figcaption></figure>

```html
<Memori
  layout="ZOOMED_FULL_BODY"
  memoriName="MioMemori"
  ownerUserName="mioutente"
  tenantID="aisuru.com"
  height="100vh"
/>
```

### **HIDDEN CHAT**

Layout chat laterale, la chat è nascosta e visibile solo quando l’utente clicca sul pulsante sul lato destro dello schermo

<figure><img src="https://raw.githubusercontent.com/memori-ai/memori-react/main/docs/hidden-chat.png" alt="" width="375"><figcaption></figcaption></figure>

```html
<Memori
  layout="HIDDEN_CHAT"
  memoriName="MioMemori"
  ownerUserName="mioutente"
  tenantID="aisuru.com"
  height="100vh"
/>
```

### **TOTEM**

Layout adatto per totem digitali, é possibile personalizzare l'altezza e la profonditá dell'avatar presente nello sfondo.



<figure><img src="https://raw.githubusercontent.com/memori-ai/memori-react/main/docs/totem.png" alt="" width="375"><figcaption></figcaption></figure>

```html
<Memori
  layout="TOTEM"
  memoriName="MioMemori"
  ownerUserName="mioutente"
  tenantID="aisuru.com"
  height="100vh"
/>
```

### Layout Personalizzato <a href="#layout_personalizzato_214" id="layout_personalizzato_214"></a>

<figure><img src="https://assets.memori.ai/api/v2/asset/12ed839d-0b93-4935-a160-d5f25acfb8e5.png" alt="" width="375"><figcaption></figcaption></figure>

Abbiamo creato un Agente di esempio, un adventure game chiamato “The Land of Memori”.\
Di default il layout non permette di vedere le immagini in piena pagina.

Per mostrare come funziona il layout personalizzato, abbiamo creato un layout personalizzato che permette di migliorare l’esperienza di visualizzazione delle immagini e fornisce ulteriori informazioni all’utente in un pannello laterale (utente loggato, ultimo messaggio inviato dall’utente, e un bottone per vedere l’intera conversazione).<br>

{% embed url="https://github.com/andrepat0/memory-media-layout" %}
Il Repository Github con il codice del Layout Personalizzato
{% endembed %}

{% embed url="https://andrepat0.github.io/memory-media-layout/" %}
Prova a giocare!!
{% endembed %}







# 🌐 Web Component

### Panoramica

Il Web Component di Memori è un componente web standard che può essere integrato in qualsiasi pagina HTML senza dipendenze da framework specifici. È la soluzione ideale per integrazioni rapide e semplici.

[🔗 Repository GitHub](https://github.com/memori-ai/memori-webcomponent)

#### Caratteristiche Principali

* Utilizzo immediato in HTML puro;
* Nessuna dipendenza da framework;
* Configurazione tramite attributi HTML;
* Supporto per tutti i browser moderni;
* Gestione automatica del ciclo di vita del componente.

### Installazione <a href="#installazione_233" id="installazione_233"></a>

#### **Installazione CDN**

```html
<!-- Importa Web Component -->
<script type="module" src="https://cdn.jsdelivr.net/npm/@memori.ai/memori-webcomponent/dist/memori-webcomponent.js">
</script>
<!-- Importa stili -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@memori.ai/memori-react/dist/styles.min.css"
/>
```

#### **Installazione NPM**

```batch
# npm
npm install @memori.ai/memori-webcomponent
# yarn
yarn add @memori.ai/memori-webcomponent
```

### Utilizzo Base <a href="#utilizzo_base_261" id="utilizzo_base_261"></a>

#### **Implementazione Semplice**

```html
<memori-client
  memoriName="MioMemori"
  ownerUserName="utente"
  tenantID="tuo-tenant.com"
  apiURL="https://backend.memori.ai"
  baseURL="https://tuo-url-base.com"
  height="500px"
  multilingual="true"
></memori-client>
```

### Utilizzo Avanzato <a href="#utilizzo_avanzato_277" id="utilizzo_avanzato_277"></a>

#### **Con Variabili di Contesto**

```html
<memori-client
  memoriName="MioMemori"
  ownerUserName="utente"
  tenantID="tuo-tenant.com"
  context="LOCATION:Milano,USER_TYPE:premium,CUSTOM_VAR:valore"
  height="100vh"
  showShare="true"
  showSettings="true"
  multilingual="true"
></memori-client>
```

#### **Ottieni URL risorsa**

```javascript
const resourceUrl = await memori.asset.getResourceUrl({
  sessionId: sessionID,
  resourceName: "immagine.jpg",
});
```

#### Gestione Eventi <a href="#gestione_eventi_303" id="gestione_eventi_303"></a>

```javascript
<script>
  // Ascolta i cambiamenti di stato
  document.addEventListener("MemoriNewDialogState", (e) = >{
    const state = e.detail;
    console.log("Nuovo stato dialogo:", state); < span class = "hljs-comment" > // Gestisce risposte specifiche</span><span class="hljs-keyword">if</span> (state.emission?.includes(<span class="hljs-string">"prodotto"</span>)) {  mostraDettagliProdotto();}
  });
  // Gestisce eventi di fine parlato
  document.addEventListener("MemoriEndSpeak", () = >{
    console.log("Memori ha finito di parlare");
  });
  // Invia messaggio
  function inviaPulsantePersonalizzato() {
    window.typeMessage("Ciao dal pulsante personalizzato!");
  }
  // Invia messaggio nascosto
  function inviaComandoNascosto() {
    window.typeMessageHidden("sistema:aggiorna", true);
  }
</script>
<button onclick="inviaPulsantePersonalizzato()">
  Invia Messaggio
</button>
```


# 🎨 Stile e Personalizzazione

### Panoramica

Memori offre diverse possibilità di personalizzazione dell'aspetto e del comportamento del widget, permettendo di adattarlo perfettamente al design del proprio sito web o applicazione. Le personalizzazioni possono essere applicate attraverso variabili CSS, layout personalizzati e override dei componenti.

### Variabili CSS

Il sistema di personalizzazione si basa principalmente su variabili CSS che controllano colori, dimensioni, spaziature e altri aspetti visivi del widget.

#### Variabili Base

```css
:root {
  /* Colori principali */
  --memori-primary: rgb(102, 103, 171);
  --memori-primary-text: #fff;
  --memori-text-color: #000;
  
  /* Sfondo e contenitori */
  --memori-inner-bg: transparent;
  --memori-chat-bubble-bg: #ffffff60;
  --memori-blur-background: 0px;
  
  /* Pulsanti */
  --memori-button-bg: #fff;
  --memori-button-text: #000;
  --memori-button-radius: 5px;
  --memori-button-padding: 0.5rem 1.5rem;
  --memori-button-border-color: #d9d9d9;
  --memori-button-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02);
  
  /* Drawer e Modal */
  --memori-drawer--width: 100%;
  --memori-drawer--width--md: 80%;
  --memori-drawer--width--lg: 60%;
  --memori-modal--width: 100%;
  --memori-modal--width--md: 80%;
  
  /* Stati */
  --memori-error-color: #ff4d4f;
}
```

#### Esempi di Personalizzazione

**Tema Scuro**

```css
memori-client,
#headlessui-portal-root,
.memori-widget {
  --memori-primary: #2d3748;
  --memori-primary-text: #ffffff;
  --memori-inner-bg: #1a202c;
  --memori-chat-bubble-bg: #2d3748;
  --memori-text-color: #e2e8f0;
  --memori-button-bg: #4a5568;
  --memori-button-text: #ffffff;
  --memori-blur-background: 8px;
}
.memori-button {
  background-color: #4a5568;
  color: #ffffff;
}
.memori--title {
  color: #ffffff;
}
.memori-chat--bubble {
  background-color: #ffffff;
  color: #1a202c;
}
.memori-button-icon {
  color: #fff;
}
.memori-chat-inputs--mic svg {
  fill: #fff;
}
```

**Tema Chiaro**

```css
i-client,memori-client,
#headlessui-portal-root,
.memori-widget {
  --memori-primary: #6366f1;
  --memori-primary-text: #ffffff;
  --memori-inner-bg: #f8fafc;
  --memori-chat-bubble-bg: #f1f5f9;
  --memori-text-color: #1e293b;
  --memori-button-bg: #ffffff;
  --memori-button-text: #1e293b;
  --memori-button-radius: 12px;
  --memori-blur-background: 0px;
}
.memori-button {
  background-color: #ffffff;
  color: #1e293b;
}
.memori--title {
  color: #1e293b;
}
.memori-chat--bubble {
  background-color: #ffffff;
  color: #1e293b;
}
.memori-chat-inputs--mic svg {
  fill: #1e293b;
}
```

### Layout Personalizzati

È possibile definire layout completamente personalizzati utilizzando il componente React.

#### Esempio Base

```tsx
const CustomLayout: React.FC<LayoutProps> = ({
  Avatar,
  Chat,
  StartPanel,
  sessionId,
  hasUserActivatedSpeak,
  avatarProps,
  chatProps,
  startPanelProps
}) => (
  <div className="custom-layout">
    <div className="avatar-section">
      <Avatar {...avatarProps} />
    </div>
    <div className="main-content">
      {sessionId && hasUserActivatedSpeak ? (
        <Chat {...chatProps} />
      ) : (
        <StartPanel {...startPanelProps} />
      )}
    </div>
  </div>
);
```

#### Stili Specifici per Layout

```css
.custom-layout {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 20px;
  padding: 20px;
  height: 100%;
}

.avatar-section {
  background: var(--memori-inner-bg);
  border-radius: 10px;
  padding: 20px;
}

.main-content {
  background: var(--memori-chat-bubble-bg);
  border-radius: 10px;
  overflow: hidden;
}
```

### Personalizzazione Responsiva

```css
@media (max-width: 768px) {
  .memori-widget {
    --memori-drawer--width: 100%;
    --memori-modal--width: 100%;
  }
  
  .custom-layout {
    grid-template-columns: 1fr;
  }
}
```

### Override dei Componenti

È possibile sovrascrivere i componenti predefiniti per una personalizzazione ancora più profonda.

#### Esempio: Chat Bubble Personalizzata

```tsx
const CustomChatBubble: React.FC<ChatBubbleProps> = ({
  message,
  isUser,
  timestamp
}) => (
  <div className={`custom-bubble ${isUser ? 'user' : 'bot'}`}>
    <div className="message">{message}</div>
    <div className="timestamp">{timestamp}</div>
  </div>
);
```

### Best Practices

1. **Mantenere la Coerenza**
   * Utilizzare colori e stili coerenti con il brand;
   * Mantenere la stessa palette in tutto il widget.
2. **Accessibilità**
   * Assicurare sufficiente contrasto tra testo e sfondo;
   * Mantenere dimensioni dei caratteri leggibili;
   * Considerare utenti con difficoltà visive.
3. **Responsive Design**
   * Testare su diversi dispositivi e dimensioni dello schermo;
   * Utilizzare breakpoint appropriati;
   * Adattare layout e dimensioni per dispositivi mobili.
4. **Performance**
   * Evitare animazioni pesanti;
   * Ottimizzare immagini e assets;
   * Minimizzare l'uso di filtri e effetti CSS complessi.

### Demo

Abbiamo realizzato una demo che mostra un esempio di personalizzazione del tema utilizzando l'Agente di "Giuseppe Verdi". Puoi provare a modificare lo stile a tuo piacimento.

{% embed url="https://jsfiddle.net/8rw6mpy1/" %}



# 🔌 Client API

### Panoramica

Modulo npm che fa da wrapper alle API di backend e engine. Permette di effettuare le chiamate e fornisce i metodi disponibili, con parametri e risposte tipizzati. Utilizzabile sia lato web che lato node/server.

### Architettura API <a href="#architettura_api_464" id="architettura_api_464"></a>

L’API Memori consiste in due componenti principali:

1. **API Engine** ([Swagger](https://engine.memori.ai/swagger/index.html))
   1. Gestisce sessioni e dialoghi;
   2. Gestisce funzionalità NLP;
   3. Elabora funzionalità conversazionali.
2. **API Backend (**[Swagger](https://backend.memori.ai/memoriai/swagger/index.html)**)**
   1. Gestisce utenti e asset;
   2. Gestisce notifiche;
   3. Controlla amministrazione sistema.

### Inizializzazione Client <a href="#inizializzazione_client_479" id="inizializzazione_client_479"></a>

```javascript
import memoriApiClient from "@memori.ai/memori-api-client";
// Inizializza con endpoint predefiniti
const memori = memoriApiClient(
"https://backend.memori.ai", // URL API
"https://engine.memori.ai" // URL Engine
);
```

### Funzionalità Core <a href="#funzionalit_core_491" id="funzionalit_core_491"></a>

#### **Gestione Sessione**

{% code overflow="wrap" %}
```javascript
// Inizializza sessione base
const {
  sessionID,
  currentState
} = await memori.initSession({
  memoriID: "tuo-memori-id",
  birthdate: "1900-01-01T00:00:00.000Z",
});
// Inizializza sessione con contesto
const sessionWithContext = await memori.initSession({
  memoriID: "tuo-memori-id",
  birthdate: "1900-01-01T00:00:00.000Z",
  context: {
    location: "Milano",
    userType: "premium",
    customVariable: "valore",
  },
});
```
{% endcode %}

#### **Eventi di Dialogo**

```javascript
// Invia messaggio di testo
const {
  currentState: dialogState
} = await memori.postTextEnteredEvent({
  sessionId: sessionID,
  text: "Ciao Memori!",
});
// Cambia contesto data
await memori.postDateChangedEvent({
  sessionId: sessionID,
  date: "2024-12-13",
});
// Cambia contesto luogo
await memori.postPlaceChangedEvent({
  sessionId: sessionID,
  place: "Roma",
});
```

### Funzionalità Avanzate <a href="#funzionalit_avanzate_536" id="funzionalit_avanzate_536"></a>

#### Gestione dello Stato Globale <a href="#gestione_dello_stato_globale_538" id="gestione_dello_stato_globale_538"></a>

```javascript
// Ottieni stato corrente
const state = getMemoriState();
const sessionID = getMemoriState().sessionID;
// Per widget multipli
const specificState = getMemoriState("widget-integration-id");
// Lettura manuale dello stato dal DOM
const dialogState = JSON.parse(document.querySelector("div[data-memori-engine-state]") ? .dataset ? .memoriEngineState ? ?"{}");
```

### Eventi Listener <a href="#eventi_listener_555" id="eventi_listener_555"></a>

#### **MemoriNewDialogState**

Puoi ascoltare ogni messaggio usando l’evento `MemoriNewDialogState` e valutare il contenuto per attivare una reazione

```javascript
// Ascolta i cambiamenti di stato
document.addEventListener("MemoriNewDialogState", (e) = >{
  const {
    emission,
    context,
    sessionID
  } = e.detail;
  // Registra analytics
  logConversazione({
    sessionId: sessionID,
    message: emission,
    timestamp: new Date(),
    context: context,
  });
  // Gestisce risposte specifiche
  if (emission.includes("aiuto")) {
    mostraPannelloAiuto();
  }
});
// Gestisce fine parlato
document.addEventListener("MemoriEndSpeak", () = >{
  pulisciElementiPersonalizzati();
  verificaFlussoConversazione();
});
```

#### Gestione Invio Messaggi <a href="#gestione_invio_messaggi_587" id="gestione_invio_messaggi_587"></a>

```javascript
// Messaggio base
typeMessage("Ciao!");
// Messaggio avanzato con opzioni
typeMessage("Mostra catalogo prodotti", true, // attendi messaggio precedente
false, // mostra in chat
"Caricamento catalogo..." // testo di caricamento
);
// Non mostrare il messaggio nella chat
typeMessageHidden("analizza_sentimento", true);
```

### Esempio Completo di Integrazione API <a href="#esempio_completo_di_integrazione_api_605" id="esempio_completo_di_integrazione_api_605"></a>

```javascript
import memoriApiClient from "@memori.ai/memori-api-client";

async function conversazioneMemori() {
  // Inizializza client
  const memori = memoriApiClient("https://backend.memori.ai", "https://engine.memori.ai");

  try {
    // Avvia sessione
    const {
      sessionID,
      currentState
    } = await memori.initSession({
      memoriID: "tuo-memori-id",
      birthdate: "1900-01-01T00:00:00.000Z",
      context: {
        location: "Milano",
        userType: "premium",
      },
    });

    // Invia messaggio iniziale
    const {
      currentState: primaRisposta
    } = await memori.postTextEnteredEvent({
      sessionId: sessionID,
      text: "Ciao! Parlami di te.",
    });
    console.log("Memori dice:", primaRisposta.emission);

    // Aggiorna contesto
    await memori.postPlaceChangedEvent({
      sessionId: sessionID,
      place: "Roma",
    });

    // Invia messaggio successivo
    const {
      currentState: secondaRisposta
    } = await memori.postTextEnteredEvent({
      sessionId: sessionID,
      text: "Cosa puoi dirmi di questa località?",
    });
    console.log("Memori dice:", secondaRisposta.emission);

    // Esegui analisi NLP
    const lingua = await memori.guessLanguage(sessionID, secondaRisposta.emission);
    console.log("Lingua della risposta:", lingua);

    // Chiudi sessione
    await memori.closeSession(sessionID);
  } catch(error) {
    console.error("Errore:", error.resultMessage);
  }
}
```


# 🔄 Ripresa delle Sessioni

La funzionalità di ripresa delle sessioni permette agli utenti di continuare conversazioni precedenti senza perdere il contesto, migliorando significativamente l'esperienza utente.

### Come funziona

Quando viene fornito un `sessionID`, AIsuru verifica automaticamente la validità della sessione:

* **Sessione valida**: recupera lo storico della conversazione e ripopola la chat, mostrando l'ultimo messaggio dell'Agente
* **Sessione non valida**: crea una nuova sessione e mostra il messaggio di benvenuto

⏰ **Importante**: Le sessioni scadono dopo **1 ora** di inattività.

### Ottenere il sessionID

#### Dall'interfaccia di AIsuru

Il modo più semplice per trovare l'ID di una sessione:

1. Accedi alla sezione \<img src="../.gitbook/assets/conversazioni.svg" alt="" data-size="line"> **Conversazioni** del tuo Agente
2. Clicca su \<img src="../.gitbook/assets/URL.svg" alt="" data-size="line"> **Apri** per la conversazione desiderata
3. Nella sezione **"Informazioni sessione"**, troverai l'**ID sessione**

#### Tramite JavaScript

Per ottenere programmaticamente l'ID di una sessione attiva:

```javascript
javascript// Sessione correnteconst sessionID = getMemoriState().sessionID;// Per widget con integrationID specificoconst sessionID = getMemoriState("mio-integration-id").sessionID;
```

### Implementazione

#### Web Component

```html
html<memori-client  memoriName="MioMemori"  ownerUserName="utente"  tenantID="aisuru.com"  sessionID="uuid-della-sessione-da-riprendere"></memori-client>
```

#### Componente React

```tsx
tsx<Memori  memoriName="MioMemori"  ownerUserName="utente"  tenantID="aisuru.com"  sessionID="uuid-della-sessione-da-riprendere"/>
```

### Casi d'uso comuni

#### Salvare e riprendere sessioni

```javascript
javascript// Salva sessionIDdocument.addEventListener('MemoriNewDialogState', (e) => {  const sessionID = e.detail.sessionID;  localStorage.setItem('memori-session', sessionID);});// Riprendi sessione salvataconst savedSessionID = localStorage.getItem('memori-session');// Usa savedSessionID nell'attributo sessionID del componente
```

#### Integrazione con autenticazione utente

```javascript
javascript// Associa sessione all'utente loggatoconst userSessionKey = `memori-session-${userId}`;localStorage.setItem(userSessionKey, sessionID);// Riprendi sessione per utente specificoconst userSessionID = localStorage.getItem(userSessionKey);
```

### Vantaggi

* **Continuità dell'esperienza**: gli utenti possono riprendere conversazioni interrotte
* **Mantenimento del contesto**: l'Agente ricorda le informazioni della conversazione precedente
* **Gestione automatica**: AIsuru gestisce automaticamente sessioni scadute o non valide
* **Flessibilità**: compatibile con tutti i layout e le configurazioni


# 10. Risorse aggiuntive

Benvenuto alla sezione delle risorse aggiuntive di AIsuru! Qui troverai una serie di strumenti e informazioni complementari per aiutarti a sfruttare al massimo la nostra piattaforma di IA conversazionale.

In questa sezione, abbiamo raccolto:

* **Un** [**glossario completo dei termini tecnici e specifici di AIsuru**](glossario-dei-termini.md), per aiutarti a navigare con sicurezza nel mondo dell'IA;
* [**Link utili a risorse esterne**](link-utili-e-supporto.md): tutorial e articoli di approfondimento per espandere le tue conoscenze;
* Informazioni su come contattare il nostro team di supporto, per ricevere assistenza personalizzata quando ne hai bisogno.


---
hidden: true
---

# FAQ



# Glossario dei termini

### Termini legati alla piattaforma

1. **Agente** (prima chiamato "Twin"): un'entità di intelligenza artificiale personalizzata creata sulla piattaforma AIsuru, capace di interagire in modo conversazionale.
2. **Contenuti**: le informazioni strutturate che costituiscono la base di conoscenza di un Agente. Ogni contenuto contiene una domanda a cui è attribuita una risposta.
3. **Import di conoscenza**: processo di caricamento e integrazione di dati esterni nella base di conoscenza di un Agente.
4. **Layout di condivisione**: interfaccia personalizzata per la condivisione e l'interazione con un Agente.
5. **Contesto**: variabili che influenzano le risposte dell'Agente limitando l'accesso ad alcuni contenuti o, semplicemente, preferendone degli altri.
6. **Ruoli** (precedentemente chiamati "Persone"): in AIsuru, rappresentano ruoli o categorie di utenti con cui puoi personalizzare le risposte dell'Agente. Il tab di gestione si chiamava "Persone" nelle versioni precedenti della piattaforma.
7. **Autore**: utente con permessi per creare e modificare i contenuti di un Agente.
8. **Intenti dinamici**: meccanismo che permette all'Agente di riconoscere l'intenzione dell'utente e attivare azioni specifiche in risposta.
9. **Invocazione**: processo di attivazione di un intento o di una funzione specifica dell'Agente.
10. **Slot**: elementi variabili all'interno di un intento, che possono essere estratti dal testo dell'utente.
11. **Funzioni**: azioni specifiche che l'Agente può eseguire in risposta a determinati intenti.
12. **MCP**: Model Context Protocol (MCP) è uno standard aperto per la comunicazione tra AI assistants e sistemi esterni.
13. **Parametri**: valori configurabili che influenzano il comportamento delle funzioni.
14. **Gruppo di esperti**: funzionalità di AIsuru che permette di creare un gruppo di Agenti specializzati in diverse aree di competenza, in grado di collaborare per fornire risposte più complete e accurate.
15. **Pensiero profondo**: funzionalità di AIsuru che permette all'IA di ricordare e richiamare interazioni passate con gli utenti, migliorando la personalizzazione delle risposte nel tempo.
16. **Open badge**: certificazioni digitali che possono essere rilasciate dall'Agente per attestare competenze o risultati raggiunti dagli utenti.
17. **Timeout**: intervallo di tempo dopo il quale l'Agente può intraprendere un'azione specifica se non riceve input dall'utente.
18. **Blob**: avatar predefinito a forma di goccia utilizzato per rappresentare visivamente un Agente quando non viene caricata un'immagine personalizzata.
19. **Spazio virtuale**: ambiente 3D interattivo in cui gli utenti possono esplorare e interagire con gli Agenti in realtà virtuale o aumentata.
20. **PaaS** (Platform as a Service): versione di AIsuru dedicata alle aziende, che offre maggiore personalizzazione e controllo.
21. **Fatti noti**: informazioni memorizzate dall'Agente riguardo a un utente specifico, utilizzate per personalizzare le interazioni future.

### Termini legati all'Intelligenza Artificiale

1. **IA generativa**: tipo di intelligenza artificiale in grado di creare contenuti originali basandosi su dati di addestramento.
2. **LLM** (Large Language Model): modello linguistico di grandi dimensioni, come quelli utilizzati da AIsuru per generare risposte.
3. **Fine-tuning**: processo di perfezionamento di un modello linguistico pre-addestrato per adattarlo a compiti o domini specifici.
4. **Function calling**: capacità dell'IA di richiamare funzioni esterne per eseguire azioni specifiche o recuperare informazioni.
5. **RAG** (Retrieval-Augmented Generation): tecnica che combina il recupero di informazioni con la generazione di testo per produrre risposte più accurate e contestualizzate.
6. **System prompt**: istruzioni di base fornite all'IA che definiscono il suo comportamento generale e il contesto in cui opera.
7. **NLP** (Natural Language Processing): campo dell'IA che si occupa dell'interazione tra computer e linguaggio umano.
8. **Embeddings**: rappresentazioni numeriche (vettori) di testo che permettono al sistema di comprendere il significato semantico delle domande e dei contenuti.
9. **Matching semantico**: processo di ricerca del contenuto più simile attraverso la comparazione di vettori.
10. **Token**: unità di testo utilizzata dai modelli di linguaggio per processare e generare testo.

### Termini tecnici

1. **Webhook**: meccanismo che permette all'Agente di inviare dati in tempo reale a sistemi esterni quando si verificano determinati eventi (come un [intento dinamico](../avanzate/integrazioni/intenti-dinamici/) che viene chiamato da AIsuru o una [funzione](../avanzate/integrazioni/funzioni/) che viene chiamata da AIsuru con il supporto del LLM).
2. **API** (Application Programming Interface): insieme di protocolli e strumenti che permettono l'integrazione di AIsuru con altri sistemi e applicazioni.
3. **VR** (Virtual Reality): ambiente virtuale immersivo in cui è possibile interagire con gli Agenti di AIsuru.
4. **AR** (Augmented Reality): tecnologia che sovrappone elementi digitali, come gli Agenti, al mondo reale attraverso dispositivi come smartphone o occhiali smart.
5. **Embed**: codice utilizzato per incorporare un Agente in un sito web o un'applicazione esterna.
6. **JSONL**: formato file utilizzato per l'esportazione e l'importazione di dati in AIsuru, particolarmente utile per il fine-tuning.
7. **Soglia di confidenza**: parametro che determina il livello di certezza richiesto all'Agente prima di utilizzare un contenuto specifico per rispondere a una domanda dell'utente


# Link utili e supporto

### AI Team - I nostri Agenti di supporto

Ti serve aiuto? Puoi rivolgerti a:

* [**Manuela**](https://www.aisuru.com/it/memoridev/Manuela/54ac7607-6905-4a0d-9f50-5ec178e846a3), il nostro Agente di assistenza -> se hai effettuato l'accesso, premi sull'icona viola <img src="../.gitbook/assets/question.svg" alt="" data-size="line"> che trovi nella parte destra della pagina: ti si aprirà una barra laterale dove potrai interagire direttamente con lei!
* [**Meta Prompt Engineer**](https://www.aisuru.com/it/memoridev/Meta%20Prompt%20Engineer), l'Agente per le [istruzioni IA](../ai-generativa/prompt-engineering/) -> ti aiuterà a costruire le istruzioni perfette per il tuo Agenti!

**📫 Vuoi parlare con il team?** Chiedi a Manuela un indirizzo email di supporto o di aprire un ticket di assistenza: ci metteremo in contatto il prima possibile per risolvere il tuo problema!

### API di AIsuru

Puoi consultare la documentazione delle API nell'[apposita sezione della documentazione](https://docs.aisuru.com/api).

### Prompt Engineering

* [Anthropic - Guida al Prompt Engineering](https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview);
* [Anthropic - AI prompt engineering: A deep dive](https://www.youtube.com/watch?v=T9aRN5JkmL8).

### Repository Github

* [API Client](https://github.com/memori-ai/memori-api-client);
* [Componente React](https://github.com/memori-ai/memori-react);
* [Web Component](https://github.com/memori-ai/memori-webcomponent);
* [Esempi di integrazione](https://github.com/memori-ai/examples).



