Biblos allows semantic search and summarization of Bible passages using state-of-the-art NLP techniques:
- Vector search over the entire Bible text using Chroma and Instructor-XL embeddings
- Summarization of search results using Anthropic's Claude large language model
This enables powerful semantic search over biblical texts to find related passages, along with high quality summaries of the relationships between verses on a given topic.
- Semantic search over the entire Bible text
- Summarization of search results using Claude LLM
- Web UI built with Streamlit for easy exploration
- Leverages Chroma for vector search over Instructor-XL embeddings
- Modular design allowing swapping of components like DB, embeddings, LLM etc.
Biblos follows a RAG (Retrieval Augmented Generation) architecture:
- Bible text is indexed in a Chroma vector database using sentence embeddings
- User searches for a topic, and relevant passages are retrieved by semantic similarity
- Top results are collated and passed to Claude to generate a summarization
This enables combining the strengths of dense vector search for retrieval with a powerful LLM for summarization.
The UI is built using Streamlit for easy exploration, with Python code modularized for maintainability.
To run Biblos locally:
- Install requirements
- Download and preprocess Bible text into a Chroma database
- Launch the Streamlit app:
pip install -r requirements.txt
python create_db.py
streamlit run app.py
Biblos leverages the following open source projects:
- Langchain - Building LLMs through composability
- Chroma - Vector similarity search
- Anthropic - Claude summarization model
- Instructor-XL Embeddings - Text embeddings
- Streamlit - Web UI