text-generation-webui/user_data/tools/web_search.py

28 lines
853 B
Python
Raw Normal View History

from modules.web_search import perform_web_search
2026-03-12 20:02:57 +01:00
tool = {
"type": "function",
"function": {
"name": "web_search",
"description": "Search the web using DuckDuckGo and return a list of result titles and URLs. Use fetch_webpage to read the contents of a specific result.",
2026-03-12 20:02:57 +01:00
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "The search query."},
},
"required": ["query"]
}
}
}
def execute(arguments):
query = arguments.get("query", "")
results = perform_web_search(query, num_pages=None, fetch_content=False)
2026-03-12 20:02:57 +01:00
output = []
for r in results:
if r:
output.append({"title": r["title"], "url": r["url"]})
2026-03-12 20:02:57 +01:00
return output if output else [{"error": "No results found."}]