DeekshithN05 commited on
Commit
6a54499
·
verified ·
1 Parent(s): 6257889

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -24
app.py CHANGED
@@ -18,36 +18,51 @@ class BasicAgent:
18
  print("Loading FLAN-T5 base model...")
19
  self.pipeline = pipeline(
20
  "text2text-generation",
21
- model="google/flan-t5-base",
22
  max_new_tokens=128,
23
  temperature=0.3
24
  )
25
  print("Model loaded.")
26
 
27
- def __call__(self, question: str) -> str:
28
- print(f"Received question: {question[:60]}...")
29
-
30
- few_shot_example = (
31
- "Question: List just the vegetables from [milk, eggs, carrots, onions, cookies].\n"
32
- "Answer: carrots, onions\n\n"
33
- )
34
-
35
- prompt = (
36
- few_shot_example +
37
- "Please solve the following step by step and give only the final answer:\n"
38
- f"{question.strip()}"
39
- )
40
-
41
- response = self.pipeline(prompt)[0]["generated_text"]
42
- answer = response.strip().split("Answer:")[-1].strip().split("\n")[0]
43
- print(f"Generated answer: {answer}")
44
- return answer
45
-
46
-
47
-
48
-
49
 
 
 
 
 
 
 
 
 
 
 
 
50
 
 
 
 
 
51
 
52
 
53
  def run_and_submit_all( profile: gr.OAuthProfile | None):
@@ -111,7 +126,7 @@ def run_and_submit_all( profile: gr.OAuthProfile | None):
111
  print(f"Skipping item with missing task_id or question: {item}")
112
  continue
113
  try:
114
- submitted_answer = agent(question_text)
115
  answers_payload.append({"task_id": task_id, "submitted_answer": submitted_answer})
116
  results_log.append({"Task ID": task_id, "Question": question_text, "Submitted Answer": submitted_answer})
117
  except Exception as e:
 
18
  print("Loading FLAN-T5 base model...")
19
  self.pipeline = pipeline(
20
  "text2text-generation",
21
+ model = "google/flan-t5-base",
22
  max_new_tokens=128,
23
  temperature=0.3
24
  )
25
  print("Model loaded.")
26
 
27
+ def __call__(self, question: str, task_id: str = None) -> str:
28
+ # Custom routing logic
29
+ if "wikipedia" in question.lower() or "how many" in question.lower():
30
+ return self.search_wikipedia(question)
31
+ elif "attached Excel" in question.lower():
32
+ return self.parse_excel(task_id)
33
+ elif "reverse" in question.lower() or "write the opposite" in question.lower():
34
+ return self.reverse_sentence(question)
35
+ else:
36
+ return self.model_response(question)
37
+ def model_response(self, question: str) -> str:
38
+ prompt = f"Please answer step by step:\n{question}"
39
+ output = self.pipeline(prompt)[0]["generated_text"]
40
+ return output.strip().split("Answer:")[-1].strip()
41
+
42
+ def search_wikipedia(self, question: str) -> str:
43
+ import wikipedia
44
+ try:
45
+ summary = wikipedia.summary(question, sentences=2)
46
+ return summary
47
+ except Exception as e:
48
+ return f"Could not find info: {e}"
49
 
50
+ def parse_excel(self, task_id: str) -> str:
51
+ import requests
52
+ import pandas as pd
53
+ try:
54
+ file_url = f"https://agents-course-unit4-scoring.hf.space/files/{task_id}"
55
+ df = pd.read_excel(file_url)
56
+ # Your logic here, example:
57
+ food_sales = df[df['category'] == 'food']['sales'].sum()
58
+ return f"${food_sales:.2f}"
59
+ except Exception as e:
60
+ return f"Excel parsing error: {e}"
61
 
62
+ def reverse_sentence(self, question: str) -> str:
63
+ sentence = question.split("write")[0].strip()
64
+ reversed_text = sentence[::-1]
65
+ return reversed_text
66
 
67
 
68
  def run_and_submit_all( profile: gr.OAuthProfile | None):
 
126
  print(f"Skipping item with missing task_id or question: {item}")
127
  continue
128
  try:
129
+ submitted_answer = agent(question_text, task_id=task_id)
130
  answers_payload.append({"task_id": task_id, "submitted_answer": submitted_answer})
131
  results_log.append({"Task ID": task_id, "Question": question_text, "Submitted Answer": submitted_answer})
132
  except Exception as e: