| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- from ddgs import DDGS
- class WebSearchTool:
- def __init__(self, max_results=2):
- """
- 初始化免费网络搜索工具
- Args:
- max_results: 最大返回结果数
- """
- self.ddgs = DDGS()
- self.max_results = max_results
-
- def search(self, query, *args, **kwargs):
- """
- 执行搜索
-
- Args:
- query: 搜索查询字符串
-
- Returns:
- 搜索结果
- """
- try:
- results = list(self.ddgs.text(query, max_results=self.max_results))
- formatted_results = []
- for result in results:
- formatted_results.append({
- "title": result.get("title", ""),
- "link": result.get("href", ""),
- "snippet": result.get("body", "")
- })
-
- return str({"results": formatted_results})
- except Exception as e:
- return str({"results": "null"})
- web_search_tool = WebSearchTool()
- def create_search_demo():
- """
- 创建免费搜索工具的简洁 demo
- """
- # 示例搜索查询
- queries = [
- "2026年的农历新年是什么",
- "Python机器学习最佳实践",
- "污水处理新技术发展"
- ]
- print("=== FreeWebSearchTool 搜索 Demo ===")
- for query in queries:
- print(f"\n查询: {query}")
- response = web_search_tool.search(query)
- print(f"结果: {response}")
- print("\n=== Demo 结束 ===")
- if __name__ == "__main__":
- create_search_demo()
|