Skip to content

Multimindbot is a chatbot designed to help users find specific content without having to search through the entire website. It is specially tailored for the college admission counseling process and keeps a record of the chat history for the current session. The entire chatbot is created using Rag-langchain and Streamlit.

License

Notifications You must be signed in to change notification settings

neha13rana/Multimindbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multimindbot

Multimindbot is a chatbot designed to help users find specific content without having to search through the entire website. It is specially tailored for the college admission counseling process and keeps a record of the chat history for the current session. The entire chatbot is created using Rag-langchain and Streamlit. The language model used is Llama2, which is open source, instead of using the API key for the LLM, compared with GPT-3.5, GooglePalm, and Ollama. Llama2 provides accurate results. For the desired output generation, I use prompt engineering. Additionally, if a user has a specific query on a document, they can choose the option to chat with the chatbot or to discuss the uploaded document and subsequently inquire about the query based on the content of their document.


Used technology in the project:

  1. Langchain
  2. LLM (Llama-2-7B-Chat-GGUF)
  3. Prompt Engineering
  4. Huggingface
  5. streamlit

Final output of the model : (English model)

image

image

image

image

image

image

image

Question - Answer with chathistory : (With streamlit localhost)

image

image

image

image

WhatsApp Image 2024-07-03 at 18 50 28_2e9a2957

WhatsApp Image 2024-07-03 at 23 26 19_a1e6d120


Model Architecture :

langchain1 drawio


About the model development :

  1. Data collection : Gather all the relevant data of the LLM application in our case we collected data from the ACPC and the ACPDC sites and made question-and-answer pairs in the documents.( https://gujacpc.admissions.nic.in/ ,https://gujdiploma.admissions.nic.in/)

  2. Data cleaning: Cleaning the sentences and the text in the document for accurate result.

  3. RAG -Langchain :

  1. Data loader: loaders deal with the specific of accessing and converting the data. (In our case it is a csv file and other files related to the acpc and acpdc.)

  2. Document splitting: splitting the main document into several smaller chunks (for retaining meaningful relationships). There are many types of document splitter but we use a character splitter that looks at characters.

  3. Embedding: Embedding vector captures meaning, text with similar content will have similar vectors.

  4. Vector Store

  5. Retriever: for accessing/ indexing the data in the vector store (we use similarity among the 3 types check for MMR)

  6. Prompt: retrievalQA chain, takes the question from the user and passes to the LLM. (stuff chain type - It takes a list of documents, inserts them all into a prompt, and passes that prompt to an LLM. This chain is well-suited for applications where documents are small and only a few are passed in for most calls.

  7. LLM: LLMs are advanced AI systems that can perform tasks such as language translation, text completion, summarization, and conversational interactions. They work by analyzing large amounts of language data and are pre-trained on vast amounts of data.

Chathistory, memory: Conversationalbuffermemory: keeps a list, and buffer of chat messages in history and it’s going to pass those along with the question.

Deliverables :

  1. Get all the latest updates, admission details, and counseling support in one place, so you won't have to search through multiple links.
  2. Save time by avoiding the hassle of browsing through various sources for relevant information.
  3. Choose your preferred language for seamless communication, ensuring suitability and ease of understanding.
  4. Receive quick and effective support for admission and counseling queries, enhancing productivity.

Steps to use this website :

  1. Download the project folder.
  2. set the environment in your code editor's CMD by writing !(python -m venv venv) then write !(venv\Scripts\activate) if it is installed.
  3. install requirements.txt by writing !(pip install -r requirements.txt)
  4. then write this command to run the app !(streamlit run app.py)

About

Multimindbot is a chatbot designed to help users find specific content without having to search through the entire website. It is specially tailored for the college admission counseling process and keeps a record of the chat history for the current session. The entire chatbot is created using Rag-langchain and Streamlit.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages