성경을 RAG Database로 구축한 프로젝트: Cross Canon
Show HN: Bible as RAG Database
TL;DR Highlight
성경 전체를 RAG(검색 증강 생성) 데이터베이스로 인덱싱해 주제나 키워드로 관련 성경 구절을 의미론적으로 검색할 수 있는 웹 서비스다. 종교 텍스트에 RAG를 적용한 실용적 예시로, 유사한 프로젝트를 만들려는 개발자에게 참고가 된다.
Who Should Read
RAG 파이프라인을 처음 구현해보고 싶거나 대용량 텍스트 코퍼스를 의미론적으로 검색 가능하게 만들려는 백엔드/풀스택 개발자. 종교 텍스트나 고전 문헌을 다루는 도메인 특화 검색 서비스를 기획 중인 개발자에게도 유용하다.
Core Mechanics
- Cross Canon은 성경 전체를 벡터 임베딩으로 인덱싱해서, 단순 키워드 매칭이 아니라 '주제'나 '개념' 단위로 관련 구절을 찾아주는 의미론적 검색 서비스다.
- 검색 대상 텍스트는 World English Bible(WEB)의 개신교(Protestant)와 가톨릭(Catholic) 정경을 모두 지원하며, 기본값은 개신교 정경이다.
- 사용자는 검색할 정경(Protestant/Catholic)과 특정 책(예: 창세기, 로마서 등)을 지정할 수 있고, 책을 비워두면 전체 정경을 대상으로 검색한다.
- 실제 검색 테스트에서 'government'를 검색하면 로마서 13장처럼 예상되는 결과뿐 아니라, 다니엘서와 에스라에서 정부 관리의 칙령을 묘사하는 구절도 함께 나오는 등 의미적으로 관련된 다양한 결과가 나왔다.
- 'giants'를 검색했을 때 네피림이나 골리앗처럼 잘 알려진 인물 외에도 성경 전반에 걸쳐 등장하는 '거인' 관련 구절이 더 많이 발굴됐다는 사용자 경험이 공유됐다.
Evidence
- 비슷한 접근으로 꾸란(Quran)과 하디스(Hadith), 알라의 이름까지 인덱싱한 유사 프로젝트(reminder.dev)가 소개됐다. OpenAI 임베딩을 사용해 구축했고 오픈소스로 공개돼 있다.
- 개신교·가톨릭 외에 에티오피아 정경까지 포함하고, 드롭다운으로 정교회(Orthodox) 등 다양한 정경 세트를 선택할 수 있게 해야 더 완성도 있을 것이라는 의견이 있었다.
- 속도가 느리다는 피드백이 있었다. 이에 대해 GTR-T5 같은 로컬 임베딩 모델을 사용하면 임베딩 생성 단계가 최초 1회만 실행되므로 비용 없이 빠른 임베딩을 생성할 수 있다는 팁이 공유됐다. 또한 lume(github.com/deepbluedynamics/lume)라는 도구를 코드 참조에 활용할 수 있다는 제안도 나왔다.
- 3대 종교(기독교·이슬람·유대교)의 경전 구절을 서로 비교 검색하는 유사 프로젝트(crazy.church)도 공유됐는데, Cloudflare Vectorize를 임베딩 DB로 사용했다고 밝혔다.
- WEB 외에도 공정 이용(fair use)이 가능한 다양한 성경 번역본이 crosswire.org/sword에 있다는 정보가 제공됐고, 코드 공개 여부에 대한 질문도 있었지만 명확한 답변은 없었다.
How to Apply
- 고전 문헌이나 법령집, 기술 문서처럼 방대한 텍스트 코퍼스를 주제 단위로 검색해야 하는 경우, 이 프로젝트처럼 전체 텍스트를 벡터 임베딩으로 인덱싱하고 의미론적 유사도 검색을 구성하면 키워드 검색 대비 훨씬 풍부한 결과를 얻을 수 있다.
- OpenAI 임베딩 API 비용이 부담된다면, reminder.dev 사례처럼 GTR-T5 같은 로컬 오픈소스 임베딩 모델을 사용해 최초 1회만 인덱싱하는 방식으로 비용 없이 구축할 수 있다.
- 멀티 도메인 텍스트(예: 여러 종교 경전 비교, 각국 법률 비교)를 한 시스템에서 검색하고 싶다면, crazy.church 사례처럼 Cloudflare Vectorize를 임베딩 DB로 활용해 각 텍스트 셋을 별도로 인덱싱하고 드롭다운으로 검색 범위를 전환하는 UI를 구성할 수 있다.
- 종교·고전·법률처럼 저작권이 있는 텍스트를 다룰 때는 crosswire.org/sword처럼 공정 이용(fair use) 또는 퍼블릭 도메인 텍스트 소스를 먼저 확인하면 라이선스 문제 없이 RAG 데이터베이스를 구축할 수 있다.
Terminology
관련 논문
Haystack: 프로덕션 수준의 AI Agent와 RAG를 위한 오픈소스 프레임워크
deepset이 만든 오픈소스 AI 오케스트레이션 프레임워크로, LangChain의 대안으로 주목받고 있으며 모듈형 파이프라인 방식으로 RAG·Agent·멀티모달 앱을 프로덕션까지 구축할 수 있다.
Elasticsearch로 만든 Agent 영구 메모리 레이어 - R@10 0.89 달성기
AI 에이전트가 세션이 끝나도 사용자 정보를 기억할 수 있도록 Elasticsearch 위에 구축한 멀티테넌트 장기 메모리 시스템 아키텍처 공개. 168개 질문 기준 R@10 0.89, 테넌트 간 데이터 누출 0건을 달성한 구체적인 구현 방법을 담았다.
TAHOE: 경험 기반 자동 Hint 최적화를 통한 Text-to-SQL 시스템
LLM이 SQL 생성 실패에서 배운 힌트를 재사용 가능한 Hint Bank로 쌓아, 모델 재학습 없이 Snowflake 방언 SQL 정확도를 대폭 끌어올리는 시스템.
FAISS 내부 동작 원리: 10억 개 벡터 유사도 검색
FAISS가 수십억 개 벡터를 빠르게 검색하는 핵심 알고리즘인 IVF(파티셔닝)와 Product Quantization(압축)을 시각적으로 설명한 글로, RAG나 벡터 검색 시스템을 구축하는 개발자에게 내부 동작 원리를 이해시켜 준다.
Airbyte Agents – 여러 데이터 소스를 아우르는 Agent용 Context Layer
Airbyte가 Slack, Salesforce, Linear 등 여러 SaaS 시스템의 데이터를 미리 인덱싱해서 Agent가 API를 일일이 뒤지지 않아도 되는 Context Store를 출시했다. 기존 MCP 방식보다 토큰을 최대 90%까지 줄이는 효과를 확인했다.
Polynomial Autoencoder가 Transformer Embedding에서 PCA를 능가하는 방법
PCA 인코더에 2차 다항식 디코더를 붙여서 닫힌 형태(closed-form)로 embedding 압축 품질을 크게 개선하는 기법으로, SGD 없이 numpy만으로 구현 가능하다.