Bird
Raised Fist0
LangChainframework~10 mins

Directory loader for bulk documents in LangChain - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to import the DirectoryLoader class from langchain.document_loaders.

LangChain
from langchain.document_loaders import [1]
Drag options to blanks, or click blank then click option'
ATextLoader
BFileLoader
CDirectoryLoader
DBulkLoader
Attempts:
3 left
💡 Hint
Common Mistakes
Using FileLoader instead of DirectoryLoader
Trying to import a non-existing class BulkLoader
2fill in blank
medium

Complete the code to create a DirectoryLoader instance for the folder 'docs'.

LangChain
loader = DirectoryLoader([1])
Drag options to blanks, or click blank then click option'
A'docs'
B'files'
C'documents'
D'data'
Attempts:
3 left
💡 Hint
Common Mistakes
Using a wrong folder name
Forgetting quotes around the folder name
3fill in blank
hard

Fix the error in the code to load documents from the directory using the loader.

LangChain
documents = loader.[1]()
Drag options to blanks, or click blank then click option'
Afetch
Bload_data
Cload_documents
Dload
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'load_documents()' which does not exist
Using 'fetch()' which is incorrect
4fill in blank
hard

Fill both blanks to filter only '.txt' files and load them from the directory.

LangChain
loader = DirectoryLoader('docs', glob='[1]')
documents = loader.[2]()
Drag options to blanks, or click blank then click option'
A*.txt
B*.pdf
Cload
Dload_files
Attempts:
3 left
💡 Hint
Common Mistakes
Using '*.pdf' to filter text files
Using 'load_files()' which is not a method
5fill in blank
hard

Fill all three blanks to create a DirectoryLoader for '.md' files in 'notes', load documents, and print the count.

LangChain
loader = DirectoryLoader('[1]', glob='[2]')
docs = loader.[3]()
print(len(docs))
Drag options to blanks, or click blank then click option'
Anotes
B*.md
Cload
Dload_all
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong folder name
Using '*.txt' instead of '*.md'
Using 'load_all()' which does not exist

Practice

(1/5)
1. What is the main purpose of the DirectoryLoader in Langchain?
easy
A. To convert documents into text format
B. To save documents to a directory
C. To load multiple documents from a folder at once
D. To create a new directory for documents

Solution

  1. Step 1: Understand DirectoryLoader's role

    The DirectoryLoader is designed to read many files from a folder in one go.
  2. Step 2: Compare options with this role

    Only To load multiple documents from a folder at once describes loading multiple documents from a folder, matching DirectoryLoader's purpose.
  3. Final Answer:

    To load multiple documents from a folder at once -> Option C
  4. Quick Check:

    DirectoryLoader loads many files = A [OK]
Hint: DirectoryLoader reads many files from a folder at once [OK]
Common Mistakes:
  • Confusing loading with saving files
  • Thinking it converts file formats
  • Assuming it creates directories
2. Which of the following is the correct way to specify a glob pattern to load only text files using DirectoryLoader?
easy
A. glob='*.txt'
B. glob='text/*'
C. glob='**/*.doc'
D. glob='*.pdf'

Solution

  1. Step 1: Understand glob pattern for text files

    The pattern '*.txt' matches all files ending with .txt in the directory.
  2. Step 2: Evaluate each option

    glob='*.txt' correctly uses '*.txt' to select text files. Others select different or incorrect file types.
  3. Final Answer:

    glob='*.txt' -> Option A
  4. Quick Check:

    Use '*.txt' to pick text files [OK]
Hint: Use '*.txt' to select text files with glob [OK]
Common Mistakes:
  • Using folder names instead of file patterns
  • Using wrong file extensions
  • Confusing recursive patterns with simple glob
3. Given the code snippet:
loader = DirectoryLoader('docs', glob='*.md')
docs = loader.load()

What will docs contain?
medium
A. A list of all markdown (.md) documents in the 'docs' folder
B. A single markdown document from the 'docs' folder
C. An error because glob pattern is incorrect
D. A list of all files in 'docs' regardless of extension

Solution

  1. Step 1: Analyze DirectoryLoader usage

    The DirectoryLoader is set to load files from 'docs' folder with glob '*.md', meaning markdown files only.
  2. Step 2: Understand load() output

    The load() method returns a list of documents matching the glob pattern, so docs will be a list of markdown files.
  3. Final Answer:

    A list of all markdown (.md) documents in the 'docs' folder -> Option A
  4. Quick Check:

    load() returns list of files matching glob [OK]
Hint: load() returns list of files matching glob pattern [OK]
Common Mistakes:
  • Expecting a single document instead of a list
  • Assuming glob pattern is ignored
  • Thinking load() returns file paths instead of documents
4. What is wrong with this code snippet?
loader = DirectoryLoader('files', glob='*.txt')
docs = loader.load
medium
A. Incorrect glob pattern for text files
B. Missing parentheses after load method call
C. DirectoryLoader requires absolute path only
D. load method does not exist in DirectoryLoader

Solution

  1. Step 1: Check method call syntax

    The load method must be called with parentheses: load()
  2. Step 2: Verify other parts

    Glob pattern '*.txt' is correct, DirectoryLoader accepts relative paths, and load() method exists.
  3. Final Answer:

    Missing parentheses after load method call -> Option B
  4. Quick Check:

    Method calls need () to execute [OK]
Hint: Remember to add () when calling methods [OK]
Common Mistakes:
  • Forgetting parentheses on method calls
  • Assuming glob pattern is wrong
  • Thinking DirectoryLoader needs absolute paths
5. You want to load all PDF and text files from a folder named 'resources' using DirectoryLoader. Which code snippet correctly achieves this?
hard
A. loader = DirectoryLoader('resources', glob='*.pdf;*.txt')
B. loader = DirectoryLoader('resources') docs = loader.load() # loads all files
C. loader = DirectoryLoader('resources', glob='*.pdf|*.txt') docs = loader.load()
D. loader = DirectoryLoader('resources', glob='*.pdf') loader2 = DirectoryLoader('resources', glob='*.txt') docs = loader.load() + loader2.load()

Solution

  1. Step 1: Understand glob pattern limitations

    DirectoryLoader's glob does not support multiple patterns separated by ';' or '|'.
  2. Step 2: Check each option

    loader = DirectoryLoader('resources', glob='*.pdf') loader2 = DirectoryLoader('resources', glob='*.txt') docs = loader.load() + loader2.load() loads PDFs and text files separately and combines results, which works correctly. loader = DirectoryLoader('resources') docs = loader.load() # loads all files loads all files but not filtered. Options A and C use invalid glob patterns.
  3. Final Answer:

    loader = DirectoryLoader('resources', glob='*.pdf') loader2 = DirectoryLoader('resources', glob='*.txt') docs = loader.load() + loader2.load() -> Option D
  4. Quick Check:

    Use separate loaders for multiple file types [OK]
Hint: Use separate loaders and combine for multiple file types [OK]
Common Mistakes:
  • Trying to use multiple patterns in one glob string
  • Assuming glob supports ';' or '|' separators
  • Loading all files without filtering
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard