hieudx7 commited on
Commit
6c5b30f
·
1 Parent(s): c58342b

add parse answer

Browse files
Files changed (2) hide show
  1. agent.py +2 -1
  2. app.py +27 -4
agent.py CHANGED
@@ -10,10 +10,10 @@ from tools import tools
10
  from retriever import vector_store
11
  from langchain_openai import ChatOpenAI
12
 
13
-
14
  load_dotenv()
15
 
16
 
 
17
  # System message
18
  sys_msg = SystemMessage(content=SYS_PROMPT)
19
 
@@ -62,5 +62,6 @@ if __name__ == "__main__":
62
  # Run the graph
63
  messages = [HumanMessage(content=question)]
64
  messages = graph.invoke({"messages": messages})
 
65
  for m in messages["messages"]:
66
  m.pretty_print()
 
10
  from retriever import vector_store
11
  from langchain_openai import ChatOpenAI
12
 
 
13
  load_dotenv()
14
 
15
 
16
+
17
  # System message
18
  sys_msg = SystemMessage(content=SYS_PROMPT)
19
 
 
62
  # Run the graph
63
  messages = [HumanMessage(content=question)]
64
  messages = graph.invoke({"messages": messages})
65
+ answer = messages['messages'][-1].content
66
  for m in messages["messages"]:
67
  m.pretty_print()
app.py CHANGED
@@ -1,8 +1,13 @@
 
1
  import os
 
2
  import gradio as gr
 
3
  import requests
4
- import inspect
5
  import pandas as pd
 
 
 
6
 
7
  # (Keep Constants as is)
8
  # --- Constants ---
@@ -10,14 +15,32 @@ DEFAULT_API_URL = "https://agents-course-unit4-scoring.hf.space"
10
 
11
  # --- Basic Agent Definition ---
12
  # ----- THIS IS WERE YOU CAN BUILD WHAT YOU WANT ------
 
 
13
  class BasicAgent:
 
14
  def __init__(self):
15
  print("BasicAgent initialized.")
 
 
16
  def __call__(self, question: str) -> str:
17
  print(f"Agent received question (first 50 chars): {question[:50]}...")
18
- fixed_answer = "This is a default answer."
19
- print(f"Agent returning fixed answer: {fixed_answer}")
20
- return fixed_answer
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
  def run_and_submit_all( profile: gr.OAuthProfile | None):
23
  """
 
1
+ """ Basic Agent Evaluation Runner"""
2
  import os
3
+ import inspect
4
  import gradio as gr
5
+ import re
6
  import requests
 
7
  import pandas as pd
8
+ from langchain_core.messages import HumanMessage
9
+ from agent import build_graph
10
+
11
 
12
  # (Keep Constants as is)
13
  # --- Constants ---
 
15
 
16
  # --- Basic Agent Definition ---
17
  # ----- THIS IS WERE YOU CAN BUILD WHAT YOU WANT ------
18
+
19
+
20
  class BasicAgent:
21
+ """A langgraph agent."""
22
  def __init__(self):
23
  print("BasicAgent initialized.")
24
+ self.graph = build_graph()
25
+
26
  def __call__(self, question: str) -> str:
27
  print(f"Agent received question (first 50 chars): {question[:50]}...")
28
+ # Wrap the question in a HumanMessage from langchain_core
29
+ messages = [HumanMessage(content=question)]
30
+ messages = self.graph.invoke({"messages": messages})
31
+ answer = messages['messages'][-1].content
32
+ return parse_final_answer(answer)
33
+
34
+ def parse_final_answer(answer: str) -> str:
35
+ """
36
+ Parses the final answer from the agent's response.
37
+ This function is a placeholder and should be modified based on the actual output format of your agent.
38
+ """
39
+ match = re.search(r'FINAL ANSWER:\s*(.*)', answer)
40
+ if match:
41
+ final_answer = match.group(1)
42
+ return final_answer.strip()
43
+ return answer.strip()
44
 
45
  def run_and_submit_all( profile: gr.OAuthProfile | None):
46
  """