Architettura
Kisuno gira in container su una macchina Linux. Questa pagina mostra la struttura a grandi linee. Descrive quale percorso prenda una richiesta e quali decisioni ci stiano dietro, ma non la messa in opera nel dettaglio.
Il flusso dei dati
Sezione intitolata “Il flusso dei dati”Due cose sono essenziali. Primo, ogni via dall’esterno passa dal reverse proxy; gli altri servizi non accettano connessioni dalla rete. Secondo, account, conversazioni e file restano sul Suo server, mentre per le risposte dei modelli stesse viene interpellato il fornitore.
Gli strati
Sezione intitolata “Gli strati”Reverse proxy. L’unico ingresso dall’esterno. Termina il TLS, si occupa del certificato e distribuisce le richieste ai servizi dietro di esso.
Applicazione. È LibreChat. Il servizio consegna l’interfaccia, interpella i fornitori di modelli, esegue gli agenti ed elabora i file caricati.
Gestione dei dati. Account, conversazioni, messaggi, agenti e registri risiedono nel database dell’istanza, cui si aggiungono un indice di ricerca sulle proprie chat e i file caricati sullo stesso server. Il database è la fonte della verità, l’indice di ricerca si può ricostruire da lì in qualsiasi momento.
Le aggiunte di Kisuno. Attorno a LibreChat stanno servizi propri per amministrazione, gestione dei diritti e panoramica del consumo, oltre al collegamento ai sistemi di terzi. Sono raggiungibili soltanto all’interno dell’istanza e non stanno in rete.
Fuori dall’istanza. Per le risposte dei modelli viene interpellato il fornitore di inferenza, per la ricerca web i motori di ricerca esterni. Se l’esecuzione di codice viene attivata, gira in un ambiente proprio e separato accanto all’applicazione.
Perché un’istanza per cliente
Sezione intitolata “Perché un’istanza per cliente”LibreChat non conosce i tenant. La separazione si colloca perciò al di sotto dell’applicazione: un cliente è un’istanza propria, con database proprio, indice di ricerca proprio, file propri, configurazione propria e chiave di inferenza propria. Se poi due istanze condividano una macchina è una pura questione di costi e di rischio.
Condivisi possono essere tutt’al più mezzi d’esercizio senza riferimento al cliente. Separati devono restare in ogni caso la gestione dei dati, la configurazione con tutte le chiavi e l’ambiente dell’esecuzione di codice. Altrimenti né i dati né i costi si possono distinguere pulitamente per cliente.