Readit News logoReadit News
Posted by u/j-b 2 years ago
Show HN: Biblos – Semantic Bible Embedded Vector Search and Claude LLMgithub.com/dssjon/biblos...
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!

cout · 2 years ago
Playing with this a bit more, and it is very cool!

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.

j-b · 2 years ago
Interesting insights, currently using the WEB translation, and plan to expand further. Thanks for the bug report!
Zancarius · 2 years ago
The Berean Standard Bible[1] provides their Bible and its translation tables under the public domain[2]. It's a pretty readable translation, too, but I don't remember off-hand what formats they provide. I believe they also have an interlinear (partial, NT only). There is also a version based on the Majority Text[3].

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/

cout · 2 years ago
WEB is a solid translation. Good choice.
dragonwriter · 2 years ago
> Concerning Roman Catholic theology, it did not seem to know what the immaculate conception is, and instead wandered aimlessly.

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.

deckar01 · 2 years ago
It was interesting talking to my father, a former Christian minister, about AI. ChatGPT interactions had instilled some misconceptions and it was difficult to convince him that its responses were just cleverly weighted randomness. It produced compelling theological debate. I told him not to trust any chat bot unless it could cite verifiable sources, and when prompted ChatGPT could only fabricate. Trust eroded.

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.

actionfromafar · 2 years ago
On the other hand, this is exactly the kind of application I think AI/LLM/GPT-whatever could prove extremely useful in.

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.

drekipus · 2 years ago
The issue is the limited corpus and lack of external context.

Any of the output should only be suggestions to base off further research, and a big disclaimer that this is only logical Inference

viraptor · 2 years ago
> In the end there was still just too much cultural and historical context missing

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.

Minor49er · 2 years ago
This is a cool project. I have a few suggestions that would really make this into a powerful tool:

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

j-b · 2 years ago
My first release used the KJV! The vector DB includes metadata (book, chapter, verse), working towards optionally rendering those. I like the idea of including multiple translations (with side by side comparisons). I'm limited to public domain texts for storage but I can query the ESV API after retrieval. Good idea about commentaries. Thanks for your input!
Turing_Machine · 2 years ago
One thing to keep in mind here: the KJV is still under copyright in the UK (and possibly other members of the Commonwealth). It's safe to use in other countries, but not there (although I gather it's rarely enforced).

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.

civilitty · 2 years ago
After playing around with it for a few minutes, all of the results scored between 0.5 and 0.8 even when using nonsense queries like "interdimensional cable" and "eat my plumbus" which is a sign that the model you're using for embeddings is very poorly tuned for cosine similarity for your use case.

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.

j-b · 2 years ago
Thanks for the feedback - this particular model is BAAI/bge-large-en-v1.5. What alternative embeddings would you recommend?
civilitty · 2 years ago
Sadly I can't help much here. In my experience you have to create test cases and experiment with different models (a LOT). Some general thoughts in no specific order:

- 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.

rolisz · 2 years ago
That's a known issue with the BGE embeddings, the authors warn about that in the model card. Their recommendation is to choose more carefully the thresholds for similarity (which will be much higher than for other embeddings)
civilitty · 2 years ago
I've experienced the same issue with OpenAI and InstructorXL embeddings in certain cases so I think it's a rather common failure mode for embedding models.
swatcoder · 2 years ago
Interesting concept/research-project, but the results to just about every query I tried seem inaccurate and perplexing. Assuming the "similarity score" is meaningful, you may want to raise the cutoff or add an indicator (different color, fade, etc) for passages that get surfaced with a low match.
j-b · 2 years ago
I like your idea about the color indicators. Have you tried searching a topic, e.g. "Kingdom of Heaven", rather than the default "What did Jesus say about .." prompt? Depending on the context, it may significantly improve the results.
otabdeveloper4 · 2 years ago
I apologize, upon reflection I do not feel comfortable summarizing or interpreting passages in this manner.

It's censored. Looks like you need to build your own LLM unless you want some developer's thinly veiled opinion.

j-b · 2 years ago
The full bible text is embedded and searchable. The response from Anthropics Claude LLM API returns non-deterministic results, though!
msylvest · 2 years ago
Some years ago I was wondering what the words 'There is a balm in Gilead' means. Spent hours googling, both in English and Danish (my native lang). Found Jer 8:22 "Is there no balm in Gilead; is there no physician there?" and inferred that Jeremiah must have associated Gilead's balm with (glorified?) healing processes.

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?

seanhunter · 2 years ago
I'm really loving this concept. I'm going to finetune an LLM based on a bunch of scripture, collate as many hallucinations as I can and go start my own religion.
valyagolev · 2 years ago
I asked this one about homosexuality, it didn't find the most glaring passages from Leviticus.

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.

linuxdude314 · 2 years ago
It’s sort of amusing to me how you feel your analysis is more correct than sentence-transformers or whichever embedding algorithm was used.

I think to most people it’s pretty obvious you are trying to make the algorithm fit your bias/preconceived ideas.

valyagolev · 2 years ago
Excited for the next 100 years for this AI-related equivalent of "you got the wrong result, because your query is slightly not exactly the way system expects it to be".

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

bugglebeetle · 2 years ago
It’s sort of amusing to me that you think sentence-transformers is better at semantic similarity than just about any human. This is hardly an example of bias, but a perfect example of the limits of a design meeting real-world user testing. To quote the joke/meme:

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.

dragonwriter · 2 years ago
The usually cited “most glaring” passages in Leviticus (Lev 18:22, Lev 20:13), read strictly literally, don’t condemn homosexuality per se, but both partners in a male homosexual act where one of them also engages heterosexual sex.

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.)

chris_st · 2 years ago
> The usually cited “most glaring” passages in Leviticus (Lev 18:22, Lev 20:13), read strictly literally, don’t condemn homosexuality per se, but both partners in a male homosexual act where one of them also engages heterosexual sex.

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?

olalonde · 2 years ago
None of the translations say that: https://biblia.com/bible/esv/leviticus/20/13

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.

TehShrike · 2 years ago
It's not wrong to be skeptical of translations – in such cases I usually like to start by pulling up the original words and checking out the definitions, ala https://biblehub.com/text/leviticus/18-22.htm

Doesn't help with the grammar, but it's a very accessible way to get some accountability for the translations.

esafak · 2 years ago
Can someone link to some relevant passages?
froh · 2 years ago
please look up two things:

"clobber passages" and "LGBT+ friendly affirming Christian ressources"

notrsponsible · 2 years ago
Did you ask it whether God created pregnancy by rpw and inquest?

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)?

zarathustreal · 2 years ago
There is a single answer to all of these questions:

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

all2 · 2 years ago
If you read through the first 8 chapters of Genesis, you'll see that in the beginning God's creation was perfect, without any of the evil you reference.

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.

notrsponsible · 2 years ago
Additional religion-related LLM prompts to test:

Why did God spend 5.5 times longer on creating a world of suffering?