Chatbot application utilizing Retrieval-Augmented Generation (RAG) to provide fact-based and medically relevant advice based on the user's questions. Built with practitioner and medical professional use in mind.
Developer
ToolsReact, Next.js, TypeScript, OpenAI, Pinecone, Tailwind, Drizzle ORM, Clerk
The concept for this application stemmed from a series of court cases in which professionals were facing consequences for their misuse of language learning models (LLMs) in their work; the core of these problems were rooted in an issue called hallucinations. These AI hallucinations were caused by the model misinterpreting patterns in their learning data to output incorrect information or, in some instances, complete nonsense.
This concept led me to a question: how do we make sure we receive accurate and trustworthy data from language learning models? Upon researching this topic, I stumbled across the concept of Retrieval-Augmented Generation, or RAG. This process introduces an authoritative, personalized, and factual knowledge base to pull information and context from outside of the LLMs training data.
In blueBird, the user had the opportunity to ask a medically-relevant question. When this occurred, blueBird would semantically search a database of medical literature to find the closest match to the user's question. Once a source was found, blueBird would create a 'stream' that had access to the relevant piece of medical literature to the given question. The use of streams in this instance solved a key issue in which the model would have to unnecessarily search for irrelevant questions, optimizing efficiency.
After the stream was created, blueBird would generate an answer to the given question using the source that was provided. After this, the user could go further and ask follow up and clarifying questions to the model that was using the provided source. Users could also delete streams or favorite them for quick access in a list.
Another option that was given to the user was the ability to not only get the information of the article that was being used as a source, but the ability to change what source was being used by the model as well. The ability to access the source of the information being given by the LLM is a huge advantage, because it gives users the ability to fact check and verify the information from the original source and not solely rely on the LLM.
Although the application is not currently running, you can find the key concepts of blueBird built out in my GitHub repository.