LlamaIndex ist ein Daten-Framework für die Entwicklung kontextsensitiver LLM-Anwendungen (Large Language Model). Die Kontexterweiterung tritt auf, wenn Sie ein LLM auf Ihre Daten anwenden. Dadurch wird die Retrieval Augmented Generation (RAG) implementiert.
Ein häufiges Problem bei LLMs besteht darin, dass sie privates Wissen, also die Daten Ihrer Organisation, nicht verstehen. Mit LlamaIndex in Vertex AI für RAG können Sie den LLM-Kontext mit zusätzlichen privaten Informationen anreichern, da das Modell die Reihung reduzieren und Fragen genauer beantworten kann.
Durch die Kombination zusätzlicher Wissensquellen mit dem vorhandenen Wissen von LLMs wird ein besserer Kontext bereitgestellt. Der verbesserte Kontext zusammen mit der Abfrage verbessert die Qualität der LLM-Antwort.
Die folgenden Konzepte sind wichtig für das Verständnis von LlamaIndex in Vertex AI. Diese Konzepte sind in der Reihenfolge des RAG-Prozesses (Retrieval Augmented Generation) aufgeführt.
Datenaufnahme: Nehmen Sie Daten aus verschiedenen Datenquellen auf. Zum Beispiel lokale Dateien, Cloud Storage und Google Drive.
Datentransformation: Konvertierung der Daten in der Vorbereitung auf die Indexierung. Beispielsweise werden Daten in Blöcke unterteilt.
Einbettung: Numerische Darstellungen von Wörtern oder Textabschnitten. Diese Zahlen erfassen die semantische Bedeutung und den Kontext des Texts. Ähnliche oder verwandte Wörter oder Text haben in der Regel ähnliche Einbettungen. Das bedeutet, dass sie im hochdimensionalen Vektorbereich näher beieinander liegen.
Datenindexierung: LlamaIndex in Vertex AI für RAG erstellt einen Index, der als Korpus bezeichnet wird. Der Index strukturiert die Wissensdatenbank, sodass sie für die Suche optimiert ist. Der Index ist beispielsweise wie ein detailliertes Inhaltsverzeichnis für ein riesiges Referenzbuch.
Abruf: Wenn ein Nutzer eine Frage stellt oder einen Prompt bereitstellt, sucht die Abrufkomponente in LlamaIndex in Vertex AI für RAG in seiner Knowledge Base nach Informationen, die für die Abfrage relevant sind. “
Generierung: Die abgerufenen Informationen werden zum Kontext, der der ursprünglichen Nutzeranfrage als Leitfaden für das generative KI-Modell hinzugefügt wurde, um faktisch fundierte und relevante Antworten zu generieren.
Auf dieser Seite erfahren Sie mehr über die Verwendung von LlamaIndex in Vertex AI für RAG. Außerdem finden Sie auf dieser Seite Python-Beispiele, um die Verwendung der RAG API zu demonstrieren.
Informationen zu den Dateigrößenbeschränkungen finden Sie unter Unterstützte Dokumenttypen. Informationen zu Kontingenten für LlamaIndex in Vertex AI für RAG finden Sie unter LlamaIndex in Vertex AI für RAG-Kontingente. Informationen zum Anpassen von Parametern finden Sie unter Abrufparameter.
LlamaIndex auf Vertex AI für RAG mit dem Vertex AI SDK ausführen
So verwenden Sie LlamaIndex in Vertex AI für RAG:
Führen Sie diesen Befehl in der Google Cloud Console aus, um Ihr Projekt einzurichten.
gcloud config set {project}
Führen Sie diesen Befehl aus, um Ihre Anmeldung zu autorisieren.
gcloud auth application-default login
Kopieren Sie diesen Beispielcode und fügen Sie ihn in die Google Cloud Console ein, um LlamaIndex in Vertex AI auszuführen.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Unterstützte Modelle
Die folgenden Modelle und ihre Versionen, die LlamaIndex in Vertex AI unterstützen:
Modell | Version |
---|---|
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 |
Unterstützte Dokumenttypen
Es werden reine Textdokumente unterstützt, einschließlich der folgenden Dateitypen mit ihren Größenbeschränkungen für Dateien:
File type | Maximale Dateigröße |
---|---|
Google-Dokumente | 10 MB beim Export aus Google Workspace |
Google Drawings | 10 MB beim Export aus Google Workspace |
Google-Präsentationen | 10 MB beim Export aus Google Workspace |
HTML-Datei | 10 MB |
JSON-Datei | 1 MB |
Markdown-Datei | 10 MB |
Microsoft PowerPoint-Folien (PPTX-Datei) | 10 MB |
Microsoft Word-Dokumente (DOCX-Datei) | 10 MB |
PDF-Datei | 50 MB |
Textdatei | 10 MB |
Die Verwendung von LlamaIndex in Vertex AI für RAG mit anderen Dokumenttypen ist möglich, kann jedoch Antworten von geringerer Qualität generieren.
Unterstützte Datenquellen
Es werden drei Datenquellen unterstützt:
Ein Upload einer einzelnen Datei mit
upload_file
(bis zu 25 MB), das ein synchroner Aufruf ist.Importieren Sie Datei(en) aus Cloud Storage.
Importieren Sie ein Verzeichnis aus Google Drive.
Dem Dienstkonto müssen die erforderlichen Berechtigungen zum Importieren von Dateien gewährt werden. Andernfalls werden keine Dateien importiert und keine Fehlermeldung angezeigt. Weitere Informationen zu Dateigrößenbeschränkungen finden Sie unter Unterstützte Dokumenttypen.
So authentifizieren und erteilen Sie Berechtigungen:
- Rufen Sie die Seite "IAM" Ihres Google Cloud-Projekts auf.
- Wählen Sie Von Google bereitgestellte Rollenzuweisung einschließen aus.
- Suchen Sie nach dem Dienstkonto Vertex AI RAG Data Service Agent.
- Klicken Sie im Drive-Ordner auf Freigeben und geben Sie es für das Dienstkonto frei.
- Gewähren Sie dem Dienstkonto in Ihrem Google Drive-Ordner oder Ihrer Datei die Berechtigung
Viewer
. Die Google Drive-Ressourcen-ID finden Sie in der Web-URL.
Weitere Informationen finden Sie in der RAG API-Referenz.
Unterstützte Datentransformationen
Nachdem ein Dokument aufgenommen wurde, führt LlamaIndex in Vertex AI für RAG eine Reihe von Transformationen für eine optimale Qualität aus. Außerdem gibt es Parameter, die Entwickler für ihre Anwendungsfälle steuern können.
Zu diesen Parametern gehören:
Parameter | Beschreibung |
---|---|
chunk_size |
Wenn Dokumente in einen Index aufgenommen werden, werden sie in Blöcke unterteilt. Der Parameter chunk_size (in Tokens) gibt die Größe des Blocks an. Die standardmäßige Blockgröße beträgt 1.024 Tokens. |
chunk_overlap |
Standardmäßig werden Dokumente in Blöcke unterteilt, mit einem gewissen Grad an Überschneidungen, um die Relevanz und die Abrufqualität zu verbessern. Die standardmäßige Blocküberschneidung beträgt 200 Tokens. |
Eine kleinere Blockgröße bedeutet, dass die Einbettungen genauer sind. Ein größerer Block bedeutet, dass die Einbettungen allgemeiner sein können, aber bestimmte Details nicht erfasst werden.
Wenn Sie beispielsweise 200 Wörter statt 1.000 Wörter in ein Einbettungsarray derselben Dimension umwandeln, gehen möglicherweise Details verloren. Dies ist auch ein gutes Beispiel für die Berücksichtigung der Längenbeschränkung für Modellkontexte. Ein großer Block passt möglicherweise nicht in ein Modell mit kleinen Fenstern.
Abrufparameter
Die folgende Tabelle enthält die Abrufparameter:
Parameter | Beschreibung |
---|---|
similarity_top_k |
Steuert die maximale Anzahl von Kontexten, die abgerufen werden. |
vector_distance_threshold |
Es werden nur Kontexte mit einer kleineren Entfernung als der Grenzwert berücksichtigt. |
Indexverwaltung
Ein Korpus ist eine Sammlung von Dokumenten oder eine Informationsquelle. Diese Sammlung wird auch als Index bezeichnet. Der Index kann dann abgefragt werden, um relevante Kontexte für die LLM-Generierung abzurufen. Wenn Sie einen Index zum ersten Mal erstellen, kann der Vorgang eine zusätzliche Minute dauern. Wenn Sie mehr Indexe innerhalb desselben Google Cloud-Projekts erstellen, dauert der Vorgang weniger Zeit.
Die folgenden Indexvorgänge werden unterstützt:
- Korpus erstellen: Erstellen Sie einen Index zum Importieren oder Hochladen von Dokumenten.
- Korpus löschen: Löschen Sie den Index.
- Details eines Korpus abrufen: Ruft die Metadaten ab, die den Index beschreiben.
- Korpus in einem bestimmten Projekt auflisten: Listet mehrere Indexe in einem bestimmten Projekt auf.
Gleichzeitige Vorgänge für Korpora werden nicht unterstützt. Weitere Informationen finden Sie in der RAG API-Referenz.
Dateiverwaltung
Die folgenden Dateivorgänge werden unterstützt:
- Datei aus dem lokalen Speicher in einen Korpus hochladen: Laden Sie eine Datei mit zusätzlichen Informationen hoch, die Kontext liefern, dem LLM, um genauere Antworten zu generieren.
- Datei(en) aus einem anderen Speicher in einen Korpus aufnehmen: Importieren Sie eine Gruppe von Dateien von einem Speicherort.
- Details einer Datei abrufen: Rufen Sie relevante Kontexte für eine bestimmte Abfrage aus einem Index oder bestimmten Dateien im Index ab.
- Dateien in einem Korpus auflisten: Generiert eine Liste der Dateien im Index.
- Datei aus einem Korpus löschen: Datei aus dem Index entfernen.
Weitere Informationen finden Sie in der RAG API-Referenz.
Nächste Schritte
- Generative KI für Vertex AI.
- Weitere Informationen zu Fundierung und deren Beziehung zu LlamaIndex in Vertex AI für RAG.
- Weitere Informationen zur Retrieval-Augmented Generation API
- Weitere Informationen zur RAG-Architektur. Infrastruktur für eine RAG-fähige generative KI-Anwendung mit Vertex AI