Description
A RAG chatbot, with LangChain and MongoDB Atlas, with tailored responses and document uploads through AI generation and knowledge retrieval.
npx boilerapp mongodb-rag-appDocumentación
RAG Based Chat-bot using Langchain and MongoDB Atlas
This starter template implements a Retrieval-Augmented Generation (RAG) chatbot using LangChain and MongoDB Atlas. RAG combines AI language generation with knowledge retrieval for more informative responses. LangChain simplifies building the chatbot logic, while MongoDB Atlas' Vector database capability provides a powerful platform for storing and searching the knowledge base that fuels the chatbot's responses.
Setup
Prerequisites
Before you begin, make sure you have the following ready:
-
MongoDB Atlas URI: Setup your account if you don't already have one (Create Account)
-
OpenAI API Key (https://platform.openai.com/api-keys)
Steps to Deploy
Follow the below-mentioned steps to deploy the app on Vercel.
Step 1: Click below to navigate to the deployment page
Step 2: Add Environment Variables
Populate the values of the ENV variables mentioned below
OPENAI_API_KEY = "<YOUR_OPENAI_KEY>" # API Key copied from the OpenAI portal
MONGODB_URI = "<YOUR_MONGODB_URI>" # Connection URI to MongoDB Instance (This should be automatically created after MongoDB Atlas integration)
Step 3: Deploy
Once you have updated the above values, go ahead and click deploy to deploy the app. Wait for the app to be deployed and start serving traffic.
Step 4: Upload PDF files to create chunks
Head to the Train tab and upload a PDF document.
If everything is deployed correctly, your document should start uploading to your cluster under the chatter > training_data collection.
Your data should now start appearing as below in the collection.
Step 5: Create Vector Index on Atlas
Now for the RAG (QnA) to work, you need to create a Vector Search Index on Atlas so the vector data can be fetched and served to LLMs.
Create a search index as below.
-
Let’s head over to our MongoDB Atlas user interface to create our Vector Search Index. First, click on the “Search” tab and then on “Create Search Index.” You’ll be taken to this page (shown below). Please click on “JSON Editor.”
-
Next input the values as shown in the below image and create the Vector.
{ "fields": [ { "numDimensions": 1536, "path": "text_embedding\
Prix
Gratuit