Vai al contenuto

Configurare un’App di Generazione Aumentata con Recupero (RAG) con React, FastAPI e Qdrant

Scopri come creare un’app RAG utilizzando React, FastAPI e Qdrant attraverso il servizio App Spaces di Azure.

Implementare applicazioni web nel cloud può risultare un compito complesso, che richiede più passaggi e configurazioni intricate. Microsoft con il suo servizio App Spaces mira a semplificare questo processo, offrendo un approccio diretto e intuitivo per ospitare applicazioni web. Questo articolo guiderà passo dopo passo nella creazione di uno “Sample Space”, in particolare l’app di Generazione Aumentata con Recupero (RAG), mostrando come configurare e gestire facilmente un’app RAG utilizzando App Spaces.

Cos’è App Spaces?

App Spaces è un servizio versatile all’interno di Microsoft Azure progettato per rendere più semplice il deployment e la gestione delle applicazioni web. Offre diverse opzioni di deployment:

  • Repository GitHub: Puoi distribuire direttamente del codice da un repository GitHub.
  • Template di Applicazioni Iniziali: Utilizza modelli preconfigurati per framework popolari come React, Vue, Express, Django, Flask e FastAPI.
  • Sample Spaces: Distribuisci applicazioni pronte all’uso con un solo clic.

In questo tutorial, ci concentreremo sul deployment dell’app di Generazione Aumentata con Recupero (RAG) che integra un frontend React, un backend FastAPI e un database vettoriale Qdrant.

Passo 1: Iniziare con App Spaces

Per iniziare, naviga al dashboard di App Spaces nel tuo portale di Azure. Qui potrai avviare il processo di creazione di un nuovo app space.

Dal dashboard, seleziona l’app di Generazione Aumentata con Recupero (RAG) dalla lista dei sample spaces disponibili.

Passo 2: Provisioning automatico delle risorse

Dopo aver selezionato il sample space RAG, App Spaces provvederà automaticamente al provisioning delle risorse necessarie, inclusi un frontend React, un backend FastAPI e un database vettoriale Qdrant.

Passo 3: Configurazione dell’app

Ora, dovrai configurare l’app collegandola al tuo account GitHub e specificando i dettagli del repository. Ecco come fare:

  1. Collega il tuo account GitHub: Collega il tuo account GitHub ad App Spaces per permettere l’accesso ai tuoi repository. Se non lo hai ancora fatto, ti verrà richiesto di effettuare il login e autorizzare l’accesso.
  2. Seleziona l’organizzazione: Scegli l’organizzazione GitHub sotto cui verrà creato il nuovo repository. Questo assicura che il progetto sia archiviato nel contesto organizzativo corretto.
  3. Nomina il tuo repository: Fornisci un nome descrittivo per il nuovo repository, dove App Spaces caricherà il codice iniziale dell’app campione.
  4. Specifica il branch: Di default, seleziona il branch main a meno che non preferisca usarne un altro.
  5. Configura i dettagli dell’app: Inserisci dettagli come il nome dell’app space, l’abbonamento e la regione. Questa configurazione aiuta Azure a impostare l’infrastruttura necessaria.

Dopo aver completato questi passaggi, App Spaces creerà il repository GitHub, caricherà il codice iniziale e configurerà una pipeline CI/CD per i deployment automatici.

Passo 4: Gestione e verifica del deployment

Una volta distribuita l’app, gestire e verificare il deployment è semplice. App Spaces offre un’interfaccia di gestione completa per monitorare e controllare vari aspetti dell’applicazione.

Verifica del deployment

Lo stato del deployment per ogni componente (frontend, backend, database) può essere monitorato dal dashboard di App Spaces. Ogni voce di deployment fornisce dettagli sullo stato e i timestamp degli eventi di deployment.

Visualizzazione dei log

L’accesso ai log è cruciale per il debugging e per assicurarsi che l’applicazione funzioni senza problemi. La sezione log fornisce sia i log a livello di sistema che quelli a livello di applicazione.

Monitoraggio delle metriche

La sezione delle metriche offre informazioni sulle performance dell’applicazione, inclusi l’uso della CPU, l’uso della memoria e il conteggio delle richieste. Questi dati aiutano a capire il carico sull’applicazione e a ottimizzare le performance.

Passo 5: Utilizzo dell’app campione

Con l’app distribuita con successo, puoi interagire con essa tramite l’URL fornito. L’app campione RAG offre un’interfaccia utente per eseguire le seguenti azioni:

  1. Inserisci la tua OpenAI API Key: Inserisci la tua chiave API di OpenAI per abilitare le query alla API di OpenAI. Questo passaggio è cruciale per il corretto funzionamento dell’app poiché si basa sull’API di OpenAI per generare embedding e migliorare i risultati di ricerca.
  2. Poni una domanda: Invia una query e l’app utilizzerà gli embedding di OpenAI per cercare nel database vettoriale informazioni pertinenti. Questa funzionalità è particolarmente utile per recuperare informazioni dettagliate e contestualmente rilevanti da un ampio dataset.
  3. Archivia nuovo testo: Aggiungi nuovi dati al database vettoriale per future query. Questa funzionalità è ideale per creare e arricchire continuamente la tua base di conoscenza.

Segui le istruzioni seguenti per iniziare a provare l’app campione:

  1. Configurazione:
    • Apri l’app nel tuo browser.
    • Nella sezione Configuration, inserisci la tua chiave API di OpenAI. Questa chiave è necessaria per consentire all’app di interagire con l’API di OpenAI.
  2. Archiviare nuovo testo:
    • Nella sezione Store new text, inserisci un testo che desideri aggiungere al database. Ad esempio, potresti inserire, “Azure App Spaces semplifica l’hosting nel cloud per le applicazioni web.”
    • Fai clic sul pulsante Store Text. Questa azione invia il testo all’API di OpenAI per generare embedding, che vengono poi archiviati nel database vettoriale Qdrant.
  3. Ponendo una domanda:
    • Nella sezione Ask a question, digita una query relativa al testo archiviato. Ad esempio, potresti chiedere, “Quale servizio può semplificare l’hosting nel cloud per le app web?”
    • Fai clic sul pulsante Search. L’app utilizzerà gli embedding archiviati per trovare le informazioni più pertinenti nel database e visualizzare i risultati.

Questa semplice interazione dimostra come l’app RAG possa essere utilizzata per costruire una solida base di conoscenza ricercabile utilizzando tecniche avanzate di generazione aumentata con recupero.

App Spaces semplificano notevolmente il processo di deployment e gestione delle applicazioni web nel cloud. Il sample space di Generazione Aumentata con Recupero dimostra come è possibile integrare un backend potente con un frontend dinamico e un robusto database vettoriale. Seguendo questi passaggi, si può rapidamente impostare e gestire un’applicazione cloud sofisticata. Prova App Spaces e rendi più fluido il tuo workflow di sviluppo.