AI Helper Service

Caratteristiche
- Progettato per essere utilizzato ed integrato con applicazioni e servizi di backend, utilizza il protocollo gRPC per avere il massimo delle prestazioni e della sicurezza.
- Semplice da connettere alle applicazioni, sfrutta un unico oggetto di comunicazione nel quale è possibile personalizzare qualsiasi tipo di struttura dati, dal testo allo streaming.
- Utilizzando modelli con training di base specifici, tramite Fine-Tuning, RAG embedding e Prompt Engineering si specializza il modello sulla puntuale competenza richiesta dal progetto.
- Modelli di piccole dimensioni specializzati aumentano le prestazioni e riducono la richiesta hardware con effetto diretto sui costi di gestione.
Architettura
Modularità ed ottimizzazione
Obiettivi primari sono la semplicità di integrazione e la riduzione del carico computazionale.
Il vantaggio di avere modelli specializzati di piccole dimensioni con addestramento specifico.
Reti neurali separate per poter abilitare solo le funzionalità necessarie ed ridurre al minimo le richieste hardware.
Condivisione dei modelli tra sessioni differenti con contesti indipendenti.
Agent connesso con l'ecosisema di applicazioni e servizi che agisce per mettere in pratica le soluzioni trovate dal modello.
Accesso al servizio agent tramite protocollo gRPC per testo audio video ed immagini.

Distribuzione computazionale
Model routing
AIHelper ha la possibilià essere utilizzato come gestore di instradamento delle richieste verso un pool di altre istanze di AIHelper.
Si possono definire i nodi del pool a seconda del tipo di addestramento del modello ed instradare la richiesta in base all'argomento al modello con il training più attinente.
La configurazione multi istanza permette di ridistribuire il carico computazionale su ambienti distrubuiti.
E' possibile utilizzare più di un agent in un sistema collaborativo dove AIHelper interagisce con altri modelli anche esterni per evolvere un ragionamento.

Connettività
Integrazione semplice
Il servizio espone API gRPC.
La comunicazione si basa su un oggetto AIRequest di richiesta e un Event di risposta che possono contenere qualsiasi tipo di dato, testo, immagini, flussi audio.
L'agent può essere pilotato con comandi diretti contenuti nella richiesta.
Processi client differenti possono scegliere di condividere il contesto generativo.
Utilizzando istanze diverse di più servizi AIHelper definiti come nodi di una stesso pool, si può decidere a quale nodo inviare la richiesta in modo da utilizzare il modello con il training più adeguato.

Strumenti
Studio e Console
AIHelper è un Agent per servizi e processi, ma come tutte le applicazioni di AI generativa ha bisogno di interfaccie che permettano di interagire con il linguaggio naturale.
Studio è una web UI che da accesso alle funzionalità di AIHelper tramite browser.
Console da accesso diretto al servizio AIHelper via gRPC in modalità terminale senza grafica, supporta testo, audio e stream, permette di interagire con Operator, il servizio di amministrazione di AIHelper.
