Introducing Biblos, a simple tool for semantic search and summarization of Bible passages. Leveraging Chroma for vector search with BAAI BGE embeddings, semantically find related verses across the Bible. The tool employs Anthropic's Claude LLM model for generating high-quality summaries of retrieved passages, contextualizing your search topic. Built on a Retrieval Augmented Generation (RAG) architecture, the app implements a simple Streamlit Web UI using Python. Deployed using render.com, the app is available at https://biblos.app
Note: Search by just topic/keywords, e.g. "Kingdom of Heaven", for broader results!
One thing I like is that it provides the source text, so you can verify whether the summary is accurate. Other engines just give you an answer, leaving you to verify accuracy on your own as a separate step. But I wonder which translation it uses?
Wondering if it has a bias toward any particular theology, I tried some controversial terms.
The program gave an accurate defense of the five points of calvinism, but when I asked about dispensationalism, the verses it gave were less relevant than I hoped. On the other hand, it did give relevant results for Arminianism. On predestination, however, it missed Romans 9 but instead returned passages from Ecclesiastes and Galatians 4.
Concerning Roman Catholic theology, it did not seem to know what the immaculate conception is, and instead wandered aimlessly. It did know what purgatory is, but I expected to see 1 Cor. 13 and instead it returned passages from Job and Ecclesiastes.
Concerning Orthodox theology, it did not seem to know what the word filioque means. This isn't a word found in the bible, but neither is calvinism nor trinity, which it did know. It also knew iconostasis, though I am not qualified to judge whether it explained it accurately.
I was impressed that it knows what a gift economy is; I don't think this is a term I would expect to see in a typical commentary.
It did not feel comfortable commenting on facebook, but when I asked about the internet, the summary explained that we should only be judged by God and not our friends, and also warned against adulturous women. It was more positive about an information superhighway, returning results about sharing knowledge and being honest.
A bug: if I click Summarize before the search is complete, I get a different response than if I wait for the runner to stop running and then click Summarize.
Not sure if this is something that might be of interest to you, but I've been using this occasionally in Logos and rather enjoy it.
[1] https://berean.bible/
[2] https://berean.bible/licensing.htm
[3] https://majoritybible.com/
Catholics don't believe sola scriptura, which is a fairly recent Protestant doctrine, instead viewing scripture and sacred tradition as pillars of faith, and the Immaculate Conception is a dogma originating in sacred tradition, not scipture.
So its not surprising that a textual search of the Bible (even if using a text that Catholics would use, which I don't think this does) would whiff hard on this.
In consolation I sat up a vector index of The Works of Josephus (his interest at the time) and a StableBeluga chatbot. It answered questions fairly well, but most importantly supplied the references that were used as context. In the end there was still just too much cultural and historical context missing to be a useful alternative to scholarly analysis.
A model could be retrained and finetuned and corrected and double-checked on a limited corpus, until it would be able to discuss and explain something very very well in a particular subject.
Such things could be used in education, I imagine. Like an extra, never tiring teacher.
Any of the output should only be suggestions to base off further research, and a big disclaimer that this is only logical Inference
This was my first thought when seeing the project. How well do we expect LLMs to work for text where words often don't have their normal meaning, half the things shouldn't be taken literally, and we have lots of contradictions? This feels like it should have way more warnings than ChatGPT itself.
Add the verse numbers in the results and turn them into links so that the full passages can be read
Include other translations, especially the KJV and Greek interlinear, since those are still widely used and referenced. Different churches have particular reasons for using the versions that they've chosen, and cross-examining translations is highly important in Bible study
Include optional commentaries as search sources since those can lend a lot of insight into different passages, even serving as cross-references to other related passages
While copyrights for most things in the UK expire after a time, the same as other countries, that historically has not been true for works produced under the aegis of the Crown. In the case of the KJV, King James paid for the translation, so it falls under Crown Copyright.
As the saying goes, "It's good to be the King".
I think some Crown Copyright works are going to fall out of copyright in 2040, but I'm not sure if that includes the KJV.
A little fine tuning would probably go a long way since the embeddings are likely trained mostly on a nonreligious corpus in the modern tongue. It might also be overfitted so trying smaller models might also help.
- InstructorXL is my favorite embedding model because it has a two part input, sort of like a system prompt, that you can use to qualify the user input without modifying it yourself. You can experiment with using different system prompts on the initial embeddings and the user prompt. You can also use a bunch of different system prompts and weigh their scores, average them, add them, etc.
- You can start with qualitative test cases like the obvious Leviticus prohibitions and see what the range of scores are like before you create automated test cases and evaluations. Find one of those bibles where one side is the original King James translation and the other side is in modern English to use for more complex pairings.
- If that doesn't lead to an obvious winner, you may need to create a dataset for fine tuning. Make sure the dataset includes lots of negative examples too - cosine similarity scores should have a range of -1 to 1 to be most useful. Maybe take some important verses and change them to the opposite meaning ("thou shall not" => "thou shall") to create those negatives. Split your fine tuning data set into different categories so you can experiment with different combinations (i.e. the aforementioned autogenerated opposite pairs might really hurt the fine tuning because they're too similar).
- You can probably fine tune it using a completely synthetic dataset using GPT-3.5/4 to do all the work. It's "aware" of the concept of vector embeddings and the training data format so it can create positive and negative pairs for you based on your instructions. You can probably find some sort of ranking of the most important passages (say most quoted or something) and feed those to a prompt to generate tons of pairs quickly.
It's censored. Looks like you need to build your own LLM unless you want some developer's thinly veiled opinion.
So as a test I asked this service 'what is balm in Gilead' and it returned 4 other Bible sentences. Pressed 'Summarize', which unfolded comments on the 4 sentences and a summary of
'Overall, these passages present Gilead as a contested but fertile region east of the Jordan river. It was prized territory that was given to several Israelite tribes and seen as a divine provision. The name "Gilead" means "hill of testimony" referring to its choice lands. So the metaphor of "balm in Gilead" signifies the healing, restoration, and provision God can bring even in difficult times.'
My key observations:
1) The overall summary highly matches my own interpretations
2) Jer 8:22 was not referred - possibly because it does not define the concept, it just refers to its meaning
3) Inferring the summary from the 4 sentences is not easy but apparently AI can do so
I have a question on the generation of the overall summary: Is it based on on the 4 sentences only or does it include other biblical text behind the scenes?
This is a common thing for vector similarity search. I wonder if there's a solution already. I thought about giving the query to an LLM to reformulate in the database-relevant way before embedding it.
I think to most people it’s pretty obvious you are trying to make the algorithm fit your bias/preconceived ideas.
ChatGPT knows a good answer to the question even without embeddings. But this particular tool can't replicate it, and says e.g. "In summary, these verses highlight sexual ethics and various sins in general, but do not uniformly condemn or condone homosexuality specifically." (which is not wrong, it's just the wrong verses found). (It gives a different summary on different tries)
This is a common problem with embedding search. Obviously, the other traditional techniques would be even worse. But I'd love the systems to be better, and I propose a potential solution, and ask for other ones. I will not be content with your "put up with AI idiosyncrasies and weaknesses, as if they were the real actual conceptual limitation of knowledge" approach. AI has potential to create great UI, but your attitude won't help with that
A software tester walks into a bar.
Runs into a bar.
Crawls into a bar.
Dances into a bar.
Flies into a bar.
Jumps into a bar.
And orders:
a beer.
2 beers.
0 beers.
99999999 beers.
a lizard in a beer glass.
-1 beer.
"qwertyuiop" beers.
Testing complete.
A real customer walks into the bar and asks where the bathroom is.
The bar goes up in flames.
Condemnation of homosexuality is a popular gloss or rationalization of this, wierdly common among literalists, but, I mean, Leviticus condemns mixing fibers, and has plenty of rules that apply to only one gender, I don't see why we shouldn't take its condemnation of specifically men mixing gay and straight sex literally, too. (And maybe also take Acts 15 literally as to which part of the ancient Mosaic law applies to non-Jewish Christians, and not worry about that rule however we gloss it, since it concerns neither pollution from idols, unlawful marriage, blood, or the meat of strangled animals.)
Curious how you get that interpretation out of those texts? From "Do not have sexual relations with a man as one does with a woman; that is detestable", I read "as one does with a woman", as an analogy. Do you have reason to read it otherwise?
It's pretty black and white that the Bible condemns homosexuality, there is no rationalization required.
The rationalization is the other way around. Many Christians no longer believe that homosexuality is wrong and they are faced with having to abandon the Bible as a guide for morality or coming up with complex interpretive efforts to align the text with modern moral perspectives.
Of course, most Christians chose the latter option or abandon the Old Testament, which is almost impossible to defend by modern moral standards, and stick with the New Testament which is a bit more vanilla.
Doesn't help with the grammar, but it's a very accessible way to get some accountability for the translations.
"clobber passages" and "LGBT+ friendly affirming Christian ressources"
Did God create "the products of inqest will suffer for their parents' sins"? Is God then Just or Benevolent?
Did God create a world of suffering after creating heaven?
Did God will that we would all be products of the inquest of Adam and Eve? Why did Cain harm Abel, and why was the third child fine?
Did God create Heaven? Did God create Hell? Did God create "taking babies from their crying mothers actually levels them up out of the world of suffering"; did God create death and suffering?
How could we give due process to the accused 2000+ years ago, and why don't religious text specify equal due process (or even hand-washing before delivering babies)?
Isaiah 55:8-9
"For my thoughts are not your thoughts, neither are your ways my ways," declares the LORD. "As the heavens are higher than the earth, so are my ways higher than your ways and my thoughts than your thoughts."
In other words, don't try to comprehend something you have no chance of comprehending
Then you'll see that because humans are intrinsically human, this idea of sin, a disease if you will, infects all of existence and the clock of entropy begins to wind down. And now humans know the difference between good and evil, and with that knowledge comes the ability to choose evil.
> inquest of Adam and Eve
Hear me out; God created genetically perfect humans at the beginning, capable of yielding all the variety we see today (and more, who knows how many branches of humanity have been completely wiped out through the years). It wasn't until the Mosaic law was handed down that what we call "incest" was outlawed. I will presume that this was about the time that genetic diversity had narrowed to the point of producing overly damaged offspring.
> Did God create heaven?
Yes.
> Did God create hell?
That depends on which one you're talking about. He created all but one hell. The one He didn't create is merely His absence.
> Did God create "taking babies from their crying mothers actually levels them up out of the world of suffering"; did God create death and suffering?
By one man sin entered the world. The answer is no, God did not create these things.
Why did God spend 5.5 times longer on creating a world of suffering?