Performance: Creating evaluation datasets
This affects the initial load time and memory usage when preparing data for model evaluation in Langchain workflows.
Jump into concepts and practice - no test required
from langchain.evaluation import Dataset large_dataset = Dataset.load_local('large_file.json', lazy=True) for sample in large_dataset.stream(): process(sample) # loads data incrementally
from langchain.evaluation import Dataset large_dataset = Dataset.load_local('large_file.json') eval_data = large_dataset.data # loads entire dataset into memory immediately
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Eager loading entire dataset | N/A (backend data) | N/A | Blocks UI rendering until data ready | [X] Bad |
| Lazy loading with streaming | N/A | N/A | Allows UI to render quickly with incremental data | [OK] Good |
from langchain.evaluation.qa import QAEvalChain
examples = [{"query": "Capital of France?", "expected_answer": "Paris"}]
chain = QAEvalChain.from_llm(llm=None)
results = chain.evaluate(examples)
print(results)examples = [{"query": "Who wrote Hamlet?", "answer": "Shakespeare"}]
chain = QAEvalChain.from_llm(llm=some_llm)
results = chain.evaluate(examples)
print(results)
What is the likely cause of the error?