mirror of
https://github.com/langchain-ai/langchain.git
synced 2026-10-08 10:55:18 +03:00
6.5 KiB
6.5 KiB
In [ ]:
# Comment this out if you are NOT using tracing
import os
os.environ["LANGCHAIN_HANDLER"] = "langchain"In [ ]:
from langchain.evaluation.loading import load_dataset
dataset = load_dataset("agent-search-calculator")In [ ]:
from langchain.llms import OpenAI
from langchain.chains import LLMMathChain
from langchain.agents import initialize_agent, Tool, load_tools
from langchain.agents import AgentType
tools = load_tools(['serpapi', 'llm-math'], llm=OpenAI(temperature=0))
agent = initialize_agent(tools, OpenAI(temperature=0), agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)In [ ]:
print(dataset[0]['question'])
agent.run(dataset[0]['question'])In [ ]:
agent.run(dataset[4]['question'])In [ ]:
predictions = []
predicted_dataset = []
error_dataset = []
for data in dataset:
new_data = {"input": data["question"], "answer": data["answer"]}
try:
predictions.append(agent(new_data))
predicted_dataset.append(new_data)
except Exception as e:
predictions.append({"output": str(e), **new_data})
error_dataset.append(new_data)In [ ]:
predictions[0]In [ ]:
from langchain.evaluation.qa import QAEvalChainIn [ ]:
llm = OpenAI(temperature=0)
eval_chain = QAEvalChain.from_llm(llm)
graded_outputs = eval_chain.evaluate(dataset, predictions, question_key="question", prediction_key="output")In [ ]:
for i, prediction in enumerate(predictions):
prediction['grade'] = graded_outputs[i]['text']In [ ]:
from collections import Counter
Counter([pred['grade'] for pred in predictions])In [ ]:
incorrect = [pred for pred in predictions if pred['grade'] == " INCORRECT"]In [ ]:
incorrectIn [ ]: