Browse Source

Feat: support json output for bing-search (#10904)

tags/0.12.0
Xu Song 11 months ago
parent
commit
8c2f62fb92
No account linked to committer's email address

+ 35
- 0
api/core/tools/provider/builtin/bing/tools/bing_web_search.py View File

@@ -66,6 +66,41 @@ class BingSearchTool(BuiltinTool):
results.append(self.create_text_message(text=f'{related.get("displayText", "")}{url}'))

return results
elif result_type == "json":
result = {}
if search_results:
result["organic"] = [
{
"title": item.get("name", ""),
"snippet": item.get("snippet", ""),
"url": item.get("url", ""),
"siteName": item.get("siteName", ""),
}
for item in search_results
]

if computation and "expression" in computation and "value" in computation:
result["computation"] = {"expression": computation["expression"], "value": computation["value"]}

if entities:
result["entities"] = [
{
"name": item.get("name", ""),
"url": item.get("url", ""),
"description": item.get("description", ""),
}
for item in entities
]

if news:
result["news"] = [{"name": item.get("name", ""), "url": item.get("url", "")} for item in news]

if related_searches:
result["related searches"] = [
{"displayText": item.get("displayText", ""), "url": item.get("webSearchUrl", "")} for item in news
]

return self.create_json_message(result)
else:
# construct text
text = ""

+ 8
- 3
api/core/tools/provider/builtin/bing/tools/bing_web_search.yaml View File

@@ -113,9 +113,9 @@ parameters:
zh_Hans: 结果类型
pt_BR: result type
human_description:
en_US: return a list of links or texts
zh_Hans: 返回一个连接列表还是纯文本内容
pt_BR: return a list of links or texts
en_US: return a list of links, json or texts
zh_Hans: 返回一个列表,内容是链接、json还是纯文本
pt_BR: return a list of links, json or texts
default: text
options:
- value: link
@@ -123,6 +123,11 @@ parameters:
en_US: Link
zh_Hans: 链接
pt_BR: Link
- value: json
label:
en_US: JSON
zh_Hans: JSON
pt_BR: JSON
- value: text
label:
en_US: Text

Loading…
Cancel
Save