Compendium Keeper ist ein Tool, das Kompendiumdaten (von Compendium Scribe generiert) in eine Vektordatenbank (wie Pinecone) zur Stromversorgung von RAG (RAG) (wie Pinecone) indexiert.
.compendium.pickle und .compendium.xml -Dateiformate. git clone https://github.com/yourusername/compendiumkeeper.git
cd compendiumkeeperStellen Sie sicher, dass Sie PDM installiert haben. Dann rennen:
pdm install Erstellen Sie eine .env -Datei im Stammverzeichnis des Projekts, um Ihre API -Schlüssel und Konfiguration zu speichern. Sie können das bereitgestellte .env.example als Vorlage verwenden.
.env -Datei # .env.example
# OpenAI API Key for generating embeddings
OPENAI_API_KEY = sk-your-openai-api-key
# Pinecone API Key and Environment
PINECONE_API_KEY = your-pinecone-api-key
PINECONE_ENVIRONMENT = us-east-1-aws .env .env.example
compendium-scribe-create-compendium --domain " Cell Biology " Dies erzeugt Dateien wie cell_biology_2024-12-05.compendium.pickle und cell_biology_2024-12-05.compendium.xml .
Verwenden Sie die Option --compendium-file , um die Kompendiumdatei (Gurke oder XML) anzugeben.
Sie müssen auch den Vektor-Datenbank-Indexnamen mit der Option --index-name angeben.
Stellen Sie sicher, dass Ihre .env -Datei ordnungsgemäß mit den erforderlichen API -Schlüssel konfiguriert ist.
pdm run compendium-keeper index --compendium-file cell_biology_2024-12-05.compendium.pickle --index-name my_knowledge_indexpdm run compendium-keeper index --compendium-file cell_biology_2024-12-05.compendium.xml --index-name my_knowledge_indexNach einer erfolgreichen Ausführung sollten Sie eine Bestätigungsnachricht sehen, die die Anzahl der indizierten Konzepte angibt.
Indexed 25 concepts from domain 'Cell Biology' into index 'my_knowledge_index'.
Indexing complete!
Um eine einzelne Wissensbasis zu erstellen, die mehrere Kompendien umfasst, wiederholen Sie den Indexierungsprozess für jedes Kompendium mit demselben --index-name .
Zum Beispiel:
pdm run compendium-keeper index --compendium-file django_2024-12-10.compendium.pickle --index-name all_python_knowledge
pdm run compendium-keeper index --compendium-file flask_2024-12-10.compendium.xml --index-name all_python_knowledgeDadurch wird das Wissen aus mehreren Kompendien in denselben Vektor -Datenbankindex zusammengefasst.
vector_db/ Verzeichnis implementiert werden.utils.py , um anzupassen, wie Einbetten generiert oder verarbeitet werden. Umgebungsvariablen einrichten
Erstellen Sie eine .env -Datei wie oben beschrieben.
Ein Kompendium erzeugen
Verwenden Sie Compendium Scribe, um ein Kompendium im Gurken- oder XML -Format zu generieren.
Index mit Compendium Keeper
Führen Sie den Indexierungsbefehl aus, um Einbettung in Ihre ausgewählte Vektor -Datenbank hochzuladen.
Fehlende API -Schlüssel
Stellen Sie sicher, dass Ihre .env -Datei alle erforderlichen API -Schlüssel enthält. Die CLI benachrichtigt Sie, wenn etwas fehlt.
Nicht unterstützter Vektor db
Derzeit wird nur Tinecone unterstützt. Um Unterstützung für eine andere Vektor -Datenbank hinzuzufügen, implementieren Sie eine neue Klasse in vector_db/ Halten in die VectorDatabase abstrakte Basisklasse.
Dateiformatprobleme
Stellen Sie sicher, dass die von Ihnen anbieten Sie in entweder in .compendium.pickle --compendium-file .compendium.xml endet. Dateien mit anderen Erweiterungen werden nicht unterstützt.
API -Ratengrenzen
Achten Sie auf die API -Ratengrenzen von OpenA, wenn große Kompendien indiziert werden. Erwägen Sie bei Bedarf die Implementierung von Chargen oder Ratenbegrenzung.
Beiträge sind willkommen! Fühlen Sie sich frei, ein Problem zu eröffnen oder eine Pull -Anfrage einzureichen.
Compendium Keeper wird unter der MIT -Lizenz freigelassen.