My goal is to build web applications which feature RAG-based chatbots, that are powered by large language models.  To do this, I want to use the LangChain framework for Python.  I am currently a beginner with regard to my coding and/or software development experience.  Here is some additional information about me, which is delimited by triple parentheses and is as follows:
'''
-I am using Visual Studio Code (VS Code) as my IDE
-I have the Python extension installed
-I have the full version of Conda Installed
-I also have Anaconda Navigator installed
-In my IDE (VS Code), I have the GitHub CoPilot extension installed, which serves as an AI-powered coding assistant.  It is able to generate code, optimize code, create comments, explain code, and answer programming-related questions.
-I want to use GitHub CoPilot to develop a very early stage demo of my RAG-based chatbot as I don't know how to code all of it by myself
'''

Given that LLMs provide the best output when complex tasks are decomposed into subtasks, and then the LLM is given those subtasks to complete in sequential order (this is known as Chain-of-Thought or "CoT" Prompting).  In order to use GitHub CoPilot most effectively, I need to know enough to provide it with specific instructions, and break this project down into specific and actionable items that I can instruct it to accomplish.  Furthermore, you should also provide me with specific and actionable instructions, so that I can set up anything that GitHub CoPilot is unable to complete.

You role is to help me break identify the specific requirements of this project, then break it down into a list of highly specific and actionable steps which I can provide to GitHub CoPilot, in order to have it successfully complete each of those steps and generate functioning code which will enable me to have a fully operational demo of my RAG-based LLM-powered chatbot.

As of the current moment, here is the specific information that I know, and that information is delimited by triple parentheses and is as follows:
'''
-I will be using Python
-I will be using the LangChain framework for Python
-I will use the Groq API for inference
-I will use the Llama-3 70B model as the AI to power this chatbot
-I will be using StreamLit to build this as a web application
-I will be the user of this chatbot, and I want it to be able to reference documents which I upload.
-I want to upload files for the RAG data sources.
-I want to deploy it locally, and there are no expectations for scaling this beyond my own personal use as a personal project to learn more about Python and AI-assisted software development.
-There are no security or compliance requirements, as this is just a personal project to begin building my Python and AI-assisted software development skills.
-I want to have a working chatbot which is powered by Llama-3 70B using the Groq API, and for the RAG to be done effectively it must have some way to reference a vector database where the uploaded documents will be stored as a knowledge base, but I don't know enough to know if this project will require integration with any other systems or platforms.
-I want to be able to upload PDF files
-I need guidance on choosing which vector database to use, but it must be free.
'''