mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-07-26 16:07:53 +00:00
Return the full-resolution image URL from image_search (#3990)
`image_search` set both `image_url` and `thumbnail_url` to the DDGS result's `thumbnail` field, so the tool never returned the full-resolution image even though its docstring/usage_hint promise reference-quality images (and a result with no `thumbnail` returned an empty `image_url`). DDGS `.images()` exposes the full-res source under the separate `image` key — read that for `image_url`, matching the serper/brave providers which keep image vs thumbnail distinct. Adds a regression test.
This commit is contained in:
parent
b06372b812
commit
eb8eec21ce
@ -119,7 +119,7 @@ def image_search_tool(
|
||||
normalized_results = [
|
||||
{
|
||||
"title": r.get("title", ""),
|
||||
"image_url": r.get("thumbnail", ""),
|
||||
"image_url": r.get("image", ""),
|
||||
"thumbnail_url": r.get("thumbnail", ""),
|
||||
}
|
||||
for r in results
|
||||
|
||||
28
backend/tests/test_image_search.py
Normal file
28
backend/tests/test_image_search.py
Normal file
@ -0,0 +1,28 @@
|
||||
import json
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from deerflow.community.image_search.tools import image_search_tool
|
||||
|
||||
|
||||
def test_image_search_uses_full_image_url_not_thumbnail():
|
||||
# Regression: `image_url` must expose the full-resolution `image` from the DDGS result,
|
||||
# not the low-res `thumbnail` (both fields were previously set to `thumbnail`).
|
||||
fake_results = [
|
||||
{
|
||||
"title": "a cat",
|
||||
"image": "https://example.com/full.jpg",
|
||||
"thumbnail": "https://example.com/thumb.jpg",
|
||||
}
|
||||
]
|
||||
cfg = MagicMock()
|
||||
cfg.get_tool_config.return_value = None
|
||||
|
||||
with (
|
||||
patch("deerflow.community.image_search.tools._search_images", return_value=fake_results),
|
||||
patch("deerflow.community.image_search.tools.get_app_config", return_value=cfg),
|
||||
):
|
||||
output = json.loads(image_search_tool.invoke({"query": "a cat"}))
|
||||
|
||||
result = output["results"][0]
|
||||
assert result["image_url"] == "https://example.com/full.jpg"
|
||||
assert result["thumbnail_url"] == "https://example.com/thumb.jpg"
|
||||
Loading…
x
Reference in New Issue
Block a user