Compendium Keeper는 Compendium 데이터 (Compendium Scribe에 의해 생성)를 벡터 데이터베이스 (Pinecone)에 색인화하여 RAG (Resprieval-Augmented Generation) 워크 플로우를 전원으로 인덱싱하는 도구입니다.
.compendium.pickle 및 .compendium.xml 파일 형식을 모두 처리합니다. git clone https://github.com/yourusername/compendiumkeeper.git
cd compendiumkeeperPDM이 설치되었는지 확인하십시오. 그런 다음 실행 :
pdm install 프로젝트의 루트 디렉토리에 .env 파일을 작성하여 API 키 및 구성을 저장하십시오. 제공된 .env.example 템플릿으로 사용할 수 있습니다.
.env 파일 # .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.example .env 로 바꾸고 자리 표시 자 값을 실제 API 키로 바꾸십시오.
compendium-scribe-create-compendium --domain " Cell Biology " 이것은 cell_biology_2024-12-05.compendium.pickle 및 cell_biology_2024-12-05.compendium.xml 과 같은 파일을 생성합니다.
--compendium-file 옵션을 사용하여 개요 파일 (피클 또는 XML)을 지정하십시오.
또한 --index-name 옵션을 사용하여 벡터 데이터베이스 색인 이름을 지정 해야합니다 .
필요한 API 키로 .env 파일이 올바르게 구성되어 있는지 확인하십시오.
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_index성공적인 실행 후에는 색인 수를 나타내는 확인 메시지가 표시됩니다.
Indexed 25 concepts from domain 'Cell Biology' into index 'my_knowledge_index'.
Indexing complete!
다중 개조에 걸쳐있는 단일 지식 기반을 만들려면 동일한 --index-name 사용하여 각 개론의 인덱싱 프로세스를 반복하십시오.
예를 들어:
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_knowledge이렇게하면 여러 개 Compendia의 지식을 동일한 벡터 데이터베이스 인덱스로 병합합니다.
vector_db/ 디렉토리에서 새로운 클래스를 구현하여 다른 벡터 데이터베이스 (예 : Weaviate, ChromADB)를 지원할 수 있습니다.utils.py 수정하거나 확장하여 임베딩이 생성 또는 처리되는 방법을 사용자 정의합니다. 환경 변수를 설정합니다
위에서 설명한대로 .env 파일을 만듭니다.
개요를 생성하십시오
Compendium Scribe를 사용하여 피클 또는 XML 형식의 개요를 생성하십시오.
Compendium Keeper와 색인
인덱싱 명령을 실행하여 선택한 벡터 데이터베이스에 임베딩을 업로드하십시오.
API 키 누락
.env 파일에 필요한 모든 API 키가 포함되어 있는지 확인하십시오. CLI는 누락 된 경우 알려줍니다.
지원되지 않는 벡터 DB
현재 Pinecone 만 지원됩니다. 다른 벡터 데이터베이스에 대한 지원을 추가하려면 VectorDatabase Abstract Base Class에 부수적 vector_db/ 새로운 클래스를 구현하십시오.
파일 형식 문제
제공하는 --compendium-file 이 .compendium.pickle 또는 .compendium.xml 로 끝나는지 확인하십시오. 다른 확장자가있는 파일은 지원되지 않습니다.
API 요율 제한
큰 개요를 색인화 할 때 OpenAI의 API 요율 제한을 염두에 두십시오. 필요한 경우 배치 또는 속도 제한 구현을 고려하십시오.
기부금을 환영합니다! 자유롭게 문제를 열거나 풀 요청을 제출하십시오.
Compendium Keeper는 MIT 라이센스에 따라 릴리스됩니다.