Get startedGet started for free

Loading Documents for RAG with LangChain

1. Loading Documents for RAG with LangChain

Hello, everyone!

2. Meet your instructor...

I'm Meri Nova, a Machine Learning Engineer, founder at Break Into Data, and content creator. Welcome to this course on RAG with LangChain!

3. Retrieval Augmented Generation (RAG)

Large language models, or LLMs, have become integrated in many of the systems and applications that we interact with in our day-to-day lives. One of their key limitations is that their knowledge base is constrained by what was included in their training data. In this course, we will explore how Retrieval Augmented Generation, or RAG, allows us to overcome this by integrating external data sources into LLM applications.

4. The standard RAG workflow

This works by

5. The standard RAG workflow

embedding user queries

6. The standard RAG workflow

to retrieve relevant documents

7. The standard RAG workflow

and incorporating them into the model's prompt.

8. The standard RAG workflow

RAG provides extra context for more informed LLM responses. This method is commonly used to provide more relevant answers to users based on company's external proprietary data.

9. Preparing data for retrieval

To enable a RAG workflow, we need to set up our data sources for retrieval, which starts with loading the documents to build up the knowledge base,

10. Preparing data for retrieval

splitting them into chunks to be processed,

11. Preparing data for retrieval

and creating numerical representations from text called embeddings.

12. Preparing data for retrieval

These embeddings, or vectors, are stored in a vector database for future retrieval. In this video, we'll start with loading documents with LangChain.

13. Document loaders

LangChain document loaders facilitate the integration of documents into AI systems. These loaders handle various file types, including standard formats like CSV and PDFs, as well as specialized formats supported by third-party providers, such as Amazon S3 files, Jupyter notebooks, and audio transcripts. In this video, we'll cover how to use document loaders to import CSV, PDF, and HTML files into LangChain.

14. Loading CSV Files

Let's start by loading CSV files using the CSVLoader. Here's a quick example: we instantiate the CSVLoader class, passing it the path to the CSV file we want to load, assigning the result to csv_loader. To load these documents into memory, we call the .load() method on the document loader. Each document has .page_content and .metadata attributes to access the respective data.

15. Loading PDF Files

Next, we'll use the PyPDFLoader to load PDF files. PDFs are a commonly used document format that can store text and images. Like CSVLoader, this class takes a file path to create the document loader and has a .load() method to load the document into memory. We're starting to see a pattern here!

16. Loading HTML Files

Lastly, we'll look at loading HTML files using UnstructuredHTMLLoader. HTML files can be tricky due to their complex and highly nested structure, but this LangChain class simplifies the process. Loading the documents into memory, and viewing the page content and metadata of the first document, we can see that the HTML tags used to structure the page have been removed, leaving only the plain text.

17. Let's practice!

Now that we've covered the basics of loading documents with LangChain, it's time to practice!

Create Your Free Account

or

By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.