Compendium Keeper es una herramienta que indexa los datos de Compendium (generados por Compendium Scribe) en una base de datos de vectores (como Pinecone) a flujos de trabajo de generación (RAG) de recuperación de energía.
.compendium.pickle y .compendium.xml Formatos de archivo. git clone https://github.com/yourusername/compendiumkeeper.git
cd compendiumkeeperAsegúrese de tener PDM instalado. Luego corre:
pdm install Cree un archivo .env en el directorio raíz del proyecto para almacenar sus claves y configuración API. Puede usar el .env.example provisto como plantilla.
.env archivo # .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 Cambiar el nombre .env.example a .env y reemplace los valores del marcador de posición con sus claves API reales.
compendium-scribe-create-compendium --domain " Cell Biology " Esto produce archivos como cell_biology_2024-12-05.compendium.pickle y cell_biology_2024-12-05.compendium.xml .
Use la opción --compendium-file para especificar el archivo de Compendium (Pickle o XML).
También debe especificar el nombre del índice de la base de datos de vector utilizando la opción --index-name .
Asegúrese de que su archivo .env esté configurado correctamente con las claves API necesarias.
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_indexDespués de una ejecución exitosa, debe ver un mensaje de confirmación que indique el número de conceptos indexados.
Indexed 25 concepts from domain 'Cell Biology' into index 'my_knowledge_index'.
Indexing complete!
Para crear una única base de conocimiento que abarque múltiples compendios, repita el proceso de indexación para cada compendio, utilizando el mismo --index-name .
Por ejemplo:
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_knowledgeEsto fusionará el conocimiento de los compendios múltiples en el mismo índice de base de datos vectorial.
vector_db/utils.py para personalizar cómo se generan o procesan los incrustaciones. Configurar variables de entorno
Cree un archivo .env como se describió anteriormente.
Generar un compendio
Use el escriba Compendium para generar un compendio en encurtido o formato XML.
Índice con guardián de compendio
Ejecute el comando de indexación para cargar incrustaciones en su base de datos vectorial elegida.
Llaves de API faltantes
Asegúrese de que su archivo .env contenga todas las claves API requeridas. La CLI le notificará si falta alguno.
Vector DB no compatible
Actualmente, solo es compatible con Pinecone. Para agregar soporte para otra base de datos vectorial, implementa una nueva clase en vector_db/ Adhying a la clase base abstracta VectorDatabase .
Problemas de formato de archivo
Asegúrese de que el --compendium-file que proporcione termina en .compendium.pickle o .compendium.xml . Los archivos con otras extensiones no son compatibles.
Límites de tasa de API
Tenga en cuenta los límites de velocidad de API de OpenAI al indexar grandes compendios. Considere la implementación de lotes o limitación de tasas si es necesario.
¡Las contribuciones son bienvenidas! No dude en abrir un problema o enviar una solicitud de extracción.
Compendium Keeper se libera bajo la licencia MIT.