browser_utils.markdown_search
class AbstractMarkdownSearch(ABC)
为Markdown浏览器提供搜索功能的抽象类。
BingMarkdown搜索
class BingMarkdownSearch(AbstractMarkdownSearch)
为Markdown浏览器提供Bing网络搜索功能。
__init__
def __init__(bing_api_key: str = None, interleave_results: bool = True)
执行一次Bing网页搜索,并以Markdown格式返回结果。
参数:
bing_api_key
- Bing搜索API的密钥。如果省略,将尝试从BING_API_KEY环境变量中读取密钥。如果没有找到密钥,BingMarkdownSearch将打印警告,并回退到访问和抓取实时Bing结果页面。抓取方式明显比使用API更差,因此不推荐。interleave_results
- 使用 Bing API 时,结果按类别(网页、新闻、视频等)返回,并带有关于它们应如何在页面中交错显示的说明。当interleave
设置为 True 时,将遵循这些交错指令,并返回由 BingMarkdownSearch 提供的单一结果列表。当interleave
设置为 false 时,结果按类别分开,不进行交错处理。
搜索
def search(query: str)
搜索Bing并以Markdown格式返回结果。如果有Bing API密钥可用,则使用API执行搜索。如果没有API密钥可用,则通过直接向Bing提交HTTPs GET请求来执行搜索。使用API执行的搜索质量更高,且更可靠。
参数:
query
- 要发出的搜索查询
返回:
搜索结果的Markdown渲染。