ForestRabbit commited on
Commit
e91020d
·
verified ·
1 Parent(s): 711b601

Update agent.py

Browse files
Files changed (1) hide show
  1. agent.py +23 -2
agent.py CHANGED
@@ -5,12 +5,33 @@ from langchain.agents import initialize_agent, AgentType
5
  from langchain_community.tools import Tool, WikipediaQueryRun
6
  from langchain_community.utilities import WikipediaAPIWrapper
7
  from langchain_experimental.tools.python.tool import PythonREPLTool
8
- from langchain_community.tools.brave_search import BraveSearch
9
  from langchain_google_genai import ChatGoogleGenerativeAI
10
  import pandas as pd
11
  from pathlib import Path
12
  from docx import Document
13
  import fitz # PyMuPDF
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
  class Agent:
16
  def __init__(self):
@@ -40,7 +61,7 @@ class Agent:
40
  ),
41
  Tool(
42
  name="Brave Search",
43
- func=BraveSearch(api_key=brave_key).run,
44
  description="Useful for factual and current event queries using Brave search engine."
45
  )
46
  ]
 
5
  from langchain_community.tools import Tool, WikipediaQueryRun
6
  from langchain_community.utilities import WikipediaAPIWrapper
7
  from langchain_experimental.tools.python.tool import PythonREPLTool
 
8
  from langchain_google_genai import ChatGoogleGenerativeAI
9
  import pandas as pd
10
  from pathlib import Path
11
  from docx import Document
12
  import fitz # PyMuPDF
13
+ import requests
14
+
15
+ class BraveSearchTool:
16
+ def __init__(self, api_key: str):
17
+ self.api_key = api_key
18
+ self.base_url = "https://api.search.brave.com/res/v1/web/search"
19
+
20
+ def run(self, query: str) -> str:
21
+ try:
22
+ response = requests.get(
23
+ self.base_url,
24
+ headers={"Accept": "application/json", "X-Subscription-Token": self.api_key},
25
+ params={"q": query}
26
+ )
27
+ response.raise_for_status()
28
+ results = response.json().get("web", {}).get("results", [])
29
+ if results:
30
+ return results[0].get("title", "") + ": " + results[0].get("url", "")
31
+ else:
32
+ return "No results found."
33
+ except Exception as e:
34
+ return f"BraveSearchTool ERROR: {str(e)}"
35
 
36
  class Agent:
37
  def __init__(self):
 
61
  ),
62
  Tool(
63
  name="Brave Search",
64
+ func=BraveSearchTool(api_key=brave_key).run,
65
  description="Useful for factual and current event queries using Brave search engine."
66
  )
67
  ]