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()