Questa pagina descrive alcuni casi d'uso per la creazione di applicazioni basate su LLM utilizzando LlamaIndex integrato con Cloud SQL per PostgreSQL. I link ai notebook su GitHub vengono forniti per aiutarti a esplorare gli approcci o a sviluppare la tua applicazione.
LlamaIndex è un framework di orchestrazione dell'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 su 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 assistenti basati sulla conoscenza con funzionalità di Retrieval-Augmented Generation (RAG).
LlamaIndex è ideale per le applicazioni incentrate sui documenti perché enfatizza la gestione strutturata dei documenti, il che semplifica l'indicizzazione e il recupero. Questo framework è caratterizzato da meccanismi di query ottimizzati che migliorano la velocità e la pertinenza dell'accesso alle informazioni, nonché da una gestione robusta dei metadati per un filtraggio più preciso.
Per saperne di più sul framework LlamaIndex, consulta la documentazione del prodotto LlamaIndex.
Componenti di LlamaIndex
Cloud SQL per PostgreSQL offre le seguenti interfacce LlamaIndex:
- Vector Store
- Document Store
- Index Stores
- Chat Stores
- Lettore documenti
Scopri come utilizzare LlamaIndex con la guida rapida per Cloud SQL per PostgreSQL.
Vector Store
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 e query di LlamaIndex con le prestazioni e l'affidabilità elevate di Cloud SQL per PostgreSQL, puoi creare applicazioni più efficienti e scalabili basate su LLM.
LlamaIndex suddivide un documento (doc, testo e PDF) in componenti chiamati nodi. VectorStore può contenere solo i vettori di incorporamento dei contenuti dei nodi inseriti 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 specificati per i metadati.
Per lavorare con gli spazi vettoriali in
Cloud SQL per PostgreSQL, utilizza la
classe PostgresVectorStore
.
Per maggiori informazioni, vedi LlamaIndex
Vector Stores.
Archivia gli incorporamenti vettoriali con la classe PostgresVectorStore
La guida Cloud SQL per PostgreSQL per l'archivio vettoriale mostra come:
- Inizializza una tabella per archiviare i vector embedding
- Crea un'istanza della classe di incorporamento utilizzando qualsiasi modello di incorporamento dell'indice Llama.
- Inizializza un datastore vettoriale
PostgresVectorStore
predefinito. - Crea ed esegui query su un indice dallo spazio di archiviazione vettoriale utilizzando VectorStoreIndex.
- Crea un archivio vettoriale personalizzato per archiviare e filtrare in modo efficace i metadati.
- Aggiungi un indice ANN per migliorare la latenza di ricerca.
Documenti e archivi di indici
L'integrazione di LlamaIndex Document Stores gestisce l'archiviazione e il recupero di documenti strutturati, ottimizzando le funzionalità di LlamaIndex incentrate sui documenti. Document Store memorizza i contenuti correlati ai vettori nel vector store.
Per ulteriori informazioni, consulta la documentazione del prodotto LlamaIndex Document Stores.
Gli Index Store facilitano la gestione degli indici per consentire query rapide e il recupero dei dati, ad esempio indici di riepilogo, parole chiave e ad albero.Index
in LlamaIndex è uno spazio di archiviazione leggero solo per i metadati dei nodi. Gli aggiornamenti ai metadati dei nodi non richiedono la reindicizzazione (lettura dell'incorporamento
generazione) dell'intero nodo o di tutti i nodi di un documento.
Per saperne di più, consulta LlamaIndex Index Stores.
Archiviazione di documenti e indici
Il notebook Cloud SQL per PostgreSQL per Document Stores mostra come utilizzare Cloud SQL per PostgreSQL per archiviare documenti e indici utilizzando le classi PostgresDocumentStore
e PostgresIndexStore
. Imparerai a:
- Crea un
PostgresEngine
utilizzandoPostgresEngine.from_instance()
. - Crea tabelle per DocumentStore e IndexStore.
- Inizializza un
PostgresDocumentStore
predefinito. - Configura un database Postgres
IndexStore
. - Aggiungi documenti a
Docstore
. - Utilizza Document Store con più indici.
- Carica gli indici esistenti.
Chat Stores
Gli archivi di chat mantengono la cronologia e il contesto delle conversazioni per le applicazioni basate sulla chat, consentendo interazioni personalizzate. Gli archivi della 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 sono stateless, il che significa che non conservano gli input precedenti, a meno che non vengano forniti esplicitamente ogni volta. Utilizzando un archivio 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, vedi LlamaIndex
Chat Stores.
Memorizzare la cronologia chat
Il notebook Cloud SQL per PostgreSQLper Chat Stores mostra come utilizzare Cloud SQL per PostgreSQL per archiviare la cronologia della chat utilizzando la classe PostgresChatStore
. Imparerai a:
- Crea un
PostgresEngine
utilizzandoPostgresEngine.from_instance()
. - Inizializzare un
PostgresChatStore.
predefinito - Crea un
ChatMemoryBuffer
. - Crea un'istanza della classe LLM.
- Utilizza
PostgresChatStore
senza un contesto di archiviazione. - Utilizza
PostgresChatStore
con un contesto di archiviazione. - Crea e utilizza Chat Engine.
Lettore documenti
Document Reader recupera e trasforma in modo efficiente i dati da
Cloud SQL per PostgreSQL
in formati compatibili con LlamaIndex
per l'indicizzazione. L'interfaccia Document Reader fornisce metodi per caricare
i dati da un'origine come Documents
. Document
è una classe che archivia un testo e i relativi metadati. Puoi utilizzare
i lettori di documenti per caricare i documenti che vuoi archiviare negli archivi di documenti o
utilizzare per creare indici.
Per saperne di più, consulta LlamaIndex Document Reader.
Recuperare i dati come documenti
Il notebook Cloud SQL per PostgreSQL per Document Reader mostra come utilizzare Cloud SQL per PostgreSQL per recuperare i dati come documenti utilizzando la classe PostgresReader
. Imparerai a:
- Crea un
PostgresEngine
utilizzandoPostgresEngine.from_instance()
. - Crea
PostgresReader
. - Carica i documenti utilizzando l'argomento
table_name
. - Carica documenti utilizzando una query SQL.
- Imposta il formato dei contenuti della pagina.
- Carica i documenti.