Biblos - 의미론적 성경 검색 및 다층적 분석
Biblos는 최첨단 NLP (자연어 처리) 기술과 역사적 주석을 활용하여 성경 텍스트의 의미론적 검색(Semantic search) 및 심층 분석을 수행하는 정교한 도구입니다:
- Chroma 및 instructor-large 임베딩(embeddings)을 사용한 성경 전체 텍스트에 대한 의미론적 검색
- Anthropic의 Claude 거대 언어 모델 (LLM)을 사용한 검색 결과 요약
- 포괄적인 문맥 파악을 위한 장(Chapter) 전체 보기
- 원어 통찰을 위한 그리스어 신약 성경 텍스트 및 Dodson Greek Lexicon 통합
- 역사적 신학 관점을 위한 교부(Church Fathers)들의 주석 포함
이 강력한 조합은 관련 구절을 찾기 위한 성경 텍스트의 의미론적 검색뿐만 아니라, 원어 연구 및 역사적 해석을 포함한 다층적 분석을 가능하게 합니다.
특징 (Features)
- 성경 전체 텍스트에 대한 의미론적 검색
- 더 넓은 문맥을 위한 장(Chapter) 전체 보기 옵션
- 관련 구절에 대한 그리스어 신약 성경 텍스트 표시
- Dodson Greek Lexicon의 그리스어 단어 정의
- 역사적 통찰을 위한 교부 주석 통합
- Claude LLM을 사용한 검색 결과 요약
- 쉬운 탐색을 위해 Streamlit으로 구축된 Web UI
- instructor-large 임베딩에 대한 벡터 검색을 위해 Chroma 활용
- DB, 임베딩, LLM 등의 구성 요소를 교체할 수 있는 모듈형 설계
아키텍처 (Architecture)
Biblos는 강화된 RAG (Retrieval Augmented Generation, 검색 증강 생성) 아키텍처를 따릅니다:
- 성경 텍스트는 문장 임베딩 (sentence embeddings)을 사용하여 Chroma 벡터 데이터베이스 (vector database)에 인덱싱됩니다.
- 사용자가 주제를 검색하면 의미론적 유사성 (semantic similarity)에 따라 관련 구절이 검색됩니다.
- 상위 결과가 표시되며, 전체 장 보기 및 그리스어 텍스트 (신약 구절의 경우) 옵션이 제공됩니다.
- 그리스어 단어는 Dodson Greek Lexicon의 정의와 연결됩니다.
- 관련 교부 (Church Fathers) 주석이 검색되어 표시됩니다.
- 선택된 결과들이 수집되어 Claude로 전달되어 요약 (summarization)을 생성합니다.
이 아키텍처는 검색을 위한 밀집 벡터 검색 (dense vector search)과 다층적인 문맥 정보 (contextual information), 그리고 요약을 위한 강력한 LLM (Large Language Model)을 결합합니다.
UI는 쉬운 탐색을 위해 Streamlit으로 구축되었으며, 유지보수를 위해 Python 코드가 모듈화되었습니다.
Biblos 실행하기
로컬에서 Biblos를 실행하려면:
- 요구 사항 설치
pip install -r requirements.txt
- 임베딩 모델을 다운로드하고 성경 텍스트를 Chroma 데이터베이스로 전처리합니다 (선택 사항 -- 이를 다시 생성하지 않는다면 애플리케이션과 함께 제공되는 기본 임베딩 데이터베이스를 사용할 수 있습니다)
cd data
python create_db.py
python create_commentary_db.py
...
참고: 이 작업은 시간이 오래 걸릴 수 있습니다 (M1 Macbook Pro 기준으로 성경 텍스트에 약 18분 소요되며, 주석 처리에 추가 시간이 소요됨)
- Anthropic API Key를 확보하여 환경 변수
ANTHROPIC_API_KEY로 설정합니다.
export ANTHROPIC_API_KEY ***your_api_key***
- Streamlit 앱을 실행합니다:
사용법
- 텍스트 입력 필드에 검색 쿼리(search query)를 입력합니다.
- 검색 옵션을 조정합니다:
- 구약 (Old Testament) 및/또는 신약 (New Testament) 선택
- 전체 장 (Full Chapter) 보기 토글
- 교부 (Church Fathers) 주석 활성화
- 그리스어 신약 (Greek NT) 및 사전 (Lexicon) 표시 활성화
- 성경 검색 결과 개수 조정
- 검색 결과를 확인하고, 더 자세한 내용을 보려면 섹션을 확장합니다.
- 신약 (New Testament) 결과의 경우, 그리스어 텍스트와 단어 정의를 확인합니다.
- 활성화된 경우 교부 (Church Fathers)의 주석을 탐색합니다.
- "Summary" 버튼을 사용하여 결과의 요약본을 생성합니다.
Credits
Biblos는 다음과 같은 오픈 소스 프로젝트와 리소스를 활용합니다:
License
이 프로젝트는 Creative Commons Attribution-NonCommercial 4.0 International License에 따라 라이선스가 부여됩니다.