mirror of
https://gitee.com/wanwujie/deer-flow
synced 2026-04-03 06:12:14 +08:00
feat: add Serper search engine support (#762)
* feat: add Serper search engine support * docs: update configuration guide and env example for Serper * test: add test case for Serper with missing API key
This commit is contained in:
@@ -5,6 +5,7 @@ import os
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
from pydantic import ValidationError
|
||||
|
||||
from src.config import SearchEngine
|
||||
from src.tools.search import get_web_search_tool
|
||||
@@ -56,6 +57,20 @@ class TestGetWebSearchTool:
|
||||
tool = get_web_search_tool(max_search_results=1)
|
||||
assert tool.search_wrapper.api_key.get_secret_value() == ""
|
||||
|
||||
@patch("src.tools.search.SELECTED_SEARCH_ENGINE", SearchEngine.SERPER.value)
|
||||
@patch.dict(os.environ, {"SERPER_API_KEY": "test_serper_key"})
|
||||
def test_get_web_search_tool_serper(self):
|
||||
tool = get_web_search_tool(max_search_results=6)
|
||||
assert tool.name == "web_search"
|
||||
assert tool.api_wrapper.k == 6
|
||||
assert tool.api_wrapper.serper_api_key == "test_serper_key"
|
||||
|
||||
@patch("src.tools.search.SELECTED_SEARCH_ENGINE", SearchEngine.SERPER.value)
|
||||
@patch.dict(os.environ, {}, clear=True)
|
||||
def test_get_web_search_tool_serper_no_api_key(self):
|
||||
with pytest.raises(ValidationError):
|
||||
get_web_search_tool(max_search_results=1)
|
||||
|
||||
@patch("src.tools.search.SELECTED_SEARCH_ENGINE", SearchEngine.TAVILY.value)
|
||||
@patch("src.tools.search.load_yaml_config")
|
||||
def test_get_web_search_tool_tavily_with_custom_config(self, mock_config):
|
||||
|
||||
Reference in New Issue
Block a user