Durante l’annuale conferenza re:Invent di Amazon Web Services è stata annunciata la piattaforma di AWS per la creazione di agenti basati su AI generativa da impiegare in ambito enterprise: Amazon Q.
L’annuncio segue quello dei GPTs di OpenAI e il Copilot studio di Microsoft e si affianca all’annuncio di nVidia del rilascio di NeMo retrieval, un altro tassello nelle tecnologie NeMo disegnate per supportare l’enterprise per realizzare chatbot basati su AI generativa e il modello Retrieval Augmented Generation che prevede l’iniezione di un contesto nel prompt con informazioni da aggiungere a quelle apprese nel modello o in un suo raffinamento. Questo tipo di approccio è anche alla base di OpenAI GPTs quando si aggiungono documenti alla definizione di un chatbot.
Le principali caratteristiche di Amazon Q
Una caratteristica interessante di Amazon Q è quella di essere basato su Amazon Bedrock, un framework di AI Generativa che consente l’uso, nel cloud di Amazon, di modelli come:
- Titan, un modello di AI Generativa di Amazon;
- Jurassic, modello per la traduzione linguistica;
- Claude, l’AI generativa di Anthropic;
- Comando, un modello orientato alla generazione di testo in contesti aziendali;
- LLama2, il modello generativo di Meta;
- Stable Diffusion, il modello generativo di immagini
Questo implica che lo spazio di configurazione per la realizzazione di chatbot aziendali è piuttosto ampio dovendo scegliere non solo la conoscenza ma anche i modelli da utilizzare.
Piattaforme di sviluppo di chatbot
Amazon Q si integra con strumenti di sviluppo e si candida quindi, come nelle recenti evoluzioni di OpenAI, ad essere un framework di sviluppo di applicazioni in ambito aziendale. Analoghe considerazioni possono essere fatte per l’insieme di strumenti di nVidia NeMo, un framework che in questo caso può essere eseguito on-premises.
Amazon Q si posiziona nello stesso spazio di Copilot studio di Microsoft, e con l’arrivo appena annunciato del modello Gemini di Google (che sembra superare GPT-4), i grandi cloud provider si daranno battaglia nello sviluppo di AI con dati aziendali basate sul cloud.
L’architettura RAG: un nuovo approccio all’AI generativa
Il diffondersi delle architetture di tipo RAG per la programmazione di sistemi di AI generativa sottolinea come la possibilità di arricchire i contesti di un modello di AI generativa con informazioni ottenute mediante ricerche semantiche, ad esempio con AI Vector DB. Anche Microsoft Copilot indicizza le informazioni nel “semantic index” e i vari copilot usano l’indice per utilizzare l’AI generativa.
I punti di forza di queste architetture
Tra i punti di forza di queste architetture troviamo sicuramente un maggior controllo dell’informazione utilizzata, il che spesso implica anche delle risposte più puntuali e meno evasive da parte del modello. Inoltre è più difficile estrarre informazioni poiché queste vengono selezionate e non sono interamente nel modello, non si possono quindi tentare attacchi di estrazione come quello appena tentato nei confronti di OpenAI che ha mostrato come chiedendo di ripetere all’infinito la generazione di una frase di testo che ha portato il generatore ad esporre i dati nel modello. Questo tipo di attacchi mettono a rischio i dati contenuti in eventuali raffinamenti, dati sicuramente più protetti in un database semantico.
L’importanza dell’estrazione delle informazioni nei sistemi RAG
Un aspetto chiave dei sistemi RAG è l’estrazione delle informazioni dai documenti in modo tale da fornire ai modelli informazioni sensate per il completamento del prompt. Una legge o un regolamento, ad esempio, possono essere divisi in commi mantenendo i riferimenti all’articolo e al titolo della legge. Dalle esperienze fatte con Oraculum e Sibylla si evidenzia come i vari frammenti di informazione debbano essere di dimensioni paragonabili e non troppo lunghi se si vogliono ottenere risposte puntuali.
Software come Amazon Q o nVidia NeMo automatizzano il compito di “affettare” i documenti ma non è chiaro quali strategie adottino. Le interfacce sono disegnate per caricare i documenti e sarà solo con la sperimentazione che si riuscirà a valutare l’effettiva efficacia di un chatbot così generato. Si stanno affermando software, come ad esempio il progetto open source RAGAS, per valutare le prestazioni di queste AI, ma siamo agli albori e come sempre tutto è in fermento.
L’abilità di caricare documenti come drag & drop è sicuramente un buon modo per fornire la conoscenza ad un software, ma il modo con cui questa viene elaborata e indicizzata determinerà la qualità degli assistenti basati su di essa.
I limiti attuali dei modelli disponibili
L’impressione è che Amazon con il lancio di Q si sia voluta mettere in pari con gli altri attori dei mercati cloud enterprise, ma in questo momento la flessibilità nella scelta del modello non sembra così importante in assenza di modelli della qualità di GPT-4 o del nuovissimo Gemini di Google. Sicuramente l’assenza di lock-in è un valore e se i modelli disponibili in Bedrock sono sufficienti per un certo compito Amazon Q si rivelerà un modo efficace di introdurre l’AI generativa in azienda, ma non appena il livello di comprensione e ragionamento richiesto sarà ad appannaggio dei modelli più capaci i limiti nei modelli disponibili saranno evidenti.
Conclusioni
Il lancio di Amazon Q sembra sancire definitivamente l’inizio dell’era dei RAG systems, sembra essere il modo più ragionevole di introdurre le tecnologie di AI generativa in ambito aziendale, rispettoso della conoscenza, e capace di integrarsi con le fonti di conoscenza più tradizionali già disponibili. Vedremo le applicazioni di questi Chatbot, e soprattutto come sarà affrontato il problema dell’allucinazione di questi sistemi che rende le risposte non pienamente affidabili.