Questa pagina descrive alcuni casi d'uso per la creazione di applicazioni basate su LLM utilizzando LlamaIndex integrato con Cloud SQL per PostgreSQL. Vengono forniti link ai notebook su GitHub per aiutarti a esplorare gli approcci o per aiutarti a sviluppare la tua applicazione.
LlamaIndex è un framework di orchestrazione di AI generativa che ti consente di connettere e integrare origini dati con modelli linguistici di grandi dimensioni (LLM). Puoi utilizzare LlamaIndex per creare applicazioni che accedono ed eseguono query sulle informazioni da dati privati o specifici del dominio utilizzando query in linguaggio naturale.
LlamaIndex funge da ponte tra i dati personalizzati e gli LLM, facilitando lo sviluppo di applicazioni di assistenza alla conoscenza con funzionalità di Retrieval-Augmented Generation (RAG).
LlamaIndex è adatto alle applicazioni incentrate sui documenti perché enfatizza la gestione dei documenti strutturati, che semplifica l'indicizzazione e il recupero. Questo framework è dotato di meccanismi di query ottimizzati che migliorano la velocità e la pertinenza dell'accesso alle informazioni, nonché di una solida gestione dei metadati per un filtraggio sfumato.
Per ulteriori informazioni sul framework LlamaIndex, consulta la documentazione del prodotto LlamaIndex.
Componenti di LlamaIndex
Cloud SQL per PostgreSQL offre le seguenti interfacce LlamaIndex:
- Datastore vettoriale
- Datastore di documenti
- Datastore di indici
- Datastore di chat
- Lettore di documenti
Scopri come utilizzare LlamaIndex con la Guida rapida per Cloud SQL per PostgreSQL.
Datastore vettoriale
Questa integrazione di LlamaIndex ti consente di utilizzare la natura solida e scalabile di Cloud SQL per PostgreSQL per archiviare e gestire i dati di LlamaIndex. Combinando le funzionalità di indicizzazione ed esecuzione di query di LlamaIndex con le prestazioni e l'affidabilità elevate di Cloud SQL per PostgreSQL, puoi creare applicazioni basate su LLM più efficienti e scalabili.
LlamaIndex suddivide un documento (doc, testo e PDF) in componenti di documenti chiamati nodi. Il VectorStore può contenere solo i vettori di embedding dei contenuti dei nodi importati e il testo dei nodi. Un nodo, che è un concetto di prima classe, contiene contenuti di testo, embedding vettoriali e metadati. Puoi applicare filtri a questi campi di metadati per limitare il recupero dei nodi a quelli che corrispondono ai criteri di metadati specificati.
Per lavorare con i datastore vettoriali in
Cloud SQL per PostgreSQL, utilizza la
PostgresVectorStore classe.
Per ulteriori informazioni, consulta LlamaIndex
Datastore vettoriali.
Archiviare gli embedding vettoriali con la classe PostgresVectorStore
Il Cloud SQL per PostgreSQL per il datastore vettoriale mostra come eseguire le seguenti operazioni:
- Inizializzare una tabella per archiviare gli embedding vettoriali
- Creare un'istanza della classe di embedding utilizzando qualsiasi Llama Index embeddings model.
- Inizializzare un datastore vettoriale
PostgresVectorStorepredefinito. - Creare ed eseguire query su un indice dal datastore vettoriale utilizzando VectorStoreIndex.
- Creare un datastore vettoriale personalizzato per archiviare e filtrare in modo efficace i metadati.
- Aggiungere un indice ANN per migliorare la latenza di ricerca.
Datastore di documenti e indici
L'integrazione dei datastore di documenti di LlamaIndex gestisce l'archiviazione e il recupero di documenti strutturati, ottimizzando le funzionalità incentrate sui documenti di LlamaIndex. Il datastore di documenti archivia i contenuti correlati ai vettori nel datastore vettoriale.
Per ulteriori informazioni, consulta la documentazione del prodotto LlamaIndex Datastore di documenti.
I datastore di indici facilitano la gestione degli indici per consentire l'esecuzione rapida di query e il recupero dei dati, ad esempio l'indice di riepilogo, parole chiave e albero.Index in LlamaIndex è un archivio leggero solo per i metadati del nodo. Gli aggiornamenti ai metadati dei nodi non richiedono la reindicizzazione (generazione di embedding di lettura
) del nodo completo o di tutti i nodi di un documento.
Per ulteriori informazioni, consulta LlamaIndex Datastore di indici.
Archiviare documenti e indici
Il notebook Cloud SQL per PostgreSQL
per i datastore di documenti mostra come utilizzare
Cloud SQL per PostgreSQL per archiviare documenti e indici utilizzando
le classi PostgresDocumentStore e PostgresIndexStore
. Scopri come eseguire le seguenti operazioni:
- Creare un
PostgresEngineutilizzandoPostgresEngine.from_instance(). - Creare tabelle per DocumentStore e IndexStore.
- Inizializzare un
PostgresDocumentStorepredefinito. - Configurare un
IndexStoredi Postgres. - Aggiungere documenti a
Docstore. - Utilizzare i datastore di documenti con più indici.
- Caricare gli indici esistenti.
Datastore di chat
I datastore di chat mantengono la cronologia e il contesto delle conversazioni per le applicazioni basate sulla chat, consentendo interazioni personalizzate. I datastore di chat forniscono un repository centrale che archivia e recupera i messaggi di chat all'interno di una conversazione, consentendo all'LLM di mantenere il contesto e fornire risposte più pertinenti in base al dialogo in corso.
Per impostazione predefinita, i modelli linguistici di grandi dimensioni non hanno stato, il che significa che non conservano gli input precedenti a meno che non vengano forniti esplicitamente ogni volta. Utilizzando un datastore di chat, puoi conservare il contesto della conversazione, il che consente al modello di generare risposte più pertinenti e coerenti nel tempo.
Il modulo di memoria in LlamaIndex consente l'archiviazione e il recupero efficienti del
contesto conversazionale, consentendo interazioni più personalizzate e sensibili al contesto
nelle applicazioni di chat. Puoi integrare il modulo di memoria in
LlamaIndex con un ChatStore
e un ChatMemoryBuffer.
Per ulteriori informazioni, consulta Datastore di chat di LlamaIndex.
Archiviare la cronologia chat
Il notebook Cloud SQL per PostgreSQL
per i datastore di chat mostra come utilizzare
Cloud SQL per PostgreSQL per archiviare la cronologia chat utilizzando la
PostgresChatStore classe. Scopri come eseguire le seguenti operazioni:
- Creare un
PostgresEngineutilizzandoPostgresEngine.from_instance(). - Inizializzare un
PostgresChatStore.predefinito. - Creare un
ChatMemoryBuffer. - Creare un'istanza della classe LLM.
- Utilizzare
PostgresChatStoresenza un contesto di archiviazione. - Utilizzare
PostgresChatStorecon un contesto di archiviazione. - Creare e utilizzare il motore di chat.
Lettore di documenti
Il lettore di documenti recupera e trasforma in modo efficiente i dati da
Cloud SQL per PostgreSQL
in formati compatibili con LlamaIndex
per l'indicizzazione. L'interfaccia del lettore di documenti fornisce metodi per caricare
i dati da un'origine come Documents. Document
è una classe che archivia un brano di testo e i metadati associati. Puoi utilizzare
i lettori di documenti per caricare i documenti che vuoi archiviare nei datastore di documenti o
utilizzati per creare indici.
Per ulteriori informazioni, consulta LlamaIndex Lettore di documenti.
Recuperare i dati come documenti
Il notebook Cloud SQL per PostgreSQL
per il lettore di documenti mostra come utilizzare
Cloud SQL per PostgreSQL per recuperare i dati come documenti utilizzando
la classe PostgresReader. Scopri come eseguire le seguenti operazioni:
- Creare un
PostgresEngineutilizzandoPostgresEngine.from_instance(). - Creare
PostgresReader. - Caricare i documenti utilizzando l'argomento
table_name. - Caricare i documenti utilizzando una query SQL.
- Impostare il formato del contenuto della pagina.
- Caricare i documenti.