| What is LangChain? |
| Why was LangChain created? |
| What are the main components of LangChain? |
| What problems does LangChain solve? |
| What are the core abstractions in LangChain? |
| What is an LLM in LangChain? |
| What is a Chat Model in LangChain? |
| What is the difference between an LLM and a Chat Model? |
| What is a prompt in LangChain? |
| What is a PromptTemplate? |
| What is a ChatPromptTemplate? |
| What is a SystemMessage in LangChain? |
| What is a HumanMessage in LangChain? |
| What is an AIMessage in LangChain? |
| What is message history in LangChain? |
| What is output parsing in LangChain? |
| What is a StrOutputParser? |
| What is structured output in LangChain? |
| How do you generate JSON output using LangChain? |
| How do you validate LLM output in LangChain? |
| What is an Embedding Model? |
| Why are embeddings used in LangChain? |
| What is a vector embedding? |
| What is semantic similarity? |
| What is a Vector Store? |
| What vector stores are supported by LangChain? |
| What is Chroma in LangChain? |
| What is FAISS? |
| What is Pinecone? |
| What is Milvus? |
| What is Weaviate? |
| What is the difference between a vector database and a relational database? |
| How does LangChain perform similarity search? |
| What is similarity search with score? |
| What is Maximum Marginal Relevance? |
| Why is MMR useful in RAG applications? |
| What is a retriever in LangChain? |
| What is the difference between a retriever and a vector store? |
| How do you convert a vector store into a retriever? |
| What is a MultiQueryRetriever? |
| What is a Document in LangChain? |
| What are the main fields of a LangChain Document? |
| What is document metadata? |
| Why is metadata important in RAG? |
| What is a Document Loader? |
| What document loaders are available in LangChain? |
| How do you load a PDF using LangChain? |
| How do you load a text file using LangChain? |
| How do you load CSV files using LangChain? |
| How do you load JSON files using LangChain? |
| How do you load web pages using LangChain? |
| How do you load documents from a directory? |
| What is DirectoryLoader? |
| What is PyPDFLoader? |
| What is WebBaseLoader? |
| What is UnstructuredLoader? |
| What is a RecursiveCharacterTextSplitter? |
| Why is recursive text splitting preferred? |
| What is chunk size? |
| What is chunk overlap? |
| What is text splitting in LangChain? |
| Why do documents need to be split into chunks? |
| How do you choose an appropriate chunk size? |
| How does chunk overlap affect retrieval? |
| What happens if the chunk size is too small? |
| What happens if the chunk size is too large? |
| What is token-based text splitting? |
| What is character-based text splitting? |
| What is recursive splitting? |
| What is MarkdownHeaderTextSplitter? |
| What is HTMLHeaderTextSplitter? |
| How do you split code using LangChain? |
| How do you preserve metadata during document splitting? |
| How can you optimize document chunking for RAG? |
| What is parent-child document retrieval? |
| What is contextual chunking? |
| What is semantic chunking? |
| What is the difference between fixed-size and semantic chunking? |
| How does chunking affect embedding quality? |
| How does chunking affect retrieval accuracy? |
| What is RAG? |
| How does Retrieval-Augmented Generation work? |
| What are the main stages of a LangChain RAG pipeline? |
| What is the difference between indexing and retrieval? |
| How do you build a basic RAG application using LangChain? |
| What is a RetrievalQA chain? |
| What replaced older RetrievalQA patterns in modern LangChain? |
| What is create_retrieval_chain? |
| What is create_stuff_documents_chain? |
| What is the StuffDocumentsChain approach? |
| What is MapReduce document processing? |
| What is Refine document processing? |
| What is the difference between Stuff, MapReduce, and Refine? |
| How does LangChain handle retrieved documents? |
| How do you pass retrieved documents to an LLM? |
| How do you add citations to a RAG response? |
| How do you prevent hallucinations in RAG? |
| What are common RAG failure modes? |
| How do you improve RAG retrieval quality? |
| How do you evaluate a LangChain RAG application? |
| What is LCEL? |
| What does LCEL stand for? |
| Why was LCEL introduced? |
| What is a Runnable in LangChain? |
| What is RunnableSequence? |
| What is RunnableParallel? |
| What is RunnablePassthrough? |
| What is RunnableLambda? |
| What is RunnableBranch? |
| What does the pipe operator do in LCEL? |
| How do you compose multiple Runnable components? |
| What is the difference between Chain and Runnable? |
| Why is Runnable preferred in modern LangChain? |
| How do you invoke a Runnable? |
| What is the difference between invoke and run? |
| What is batch execution in LangChain? |
| What is stream execution in LangChain? |
| What is astream in LangChain? |
| How does async execution work in LangChain? |
| How do you handle parallel execution with LCEL? |
| What is an Agent in LangChain? |
| What is an AgentExecutor? |
| How does a LangChain agent work? |
| What is tool calling? |
| What is a Tool in LangChain? |
| How do you create a custom tool? |
| What is the @tool decorator? |
| How does an agent select a tool? |
| What is tool input schema? |
| How do you validate tool arguments? |
| What is the difference between a tool and a function? |
| What is function calling? |
| What is the difference between function calling and tool calling? |
| What is ReAct in LangChain? |
| How does the ReAct agent work? |
| What are the advantages of agents over chains? |
| What are the disadvantages of agents? |
| When should you use an agent instead of a chain? |
| How do you restrict an agent from using unauthorized tools? |
| How do you handle tool execution errors? |
| What is memory in LangChain? |
| Why is conversation memory required? |
| What is conversation history? |
| What is RunnableWithMessageHistory? |
| How do you maintain chat history in LangChain? |
| What is the difference between short-term and long-term memory? |
| How can conversation history exceed the context window? |
| How do you summarize conversation history? |
| How can vector stores be used as long-term memory? |
| How do you persist conversation history? |
| What is LangSmith? |
| Why is LangSmith used with LangChain? |
| What is tracing in LangSmith? |
| How do you trace a LangChain application? |
| What is observability in LLM applications? |
| How do you debug a LangChain chain? |
| How do you monitor token usage? |
| How do you monitor latency in LangChain? |
| How do you evaluate LLM responses? |
| What is an evaluation dataset? |
| What are common RAG evaluation metrics? |
| What is retrieval relevance? |
| What is answer correctness? |
| What is faithfulness in RAG evaluation? |
| How do you compare two prompts using LangSmith? |
| How do you integrate OpenAI with LangChain? |
| How do you integrate Anthropic with LangChain? |
| How do you integrate Google Gemini with LangChain? |
| How do you integrate Ollama with LangChain? |
| How do you use local LLMs with LangChain? |
| How do you configure API keys in LangChain? |
| How do you manage secrets securely in a LangChain application? |
| How do you configure temperature? |
| What is max_tokens? |
| How do model parameters affect LangChain applications? |
| How do you implement streaming responses in LangChain? |
| How do you stream tokens from an LLM? |
| How do you handle callbacks in LangChain? |
| What are callbacks used for? |
| How do you implement logging in LangChain? |
| How do you handle exceptions in LangChain? |
| How do you implement retries? |
| What is with_retry in LangChain? |
| How do you implement fallbacks? |
| What is with_fallbacks in LangChain? |
| How do you build a conversational RAG system? |
| How do you combine chat history with RAG? |
| What is history-aware retrieval? |
| What is create_history_aware_retriever? |
| How do you rewrite follow-up questions before retrieval? |
| How do you handle ambiguous user queries in RAG? |
| How do you implement metadata filtering in retrieval? |
| How do you retrieve documents based on user-specific permissions? |
| How do you implement hybrid search with LangChain? |
| What is keyword search? |
| What is BM25 retrieval? |
| How do you combine BM25 and vector search? |
| What is ensemble retrieval? |
| What is contextual compression retrieval? |
| What is ContextualCompressionRetriever? |
| What is a reranker? |
| Why is reranking useful in RAG? |
| How do you implement reranking in LangChain? |
| What is ParentDocumentRetriever? |
| When should you use ParentDocumentRetriever? |
| How do you secure a LangChain application? |
| What is prompt injection? |
| How can LangChain applications defend against prompt injection? |
| What is indirect prompt injection? |
| How do you prevent sensitive data leakage? |
| How do you restrict agent tool permissions? |
| How do you validate external tool outputs? |
| How do you implement guardrails around LangChain? |
| How do you prevent an agent from executing dangerous operations? |
| How do you implement human approval for agent actions? |
| How do you optimize LangChain application performance? |
| How do you reduce LLM token usage? |
| How do you reduce RAG latency? |
| How do you cache LLM responses? |
| What is caching in LangChain? |
| How do you batch multiple LLM requests? |
| How do you parallelize independent LangChain operations? |
| How do you optimize vector search? |
| How do you optimize embedding generation? |
| How do you design LangChain for production? |
| What are common LangChain production challenges? |
| How do you version prompts in production? |
| How do you test LangChain chains? |
| How do you unit test a LangChain application? |
| How do you mock an LLM during testing? |
| How do you test retrieval independently? |
| How do you test agent tool selection? |
| How do you handle LLM provider outages? |
| How do you design multi-model fallback architecture? |
| How do you deploy LangChain applications? |
| What is the difference between LangChain and LangGraph? |
| When should LangGraph be used instead of LangChain agents? |
| How does LangChain integrate with LangGraph? |
| What is a stateful agent workflow? |
| What is an AI workflow in LangChain? |
| What is the difference between deterministic workflows and agents? |
| How do you build multi-step workflows with LangChain? |
| How do you implement conditional execution? |
| How do you implement parallel branches? |
| How do you combine retrieval, tools, and LLM calls? |
| What is the difference between LangChain legacy APIs and modern LangChain APIs? |
| What are deprecated LangChain chains? |
| Why is LCEL important for modern LangChain development? |
| How do you migrate legacy chains to Runnable-based pipelines? |
| How do you migrate old agent implementations to modern agents? |
| How do LangChain packages separate integrations? |
| What is langchain-core? |
| What is langchain-community? |
| What is the purpose of provider-specific LangChain packages? |
| How do you keep LangChain dependencies maintainable in production? |
| Design a production-ready RAG application using LangChain. |
| Design a PDF question-answering system using LangChain. |
| Design a multi-document RAG system using LangChain. |
| Design a chatbot with persistent conversation history. |
| Design an enterprise document search system using LangChain. |
| Design a resume screening application using LangChain. |
| Design an agent that uses database and web-search tools. |
| Design a customer-support agent using LangChain. |
| Design a secure enterprise RAG system with document-level access control. |
| Design a scalable LangChain architecture for millions of documents. |