Karriereportfolio -Lag -Assistent
Ein RAG-System (Abruf-Augmented Generation), das es natürliche Sprachabfragen von Karriereportfolio-Daten ermöglicht, die in Begriffsdatenbanken gespeichert sind. Das System nutzt Llamaindex und OpenAIs Einbettung/LLM -Dienste, um intelligente Antworten über Berufserfahrung, Projekte und Fähigkeiten zu liefern.
Überblick
Dieses System besteht aus zwei Hauptkomponenten:
ETL -Pipeline : Extrahiert Daten aus Begriffsdatenbanken, verarbeitet sie in Einbettung und speichert sie in einer Vektordatenbank
Abfrageschnittstelle : Eine streamlitische Webanwendung, die die Interaktion der natürlichen Sprache mit den Portfoliodaten ermöglicht
Schlüsselmerkmale
- Intelligente natürliche Sprachabfrage von Portfolio -Daten
- Dual-Index-Architektur (Text und Schlüsselwörter) für ein verbessertes Abruf
- Echtzeit-Antwort-Streaming
- Debugug -Panel für Transparenz in den Lag -Prozess
- Beispielabfragen zur Demonstration von Funktionen
- Konfigurierbar durch Umgebungsvariablen
Projektstruktur
Kerndateien
notion_data_etl.ipynb : jupyter Notebook zum Extrahieren und Verarbeitung von Begriffsdaten
- Behandelt Authentifizierungs- und Datenbankverbindungen
- Verarbeitet Dokumente in Text- und Schlüsselwortknoten
- Erstellt Vektorindizes für ein effizientes Abruf
streamlit_app_rag.py : Hauptwebanwendungsschnittstelle
- Implementiert die Lag -Assistent UI
- Verwaltet Chat -Geschichte und Debugg -Ausgabe
- Griff Echtzeit-Antwort-Streaming
prompts.py : Enthält Systemaufforderungen für:
- Kontexteinstellung für die LLM
- Keyword -Extraktion
Schlüsselkomponenten
NICKIONPROCESSOR -Klasse
Eine umfassende Datenverarbeitungsklasse, die:
- Extrahiert Daten aus den Begriffsdatenbanken
- Griff verschachtelte Inhaltsstrukturen
- Verarbeitet Text und Metadaten
- Unterstützt mehrere Extraktionsmodi (Header, Ganz, körnig)
Ragapp -Klasse
Die Hauptantragsklasse, die:
- Verwaltet die optimale Schnittstelle
- Griffe Chat -Interaktionen
- Bietet Debugging -Funktionen
- Unterbewahrung des Sitzungszustands
Anforderungen an die Einrichtung
Umgebungsvariablen
NOTION_TOKEN=your_notion_api_token
NOTION_PROJECTS_DATABASE_ID=notion_database_id_for_projects
NOTION_EXPERIENCE_DATABASE_ID=notion_database_id_for_experiences
QDRANT_URL=your_qdrant_url
QDRANT_API_KEY=your_qdrant_api_key
OPENAI_API_KEY=your_openai_api_key
Abhängigkeiten
- Python 3.10+
- Llamaindex
- Openai
- Straffung
- Qdrant
- Begriff API -Client
Verwendung
- Richten Sie die Umgebungsvariablen ein
- Führen Sie das ETL -Notebook aus, um Begriffsdaten zu verarbeiten
- Führen Sie die Streamlit -App aus, um mit den Daten zu interagieren
streamlit run streamlit_app_rag.py
Architektur
Das System verwendet eine Dual-Index-Architektur:
- Textindex : Speichert vollständige Inhalte für ein detailliertes Abrufen
- Schlüsselwortindex : Speichert extrahierte Schlüsselwörter für eine verbesserte semantische Übereinstimmung
Abfragen werden über beide Indizes bearbeitet, um umfassende und genaue Antworten zu liefern.
Debug -Funktionen
Das System enthält ein umfassendes Debug -Panel, das zeigt:
- Abfrageberechnungsschritte
- Abrufprozessdetails
- Antwortgenerierung
- Fehler oder Warnungen