Spaces:
Runtime error
Runtime error
File size: 2,132 Bytes
9b5b26a c19d193 6aae614 8fe992b 9b5b26a 9eabb44 9b5b26a 9eabb44 8c01ffb 9eabb44 8c01ffb 9eabb44 ae7a494 9eabb44 ae7a494 9eabb44 13d500a 8c01ffb 9eabb44 8c01ffb 9b5b26a 8c01ffb 861422e 9b5b26a 8c01ffb 8fe992b d2f6a24 8c01ffb 861422e 8fe992b 9b5b26a 8c01ffb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
from smolagents import CodeAgent,DuckDuckGoSearchTool, HfApiModel,load_tool,tool
import datetime
import requests
import pytz
import yaml
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI
!pip install duckduckgo-search --upgrade
from duckduckgo_search import DDGS
# Custom search tool class
class CustomDuckDuckGoSearchTool:
def __call__(self, query: str, max_results: int = 5):
try:
with DDGS() as ddgs:
results = []
for r in ddgs.text(query):
results.append(r)
if len(results) >= max_results:
break
return results
except Exception as e:
return f"Search error: {str(e)}"
# Dummy placeholder for `visit_webpage` tool
class VisitWebpageTool:
def __call__(self, url: str):
return f"Pretending to visit: {url}"
visit_webpage = VisitWebpageTool()
# Dummy model and ToolCallingAgent setup
class DummyModel:
def call(self, input_text):
return f"Model processing: {input_text}"
class ToolCallingAgent:
def __init__(self, tools, model, max_steps=10):
self.tools = tools
self.model = model
self.max_steps = max_steps
def run(self, query):
print(f"Running agent with query: {query}")
for tool in self.tools:
print("Tool output:", tool(query))
# Initialize the agent
model = DummyModel()
web_agent = ToolCallingAgent(
tools=[CustomDuckDuckGoSearchTool(), visit_webpage],
model=model,
max_steps=10
)
# Example usage
web_agent.run("Latest AI tools")
# Import tool from Hub
image_generation_tool = load_tool("agents-course/text-to-image", trust_remote_code=True)
with open("prompts.yaml", 'r') as stream:
prompt_templates = yaml.safe_load(stream)
agent = CodeAgent(
model=model,
tools=[final_answer], ## add your tools here (don't remove final answer)
max_steps=6,
verbosity_level=1,
grammar=None,
planning_interval=None,
name=None,
description=None,
prompt_templates=prompt_templates
)
GradioUI(agent).launch() |