Compendium Keeper est un outil qui indexe les données de recueil (générées par Compendium Scribe) dans une base de données vectorielle (comme Pinecone) pour les flux de travail de génération (RAG) (RAG) de la récupération de la puissance.
.compendium.pickle et .compendium.xml . git clone https://github.com/yourusername/compendiumkeeper.git
cd compendiumkeeperAssurez-vous que PDM a installé. Puis courez:
pdm install Créez un fichier .env dans le répertoire racine du projet pour stocker vos touches et votre configuration API. Vous pouvez utiliser le .env.example fourni comme modèle.
.env Fichier # .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 Renommez .env.example à .env et remplacez les valeurs d'espace réservé par vos clés API réelles.
compendium-scribe-create-compendium --domain " Cell Biology " Cela produit des fichiers comme cell_biology_2024-12-05.compendium.pickle et cell_biology_2024-12-05.compendium.xml .
Utilisez l'option --compendium-file pour spécifier le fichier Compendium (Pickle ou XML).
Vous devez également spécifier le nom de l'index de la base de données vectorielle à l'aide de l'option --index-name .
Assurez-vous que votre fichier .env est correctement configuré avec les touches API nécessaires.
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_indexAprès une exécution réussie, vous devriez voir un message de confirmation indiquant le nombre de concepts indexés.
Indexed 25 concepts from domain 'Cell Biology' into index 'my_knowledge_index'.
Indexing complete!
Pour créer une seule base de connaissances qui s'étend sur plusieurs compendia, répétez le processus d'indexation pour chaque recueil, en utilisant le même --index-name .
Par exemple:
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_knowledgeCela fusionnera les connaissances de plusieurs compendia dans le même indice de base de données vectorielle.
vector_db/ .utils.py pour personnaliser comment les intégres sont générés ou traités. Configurer des variables d'environnement
Créez un fichier .env comme décrit ci-dessus.
Générer un recueil
Utilisez Compendium Scribe pour générer un recueil au format Pickle ou XML.
Index avec un gardien de recueil
Exécutez la commande d'indexation pour télécharger des incorporations dans la base de données vectorielle choisie.
Clés API manquantes
Assurez-vous que votre fichier .env contient toutes les clés API requises. La CLI vous informera si elle manque.
Vector DB non pris en charge
Actuellement, seule Pinecone est prise en charge. Pour ajouter la prise en charge d'une autre base de données vectorielle, implémentez une nouvelle classe dans vector_db/ Adhering à la classe de base abstraite VectorDatabase .
Problèmes de format de fichier
Assurez-vous que le --compendium-file que vous fournissez se termine dans .compendium.pickle ou .compendium.xml . Les fichiers avec d'autres extensions ne sont pas pris en charge.
Limites de taux d'API
Soyez conscient des limites du taux de l'API d'Openai lors de l'indexation de grands compendies. Envisagez de mettre en œuvre un lot ou une limitation des taux si nécessaire.
Les contributions sont les bienvenues! N'hésitez pas à ouvrir un problème ou à soumettre une demande de traction.
Compendium Keeper est libéré sous la licence du MIT.