mutyamjai commited on
Commit
be0bcb0
·
verified ·
1 Parent(s): 4c38e1c

Update agent.py

Browse files
Files changed (1) hide show
  1. agent.py +19 -5
agent.py CHANGED
@@ -22,6 +22,9 @@ from tools import tools
22
  from langchain_core.callbacks import BaseCallbackHandler
23
  from langchain_core.tools import tool
24
  from duckduckgo_search import DDGS
 
 
 
25
 
26
  driver = None
27
 
@@ -31,7 +34,12 @@ def get_driver():
31
  options = webdriver.ChromeOptions()
32
  options.add_argument("--no-sandbox")
33
  options.add_argument("--disable-dev-shm-usage")
34
- driver = webdriver.Chrome(options=options)
 
 
 
 
 
35
  return driver
36
 
37
  @tool
@@ -69,10 +77,11 @@ def search_in_page(keyword: str, context_chars: int = 400) -> str:
69
 
70
 
71
  @tool
72
- def go_back() -> None:
73
  """Goes back to previous page."""
74
  driver = get_driver()
75
  driver.back()
 
76
 
77
  @tool
78
  def close_popups() -> str:
@@ -82,12 +91,16 @@ def close_popups() -> str:
82
  """
83
  driver = get_driver()
84
  webdriver.ActionChains(driver).send_keys(Keys.ESCAPE).perform()
 
85
 
86
  @tool
87
  def go_to(url: str) -> str:
88
  """Open a webpage using URL."""
89
  driver = get_driver()
90
  driver.get(url)
 
 
 
91
  return f"Opened {url}"
92
 
93
  @tool
@@ -192,13 +205,14 @@ toolsused = [
192
  get_page_text,
193
  go_back,
194
  close_popups,
195
- get_youtube_transcript
 
196
  ]
197
- from tools import tools
198
  load_dotenv()
199
 
200
  # Load prompt
201
- with open("config.yaml") as f:
202
  SYSTEM_PROMPT = yaml.safe_load(f)["prompt"]
203
 
204
  # LLM (local)
 
22
  from langchain_core.callbacks import BaseCallbackHandler
23
  from langchain_core.tools import tool
24
  from duckduckgo_search import DDGS
25
+ from selenium.webdriver.chrome.service import Service
26
+ from webdriver_manager.chrome import ChromeDriverManager
27
+
28
 
29
  driver = None
30
 
 
34
  options = webdriver.ChromeOptions()
35
  options.add_argument("--no-sandbox")
36
  options.add_argument("--disable-dev-shm-usage")
37
+ options.add_argument("--headless") # 🔥 IMPORTANT
38
+
39
+ driver = webdriver.Chrome(
40
+ service=Service(ChromeDriverManager().install()),
41
+ options=options
42
+ )
43
  return driver
44
 
45
  @tool
 
77
 
78
 
79
  @tool
80
+ def go_back() -> str:
81
  """Goes back to previous page."""
82
  driver = get_driver()
83
  driver.back()
84
+ return "Went back to previous page"
85
 
86
  @tool
87
  def close_popups() -> str:
 
91
  """
92
  driver = get_driver()
93
  webdriver.ActionChains(driver).send_keys(Keys.ESCAPE).perform()
94
+ return "Attempted to close popups"
95
 
96
  @tool
97
  def go_to(url: str) -> str:
98
  """Open a webpage using URL."""
99
  driver = get_driver()
100
  driver.get(url)
101
+ WebDriverWait(driver, 10).until(
102
+ lambda d: d.execute_script("return document.readyState") == "complete"
103
+ )
104
  return f"Opened {url}"
105
 
106
  @tool
 
205
  get_page_text,
206
  go_back,
207
  close_popups,
208
+ get_youtube_transcript,
209
+ web_search
210
  ]
211
+
212
  load_dotenv()
213
 
214
  # Load prompt
215
+ with open("config.yaml", encoding="utf-8") as f:
216
  SYSTEM_PROMPT = yaml.safe_load(f)["prompt"]
217
 
218
  # LLM (local)