使用说明
1. 使用方式
1.1. 添加到AppBuilder应用中使用
可在千帆AppBuilder智能体中添加并使用百度AI搜索MCP服务。
1.2 通过 AppBuilder - SDK
基础搜索能力
import asyncio
from appbuilder.mcp_server.client import MCPClient
async def main():
client = MCPClient()
await client.connect_to_server(service_url=service_url)
print(client.tools)
result = await client.call_tool("AIsearch", {"query": "上海美食有哪些"})
print(result)
if __name__ == "__main__":
service_url = (
"http://appbuilder.baidu.com/v2/ai_search/mcp/sse?api_key=AppBuilder API Key"
)
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
AI 搜索能力
import asyncio
from appbuilder.mcp_server.client import MCPClient
async def main():
client = MCPClient()
await client.connect_to_server(service_url=service_url)
print(client.tools)
result = await client.call_tool("AIsearch", {"query": "上海美食有哪些", "model": "ernie-3.5-8k"})
print(result)
if __name__ == "__main__":
service_url = (
"http://appbuilder.baidu.com/v2/ai_search/mcp/sse?api_key=AppBuilder API Key"
)
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
1.3 通过 cursor
{
"mcpServers": {
"AISearch": {
"url": "http://appbuilder.baidu.com/v2/ai_search/mcp/sse?api_key=AppBuilder API Key"
}
}
}
1.4 支持 Streamable Http 协议
{
"mcpServers": {
"aisearch-mcp-server": {
"type": "streamableHttp",
"description": "搜索实时信息,支持使用大模型进行总结回复。",
"baseUrl": "https://qianfan.baidubce.com/v2/ai_search/mcp",
"headers": {
"Authorization": "Bearer xxxxx"
}
}
}
}
点击获取 AppBuilder API Key。
2. 工具
AI search
搜索实时信息,并使用大模型进行总结回复。
参数:
| 字段 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| query | string | 是 | 搜索查询关键词或短语,用于指定需要搜索的内容。 支持自然语言查询,可以包含多个关键词。Agent应该根据用户意图构建合适的查询语句,确保搜索结果的准确性和相关性。 最佳实践: 1) 使用简洁明确的关键词组合; 2) 对于复杂查询,可以拆分为多个简单查询; 3) 避免使用过于宽泛或模糊的词语。 |
| model | string | 否 | 指定是否使用大语言模型对搜索结果进行总结,以及使用哪个模型进行总结。 默认值为空字符串即为基础搜索,直接返回原始搜索结果。 当指定模型名称时(如"ERNIE-3.5-8K"),系统将使用对应的大模型对搜索结果进行智能总结。 此参数会显著影响其他参数的行为: 1) 当未指定时,temperature、top_p等LLM相关参数将失效; 2) 当指定时,搜索结果会经过LLM处理,可能改变原始结果的呈现方式。 最佳实践: 1) 对于需要深入分析或总结的查询,建议使用ERNIE-3.5-8K或更高级的模型; 2) 对于只需要原始搜索结果的查询,保持默认值即可; 3) 根据实际需求选择合适的模型版本。 |
| instruction | string | 否 | 用于控制搜索结果输出风格和格式的指令参数。 如:结果排序方式、内容过滤条件、输出格式等。 当未指定时,将使用默认的搜索结果展示方式。 最佳实践: 1) 明确指定需要的输出格式(如列表、摘要等); 2) 指定结果排序方式(如按时间、相关性等); 3) 设置内容过滤条件(如排除特定类型的内容)。 |
| temperature | float | 否 | 控制模型输出随机性的采样参数,取值范围为(0, 1]。默认值为1e-10。 该参数仅在model参数指定了LLM模型时生效。 参数影响模型输出的多样性和稳定性: 值越大,输出结果越多样化但可能不够稳定; 值越小,输出结果越确定和集中。 最佳实践: 1) 对于事实性查询,建议使用较低的值(如0.1); 2) 对于创意性内容,可以使用较高的值(如0.7); 3) 避免使用极端值(接近0或1)。 |
| top_p | float | 否 | 控制模型输出多样性的核采样参数,默认值为1e-10。 该参数仅在model参数指定了LLM模型时生效。 参数通过设置累积概率阈值来筛选候选词: 值越小,模型会从更少的候选词中选择,输出更加确定和保守; 值越大,模型会考虑更多的候选词,输出更加多样和创造性。 最佳实践: 1) 通常建议设置为0.7-0.9之间; 2) 与temperature参数配合使用,共同控制输出质量; 3) 对于需要高准确性的场景,建议使用较低的值。 |
| resource_type_filter | list | 否 | 指定搜索资源的类型和每种类型返回的结果数量。 默认配置为[{"type": "web","top_k": 10}],表示只返回网页类型的搜索结果,且最多返回10条。 每种资源类型(web、image、video等)的top_k取值范围为1~10。 例如: 当search_top_k=10且resource_type_filter=[{"type": "web","top_k": 4}]时,实际返回的网页数量为4。 最佳实践: 1) 根据查询需求选择适当的资源类型组合; 2) 合理分配各类型资源的返回数量; 3) 对于多类型查询,建议每种类型设置3-5条结果; 4) 避免请求过多不必要的结果类型。 |