Spaces:
Sleeping
Sleeping
File size: 1,748 Bytes
bd62c9a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import time
from agent import build_graph
from langchain_core.messages import AnyMessage, HumanMessage
from questions import QuestionsAPI
from typing import Dict, Any
# timeit decorator
def timeit(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"{func.__name__}() completed in {end_time - start_time:.2f} seconds.")
return result
return wrapper
@timeit
def answer_question(provider, question):
graph = build_graph(provider=provider) # Build the graph
messages: list[AnyMessage] = [HumanMessage(content=question)] # Run the graph
result = graph.invoke({"messages": messages})
for m in result["messages"]:
m.pretty_print()
# Test by checking the FINAL ANSWER of the full 20 questions
def test_agent_qa(provider: str = "deepseek"):
question: str = "When was a picture of St. Thomas Aquinas first added to the Wikipedia page on the Principle of double effect?"
gaia_api = QuestionsAPI()
try:
questions = gaia_api.get_questions(level=1, limit=20)
print(f"Retrieved {len(questions)} questions")
# Get a specific question to answer
for index, sub in enumerate(questions):
task_id = sub.get("task_id", "unknown")
question = sub.get("question", "No question provided")
file_name = sub.get("file_name", "")
print(f"Start to answer question {index+1}: {task_id}, {question}")
answer_question(provider=provider, question=question)
except Exception as e:
print(f"Error: {e}")
finally:
gaia_api.close()
test_agent_qa("groq") |