Spaces:
Running
Running
replace duckduckgo-search with ddgs package and implement search tool
Browse files- app/tools/search_tool.py +2 -2
- pyproject.toml +1 -1
- uv.lock +15 -15
app/tools/search_tool.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
import logging
|
| 2 |
-
from
|
| 3 |
-
|
| 4 |
logger= logging.getLogger(__name__)
|
| 5 |
|
| 6 |
def search_web(query: str, max_results: int=5) -> str:
|
|
|
|
| 1 |
import logging
|
| 2 |
+
from ddgs import DDGS # type: ignore
|
| 3 |
+
|
| 4 |
logger= logging.getLogger(__name__)
|
| 5 |
|
| 6 |
def search_web(query: str, max_results: int=5) -> str:
|
pyproject.toml
CHANGED
|
@@ -16,7 +16,7 @@ dependencies = [
|
|
| 16 |
"google-generativeai==0.5.4",
|
| 17 |
"prometheus-client==0.20.0",
|
| 18 |
"python-dotenv==1.0.1",
|
| 19 |
-
"
|
| 20 |
]
|
| 21 |
|
| 22 |
[dependency-groups]
|
|
|
|
| 16 |
"google-generativeai==0.5.4",
|
| 17 |
"prometheus-client==0.20.0",
|
| 18 |
"python-dotenv==1.0.1",
|
| 19 |
+
"ddgs>=9.14.3",
|
| 20 |
]
|
| 21 |
|
| 22 |
[dependency-groups]
|
uv.lock
CHANGED
|
@@ -388,26 +388,26 @@ wheels = [
|
|
| 388 |
]
|
| 389 |
|
| 390 |
[[package]]
|
| 391 |
-
name = "
|
| 392 |
-
version = "
|
| 393 |
-
source = { registry = "https://pypi.org/simple" }
|
| 394 |
-
sdist = { url = "https://files.pythonhosted.org/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz", hash = "sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f", size = 368251, upload-time = "2025-09-07T18:58:00.022Z" }
|
| 395 |
-
wheels = [
|
| 396 |
-
{ url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" },
|
| 397 |
-
]
|
| 398 |
-
|
| 399 |
-
[[package]]
|
| 400 |
-
name = "duckduckgo-search"
|
| 401 |
-
version = "8.1.1"
|
| 402 |
source = { registry = "https://pypi.org/simple" }
|
| 403 |
dependencies = [
|
| 404 |
{ name = "click" },
|
| 405 |
{ name = "lxml" },
|
| 406 |
{ name = "primp" },
|
| 407 |
]
|
| 408 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
| 409 |
wheels = [
|
| 410 |
-
{ url = "https://files.pythonhosted.org/packages/db/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 411 |
]
|
| 412 |
|
| 413 |
[[package]]
|
|
@@ -846,7 +846,7 @@ source = { editable = "." }
|
|
| 846 |
dependencies = [
|
| 847 |
{ name = "alembic" },
|
| 848 |
{ name = "celery" },
|
| 849 |
-
{ name = "
|
| 850 |
{ name = "fastapi" },
|
| 851 |
{ name = "google-generativeai" },
|
| 852 |
{ name = "prometheus-client" },
|
|
@@ -870,7 +870,7 @@ dev = [
|
|
| 870 |
requires-dist = [
|
| 871 |
{ name = "alembic", specifier = "==1.13.1" },
|
| 872 |
{ name = "celery", specifier = "==5.3.6" },
|
| 873 |
-
{ name = "
|
| 874 |
{ name = "fastapi", specifier = "==0.111.0" },
|
| 875 |
{ name = "google-generativeai", specifier = "==0.5.4" },
|
| 876 |
{ name = "prometheus-client", specifier = "==0.20.0" },
|
|
|
|
| 388 |
]
|
| 389 |
|
| 390 |
[[package]]
|
| 391 |
+
name = "ddgs"
|
| 392 |
+
version = "9.14.3"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 393 |
source = { registry = "https://pypi.org/simple" }
|
| 394 |
dependencies = [
|
| 395 |
{ name = "click" },
|
| 396 |
{ name = "lxml" },
|
| 397 |
{ name = "primp" },
|
| 398 |
]
|
| 399 |
+
sdist = { url = "https://files.pythonhosted.org/packages/e3/49/dd55549e0d3659fe335ed842a85ddc9cb1e6b4afdeeda6a2a59a381d989b/ddgs-9.14.3.tar.gz", hash = "sha256:2bc5dceb092f330585277a8f3fc50f488828f55e09793ae85975e01b3141879c", size = 57647, upload-time = "2026-05-14T21:22:18.258Z" }
|
| 400 |
wheels = [
|
| 401 |
+
{ url = "https://files.pythonhosted.org/packages/3a/db/717efa01e0412c80b68798ff0e980003884adb33749d7e0c3135b9e172c2/ddgs-9.14.3-py3-none-any.whl", hash = "sha256:670f464512b5bcaa5182d2ab0cea688f23df58d7338083d68f6f37747434f53b", size = 68142, upload-time = "2026-05-14T21:22:16.872Z" },
|
| 402 |
+
]
|
| 403 |
+
|
| 404 |
+
[[package]]
|
| 405 |
+
name = "dnspython"
|
| 406 |
+
version = "2.8.0"
|
| 407 |
+
source = { registry = "https://pypi.org/simple" }
|
| 408 |
+
sdist = { url = "https://files.pythonhosted.org/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz", hash = "sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f", size = 368251, upload-time = "2025-09-07T18:58:00.022Z" }
|
| 409 |
+
wheels = [
|
| 410 |
+
{ url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" },
|
| 411 |
]
|
| 412 |
|
| 413 |
[[package]]
|
|
|
|
| 846 |
dependencies = [
|
| 847 |
{ name = "alembic" },
|
| 848 |
{ name = "celery" },
|
| 849 |
+
{ name = "ddgs" },
|
| 850 |
{ name = "fastapi" },
|
| 851 |
{ name = "google-generativeai" },
|
| 852 |
{ name = "prometheus-client" },
|
|
|
|
| 870 |
requires-dist = [
|
| 871 |
{ name = "alembic", specifier = "==1.13.1" },
|
| 872 |
{ name = "celery", specifier = "==5.3.6" },
|
| 873 |
+
{ name = "ddgs", specifier = ">=9.14.3" },
|
| 874 |
{ name = "fastapi", specifier = "==0.111.0" },
|
| 875 |
{ name = "google-generativeai", specifier = "==0.5.4" },
|
| 876 |
{ name = "prometheus-client", specifier = "==0.20.0" },
|