3. Given this code snippet using LangChain's ConversationChain:
from langchain.chains import ConversationChain
from langchain.llms import OpenAI
llm = OpenAI(temperature=0)
conv = ConversationChain(llm=llm)
response1 = conv.predict(input="What is AI?")
response2 = conv.predict(input="Can you explain more?")
print(response2)
What does response2 represent?
medium
A. An error because ConversationChain does not support multiple predicts
B. An answer to 'Can you explain more?' ignoring previous questions
C. An answer to 'Can you explain more?' using the context of 'What is AI?'
D. The same answer as response1 repeated
Solution
Step 1: Understand ConversationChain behavior
ConversationChain keeps track of previous inputs and outputs to provide context-aware answers.
Step 2: Analyze the code flow
response2 uses the previous question 'What is AI?' to answer 'Can you explain more?' with context.
Final Answer:
An answer to 'Can you explain more?' using the context of 'What is AI?' -> Option C
Quick Check:
ConversationChain uses history for follow-ups = C [OK]
Hint: ConversationChain.predict uses past chat context automatically [OK]
Common Mistakes:
Assuming each predict is independent
Expecting an error on multiple calls
Thinking response2 repeats response1
Ignoring conversation history
4. Identify the error in this LangChain code snippet for handling follow-up questions:
from langchain.chains import ConversationChain
from langchain.llms import OpenAI
llm = OpenAI(temperature=0)
conv = ConversationChain(llm=llm)
response1 = conv.predict(input="Hello, who won the world cup?")
response2 = conv.predict("Who scored the most goals?")
print(response2)
medium
A. The print statement is invalid syntax
B. ConversationChain cannot be called twice
C. OpenAI LLM requires temperature > 0
D. Missing 'input=' keyword in second predict call causes error
Solution
Step 1: Check method call syntax
ConversationChain.predict expects a named argument 'input=...'. The second call misses this keyword.
Step 2: Understand consequences
Without 'input=', Python raises a TypeError because the argument is positional but not expected.
Final Answer:
Missing 'input=' keyword in second predict call causes error -> Option D
Quick Check:
predict requires input= keyword = D [OK]
Hint: Always use input= keyword in predict calls [OK]
5. You want to build a LangChain app that answers follow-up questions about a user's previous queries but resets context after 3 questions. Which approach best achieves this?
hard
A. Use ConversationChain and clear its memory after every 3 predictions
B. Create a new ConversationChain instance for each question
C. Use ConversationChain without clearing memory to keep all history
D. Use OpenAI directly without ConversationChain
Solution
Step 1: Understand requirement to reset context
The app needs to keep context but reset after 3 questions to avoid long history.