LlamaIndex è un framework di dati per lo sviluppo le applicazioni di modelli linguistici di grandi dimensioni (LLM) con incremento del contesto. Aumento del contesto si verifica quando applichi un LLM ai tuoi dati. Questa operazione implementa il recupero RAG.
Un problema comune con gli LLM è che non comprendono le conoscenze private, che sono i dati della tua organizzazione. Con LlamaIndex su Vertex AI per RAG, puoi arricchire contesto LLM con ulteriori informazioni private, perché il modello può ridurre allucinazione e a rispondere alle domande in modo più preciso.
Combinando ulteriori fonti di conoscenza con quelle esistenti che gli LLM viene fornito un contesto migliore. Il contesto migliorato insieme alla query migliora la qualità della risposta dell'LLM.
I seguenti concetti sono fondamentali per comprendere LlamaIndex su Vertex AI. Questi concetti sono elencati nell'ordine RAG (Retrieval Augmented Generation).
Importazione dati: raccogli dati da diverse origini dati. Ad esempio: file locali, Cloud Storage e Google Drive.
Trasformazione dei dati: conversione dei dati in per prepararti all'indicizzazione. Ad esempio, i dati vengono suddivisi in blocchi.
Incorporamento: numerico rappresentazioni di parole o parti di testo. Questi numeri catturano significato semantico e contesto del testo. Parole o testo simili o correlati tendono ad avere incorporamenti simili, il che significa che sono più vicini spazio vettoriale ad alta dimensionalità.
Indicizzazione dei dati: LlamaIndex su Vertex AI per RAG crea un indice chiamato corpus. L'indice struttura la knowledge base in modo che sia ottimizzata per la ricerca. Per ad esempio, l'indice è come un sommario dettagliato per un libro di riferimento.
Recupero: quando un utente pone una domanda o fornisce un prompt, il recupero componente in LlamaIndex su Vertex AI per le ricerche RAG attraverso le sue conoscenze per trovare informazioni pertinenti alla query.
Generazione: le informazioni recuperate diventano il contesto aggiunto alla query dell'utente originale come guida per consentire al modello di AI generativa di generare risposte pertinenti e basate di fatto.
Questa pagina spiega come utilizzare LlamaIndex su Vertex AI per RAG fornisce esempi di Python per dimostrare come utilizzare il API RAG.
Per informazioni sui limiti di dimensioni dei file, vedi Tipi di documenti supportati. Per informazioni sulle quote relative a LlamaIndex su Vertex AI per RAG, consulta LlamaIndex su Vertex AI per le quote RAG. Per per informazioni su come personalizzare i parametri, consulta Parametri di recupero.
Esegui LlamaIndex su Vertex AI per RAG utilizzando l'SDK Vertex AI
Per utilizzare LlamaIndex su Vertex AI per RAG:
Esegui questo comando nella console Google Cloud per configurare il tuo progetto.
gcloud config set {project}
Esegui questo comando per autorizzare l'accesso.
gcloud auth application-default login
Copia e incolla questo codice campione nella console Google Cloud per eseguire LlamaIndex su Vertex AI.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.
Modelli supportati
Modelli Gemini specifici e supporto del modello Llama 3.1 gestito da Google LlamaIndex su Vertex AI.
Modelli Gemini supportati
La tabella seguente elenca i modelli Gemini e le relative versioni che supportano LlamaIndex su Vertex AI:
Modello | Versione |
---|---|
Gemini 1.5 Flash | gemini-1.5-flash-001 |
Gemini 1.5 Pro | gemini-1.5-pro-001 |
Gemini 1.0 Pro | gemini-1.0-pro-001 gemini-1.0-pro-002 |
Gemini 1.0 Pro Vision | gemini-1.0-pro-vision-001 |
Gemini | gemini-experimental |
Modello Llama 3.1 supportato
L'endpoint Model as a Service (MaaS) Llama 3.1 gestito da Google può supportare anche LlamaIndex su Vertex AI.
Il seguente esempio di codice mostra come utilizzare l'API Gemini per per creare un'istanza modello aperta.
# Create a model instance with Llama 3.1 MaaS endpoint
rag_model = GenerativeModel(
"projects/{PROJECT_ID}/locations/us-central1/publisher/meta/models/llama3-405B-instruct-maas",
tools=[rag_retrieval_tool]
)
Modelli di incorporamento supportati
I seguenti modelli di incorporamento sono supportati per la creazione e la ricerca del corpus e recupero:
textembedding-gecko@003
textembedding-gecko-multilingual@001
text-embedding-004
text-multilingual-embedding-002
Sono supportati i modelli Google ottimizzati per le seguenti versioni:
textembedding-gecko@003
textembedding-gecko-multilingual@001
text-embedding-004
text-multilingual-embedding-002
textembedding-gecko@002
textembedding-gecko@001
Se la configurazione non è specificata, il comportamento predefinito prevede l'utilizzo
text-embedding-004
per la scelta di incorporamento su RagCorpus
. Per
per ulteriori informazioni sull'ottimizzazione dei modelli di incorporamento, consulta
Ottimizzare le rappresentazioni distribuite del testo.
Tipi di documenti supportati
Sono supportati i documenti di solo testo, che includono i seguenti tipi di file con rispetto ai limiti di dimensione dei file:
Tipo di file | Limite dimensioni file |
---|---|
documenti Google | 10 MB quando vengono esportati da Google Workspace |
disegni Google | 10 MB quando vengono esportati da Google Workspace |
Presentazioni Google | 10 MB quando vengono esportati da Google Workspace |
File HTML | 10 MB |
File JSON | 1 MB |
File Markdown | 10 MB |
Diapositive di Microsoft PowerPoint (file PPTX) | 10 MB |
Documenti di Microsoft Word (file DOCX) | 10 MB |
File PDF | 50 MB |
File di testo | 10 MB |
L'utilizzo di LlamaIndex su Vertex AI per RAG con altri tipi di documenti è possibile, possono generare risposte di qualità inferiore.
Origini dati supportate
Sono supportate tre origini dati, tra cui:
Il caricamento di un singolo file utilizzando
upload_file
(fino a 25 MB), che è un processo sincrono chiamata.Importa file da Cloud Storage.
Importa una directory da Google Drive.
È necessario concedere all'account di servizio le autorizzazioni corrette per importare i file. In caso contrario, i file non vengono importati e non viene visualizzato alcun messaggio di errore. Per maggiori informazioni informazioni sui limiti delle dimensioni dei file, vedi Tipi di documenti supportati.
Per eseguire l'autenticazione e concedere le autorizzazioni, segui questi passaggi:
- Vai alla pagina IAM del tuo progetto Google Cloud.
- Seleziona Includi la concessione del ruolo fornita da Google.
- Cerca l'account di servizio Agente di servizio dati RAG Vertex AI.
- Fai clic su Condividi nella cartella di Drive e condividilo con l'account di servizio.
- Concedi l'autorizzazione
Viewer
all'account di servizio su Google Drive una cartella o un file. Puoi trovare l'ID risorsa di Google Drive nell'URL web.
Per ulteriori informazioni, consulta il riferimento dell'API RAG.
Trasformazioni dei dati supportate
Dopo l'importazione di un documento, LlamaIndex su Vertex AI per RAG esegue un set trasformazioni per la migliore qualità e ci sono parametri che gli sviluppatori controllare per i casi d'uso.
Questi parametri includono:
Parametro | Descrizione |
---|---|
chunk_size |
Quando i documenti vengono importati in un indice, vengono suddivisi in blocchi. Il parametro chunk_size (nei token) specifica la dimensione del blocco. La dimensione predefinita del blocco è 1024 token. |
chunk_overlap |
Per impostazione predefinita, i documenti vengono suddivisi in blocchi con una certa quantità di sovrapposizione per migliorare la pertinenza e la qualità del recupero. La sovrapposizione predefinita del blocco è di 200 token. |
Una dimensione del chunk inferiore significa che gli incorporamenti sono più precisi. Una dimensione del blocco più grande gli incorporamenti potrebbero essere più generici, ma potrebbero perdere dettagli specifici.
Ad esempio, se converti 200 parole anziché 1000 in una di un array di incorporamento della stessa dimensione, potresti perdere i dettagli. Questo è anche un buon un esempio di quando si considera il limite di lunghezza del contesto del modello. Un blocco grande non rientrano in un modello con finestre ridotte.
Parametri di recupero
La tabella seguente include i parametri di recupero:
Parametro | Descrizione |
---|---|
similarity_top_k |
Controlla il numero massimo di contesti recuperati. |
vector_distance_threshold |
Vengono presi in considerazione solo i contesti con una distanza inferiore alla soglia. |
Gestione degli indici
Un corpus è una raccolta di documenti o una fonte di informazioni. Quella raccolta o indice. È quindi possibile eseguire query sull'indice per recuperare contesti pertinenti per la generazione di LLM. Quando crei un indice per la prima volta, il processo potrebbe richiedere un altro minuto. Per altre creazioni di indici nello stesso progetto Google Cloud, il processo richiede meno tempo.
Sono supportate le seguenti operazioni di indicizzazione:
- Crea un corpus: Crea un indice per importare o caricare documenti.
- Elimina un corpus: Elimina l'indice.
- Recupera i dettagli di un corpus: Ottieni i metadati che descrivono l'indice.
- Elenco di corpora in un determinato progetto: Elenca più indici in un determinato progetto.
Le operazioni simultanee su corpora non sono supportate. Per ulteriori informazioni, consulta Riferimento API RAG.
Gestione dei file
Sono supportate le seguenti operazioni sui file:
- Carica un file dallo spazio di archiviazione locale in un corpus: Carica un file con informazioni aggiuntive che forniscono contesto all'LLM per generare risposte più accurate.
- Importa i file da un altro spazio di archiviazione in un corpus: Importa un insieme di file da una posizione di archiviazione.
- Recupera i dettagli di un file: Recupera contesti pertinenti per una determinata query da un indice o da un indice specificato file nell'indice.
- Elenca i file in un corpus: Genera un elenco di file nell'indice.
- Eliminare un file da un corpus: Rimuovi un file dall'indice.
Per ulteriori informazioni, consulta il riferimento dell'API RAG.
Passaggi successivi
- Scopri di più sull'IA generativa su Vertex AI .
- Scopri di più sul grounding e su come si relaziona a LlamaIndex su Vertex AI per RAG.
- Scopri di più sull'API Retrieval-Augmented Generation.
- Scopri di più sull'architettura RAG. Consulta: Infrastruttura per un'applicazione di IA generativa compatibile con RAG utilizzando Vertex AI .