SearxNG Search Tool Walkthrough#
This notebook demonstrates how to use the SearxNG Search Tool in AG2 to perform real-time web searches using a privacy-friendly, open-source metasearch engine.
Installation#
No API key is required for public SearxNG instances. For private instances, consult your administrator.
Basic Usage#
You can use the tool directly to perform a search and view results.
search_tool = SearxngSearchTool()
results = search_tool(query="open source search engine", max_results=3)
for r in results:
print(r["title"], r["link"])
Using with AG2 Agents#
You can register the tool with an AssistantAgent for LLM-driven search.
from autogen import AssistantAgent
search_tool = SearxngSearchTool()
assistant = AssistantAgent(name="assistant")
search_tool.register_for_llm(assistant)
response = assistant.run(
message="What is SearxNG?",
tools=assistant.tools,
max_turns=2,
user_input=False,
)
response.process()
Customizing Parameters#
You can specify categories, language, or a custom SearxNG instance URL.
results = search_tool(query="AI news", max_results=2, categories=["news"], language="en-US")
for r in results:
print(r["title"], r["link"])
Output Format#
Each result is a dictionary with title
, link
, and snippet
keys.