Dear Eric
Thanks for bringing the RAG pipeline to the attention of the community. I
actually came to know about it from your earlier post on RAG dated March 1,
2024, and was trying to play with a RAG pipeline by using all open source
tools like LlamaIndex-based PrivateGPT, Qdarnt as a vector database, and
open source LLMs like mistral-7b-instruct-v0.2.Q4_K_M.gguf (as quantized
GGUF formatted models are more friendly for a CPU-based system like my
laptop), Orca, etc.
Today I tried with the journal articles you referred to in your earlier
post and using in your current system (around 135 articles, mainly from CRL
and ITAL) to upload, index, and retrieve them in my local RAG pipeline. And
then came a very thought-provoking post from Simon critically studying this
new RAG system, which actually came into existence to reduce two big issues
of LLM, like hallucinations and out-of-date non-contextual responses. It
seems hallucination is an inherent feature of LLM, even when contextualized
through a RAG pipeline.
However, one interesting point to be mentioned here is the effect of prompt
engineering on a RAG pipeline. When I ask the same questions as Simon did
on the same set of documents in a similar kind of pipeline with prompt
engineering, the result shows some differences (see additional system
prompt in the snapshot):
[image: image.png]
Regards
Parthasarathi
Parthasarathi Mukhopadhyay
Professor, Department of Library and Information Science,
University of Kalyani, Kalyani - 741 235 (WB), India
On Wed, May 8, 2024 at 10:07 PM Eric Lease Morgan <
[log in to unmask]> wrote:
> On May 8, 2024, at 11:20 AM, Simon Hunt <[log in to unmask]> wrote:
>
> > I thought you might be interested in a few tests I tried out- they reveal
> > some interesting hallucinations and misalignment of expectations. Of
> > course, I don't know the content of the 136 articles you used, so this
> > might also demonstrate how the chatbot attempts to answer questions that
> > fall outside of scope.
> >
> > My input:
> >
> >> Please recommend three recent articles that discuss how to catalog
> musical
> >> scores.
> >
> > It confidently gave me three articles that don't exist (that is, based on
> > searching my own library catalog and Google Scholar), from three authors
> > that don't exist (as far as I could tell), then provided four references
> > that have nothing to do with cataloging musical scores.
> >
> > In a new session, I tried a more controversial topic:
> >
> >> List the ways that current classification systems reflect a culture of
> >> white supremacy
> >
> > The answer suggests that it self-censored due to the sensitive topic (I
> > assume there are guardrails behind the scenes). The titles and
> publication
> > dates of the references, while real, suggest to me that they aren't
> likely
> > to contain much information on the topic of white supremacy in
> > classification systems (though again, without knowing the sources you
> used,
> > they might represent the closest matches).Finally, as a follow-up in the
> same session, I asked
> >
> >> What are the most recent articles on the topic of classification and
> white
> >> supremacy?
> >
> > Like the first answer, the reply is decent, but if the articles
> referenced
> > below it actually discuss what the answer claims, the titles sure don't
> > suggest it. The bot also loves the article *Cataloging Theory in Search
> of
> > Graph Theory and Other Ivory Towers* -- it also referenced that in a
> > colleague's question about subject headings.
> >
> > In short, it seems like the effect RAG is having is to provide real
> > articles as references, but it isn't clear how/if those articles have any
> > content that lines up with the chatbot's output.
> >
> > --
> > Simon Hunt
> > Director, Automation, Indexing & Metadata
>
>
> Simon, thank you for the feedback, and my short reply is, "Yes!"
>
> There are many characteristics going into the process of indexing
> ("vectorizing") a collection and then providing a generative-AI inteface
> against the index. Some of them include:
>
> * creating a collection - What set of content is to be queried? In this
> case, I created a collection of 136 articles on cataloging.
>
> * curating the collection - This mean providing some context, and I
> provided authors, titltes, dates, and file names. Curating the collection
> really helps when it comes to addressing questions and supporting
> information literacy issues.
>
> * indexing - This is the process of vectorizing each document and caching
> the result. This process can be accomplished through the use of a model or
> through the use of a tradtional database. The process is not trivial.
>
> * prompt engineering - On the surface, these chatbots seem to take
> anything as input, but under the hood the inputs are reformulated to create
> "prompts". Different models use different prompts. Many of the mis-steps
> outlined above could be avoided by better prompt engineering on my part.
>
> * generation - My demonstrations use a model called Llama2 to formulate
> the response. Other models are better at generating structured data like
> JSON, CSV, etc. Other models are better at outputing software -- Python
> scripts. I believe the results of my demonsdtration would be better if I
> were to use ChatGPT, but I'm unwilling to spend the money; I like open
> source software and making sure everything is computed locally, not
> remotely.
>
> Alignment? RAG works like this:
>
> 1. vectorize ("index") content
> 2. get query and vectorize it too
> 3. identify content having a similar vector as the query
> 4. give the generating model (ex: Llama2) both the query
> as well as the similar content to create the response,
> and the reponse works similarly to autosuggest on your
> telephone, but only on steroids
>
> Simon, many of the things you outline can be improved, and my hopes is
> that they will be. "Software is never done, and if it were, then it would
> be called 'hardware'." Again, thank you.
>
> P.S. This morning I created a different chatbot, and this time it is
> rooted in the works of Jane Austen:
> https://e7053a831a40f92a86.gradio.live/
>
> --
> Eric Morgan
> University of Notre Dame
>
|