patricksamuel commited on
Commit
6315e04
·
verified ·
1 Parent(s): 595a4a1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -29
app.py CHANGED
@@ -14,6 +14,9 @@ from bs4 import BeautifulSoup
14
  from pydantic import BaseModel, Field
15
  import nest_asyncio
16
  import requests
 
 
 
17
 
18
  #from agents.extensions.models.litellm_model import LitellmModel
19
 
@@ -135,7 +138,7 @@ class BasicAgent:
135
  print("BasicAgent initialized.")
136
  def __call__(self, question: str) -> str:
137
  print(f"Agent received question (first 50 chars): {question[:50]}...")
138
-
139
  instructions = """
140
  You are a ReAct (Reason-Act-Observe) agent that searches the internet to find accurate answers to questions.
141
  ## Available Tools
@@ -174,25 +177,17 @@ When you've found the answer, stop reasoning and return ONLY the answer.
174
  - Just the answer text — for example: `California`
175
 
176
  """
177
-
178
  my_agent = Agent(
179
  name="Expert Question Answering Agent",
180
  instructions=instructions,
181
- tools = [
182
- web_search,
183
- visit_website
184
- ],
185
  model="gpt-4o-mini"
186
  )
187
-
188
- import nest_asyncio
189
- import asyncio
190
-
191
- nest_asyncio.apply()
192
-
193
  async def run_agent_streamed():
194
  async for update in Runner.run_streamed(my_agent, input=question, max_turns=25):
195
- if update.new_items:
196
  for step in update.new_items:
197
  print("🧠 Thought:", step.thought)
198
  print("⚙️ Action:", step.tool_call)
@@ -200,23 +195,12 @@ When you've found the answer, stop reasoning and return ONLY the answer.
200
  print("-" * 50)
201
  print(f"Agent gave answer (first 50 chars): {update.final_output[:50]}...")
202
  return update.final_output
 
 
 
 
203
 
204
- result = await run_agent_streamed() # If already inside an async context
205
-
206
- # result = Runner.run_sync(
207
- # my_agent,
208
- # input=question,
209
- # max_turns=25
210
- # )
211
- # print("\n--- Intermediate Reasoning ---")
212
- # for step in result.steps:
213
- # print("🧠 Thought:", step.thought)
214
- # print("⚙️ Action:", step.tool_call)
215
- # print("🔍 Observation:", step.observation)
216
- # print("-" * 50)
217
-
218
- # print(f"Agent returning fixed answer(first 50 chars): {result.final_output[:50]}...")
219
- # return result.final_output
220
 
221
  def run_and_submit_all( profile: gr.OAuthProfile | None):
222
  """
 
14
  from pydantic import BaseModel, Field
15
  import nest_asyncio
16
  import requests
17
+ import asyncio
18
+ from tavily import TavilyClient
19
+
20
 
21
  #from agents.extensions.models.litellm_model import LitellmModel
22
 
 
138
  print("BasicAgent initialized.")
139
  def __call__(self, question: str) -> str:
140
  print(f"Agent received question (first 50 chars): {question[:50]}...")
141
+
142
  instructions = """
143
  You are a ReAct (Reason-Act-Observe) agent that searches the internet to find accurate answers to questions.
144
  ## Available Tools
 
177
  - Just the answer text — for example: `California`
178
 
179
  """
180
+
181
  my_agent = Agent(
182
  name="Expert Question Answering Agent",
183
  instructions=instructions,
184
+ tools = [tavily_search, visit_website],
 
 
 
185
  model="gpt-4o-mini"
186
  )
187
+
 
 
 
 
 
188
  async def run_agent_streamed():
189
  async for update in Runner.run_streamed(my_agent, input=question, max_turns=25):
190
+ if hasattr(update, "new_items") and update.new_items:
191
  for step in update.new_items:
192
  print("🧠 Thought:", step.thought)
193
  print("⚙️ Action:", step.tool_call)
 
195
  print("-" * 50)
196
  print(f"Agent gave answer (first 50 chars): {update.final_output[:50]}...")
197
  return update.final_output
198
+
199
+ result = asyncio.run(run_agent_streamed())
200
+ return result
201
+
202
 
203
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
 
205
  def run_and_submit_all( profile: gr.OAuthProfile | None):
206
  """