Cursor 玩转 百度 AppBuilder

百度AppBuilder提供的AI搜索功能,通过结合传统搜索引擎与大语言模型的能力,为开发者提供了强大的信息获取与处理工具。本文将全面解析百度AppBuilder AI搜索功能的三种使用方式、详细参数配置以及最佳实践,帮助开发者快速集成这一功能到自己的应用中。

三种集成方式详解

1. 一键添加到应用中使用

对于追求快速集成的开发者,百度AppBuilder提供了最简单的一键添加方式。这种方式虽然文档中没有展示具体代码,但通过平台提供的可视化界面,开发者可以快速配置搜索功能并嵌入到自己的应用中,特别适合不熟悉编程或需要快速验证概念的场景。

2. 通过AppBuilder-SDK使用(Python实现)

对于需要更多定制化需求的Python开发者,可以使用AppBuilder提供的SDK进行集成。以下是完整的代码示例和解析:

ini 复制代码
import asyncio
from appbuilder.mcp_server.client import MCPClient

async def main():
    # 创建MCP客户端实例
    client = MCPClient()
    
    # 连接到服务器,需替换service_url中的API Key
    await client.connect_to_server(service_url=service_url)
    
    # 打印可用的工具列表
    print(client.tools)
    
    # 调用AI搜索工具,查询"大连美食有哪些"
    result = await client.call_tool("AIsearch", {"query": "大连美食有哪些"})
    
    # 打印搜索结果
    print(result)

if __name__ == "__main__":
    # 服务URL,注意保留Bearer和API Key之间的"+"
    service_url = (
        "http://appbuilder.baidu.com/v2/ai_search/mcp/sse?api_key=Bearer+<AppBuilder API Key>"
    )
    
    # 获取事件循环并运行主函数
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

3. 通过cursor配置使用

对于需要集中管理多个服务的应用,可以使用JSON配置文件统一管理服务端点:

json 复制代码
{
    "mcpServers": {
        "AISearch": {
            "url": "http://appbuilder.baidu.com/v2/ai_search/mcp/sse?api_key=Bearer+<AppBuilder API Key>"
        }
    }
}

服务配置

百度 MCP Server URL

console.bce.baidu.com/iam/#/iam/a...

搜索实时信息,并使用大模型进行总结回复。

配置说明:

字段 类型 是否必须 说明
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) 对于需要高准确性的场景,建议使用较低的值。
search_recency_filter string 控制>搜索结果的时效性范围,用于筛选指定时间范围内的网页内容。 可选枚举值包括:week(7天)、month(30天)、semiyear(180天)和year(365天)。 最佳实践: 1) 新闻类查询建议使用week或month>; 2) 技术文档查询建议使用month或semiyear; 3) 历史资料查询建议使用year; 4) 根据查询内容的时效性要求选择合适的范围。
search_domain_filter list[string ] 用于限制搜索结果来>源的域名过滤列表。 Agent可以指定一个或多个域名(如["baidu.com"]),系统将只返回这些指定域名的网页内容。 最佳实践: 1) 对于需要权威信息的查询,建议限制在官方或知名网站; 2) 可>以组合多个相关领域的权威网站; 3) 避免过度限制导致结果不足; 4) 根据查询主题选择合适的域名范围。
search_resource_type list 指定搜索资源的类型和每种类型返回的结果数量。 默认配置为[{"type": "web","top_k": 10}],表示只返回网页类型的搜索结果,且最多返回10条。 每种资源类型(web、image、video等)的top_k取值范围为1~10。 当与search_top_k参数同时存在时,本参数具有更高的优先级,即会覆盖search_top_k的设置。 例如: 当search_top_k=10且search_resource_type=[{"type": "web","top_k": 4}]时,实际返回的网页数量为4。 最佳实践: 1) 根>据查询需求选择适当的资源类型组合; 2) 合理分配各类型资源的返回数量; 3) 对于多类型查询,建议每种类型设置3-5条结果; 4) 避免请求过多不必要的结果类型。

Cursor 配置与应用

新建一个MCP Server,当我们看到绿色的圆点代表配置成功。

接下来使用@符号,来引用我们的MCP Server配置,并发送指令请求。

现在来看下最终效果吧。

相关推荐
Morpheon9 小时前
Cursor 1.0 版本 GitHub MCP 全面指南:从安装到工作流增强
ide·github·cursor·mcp
猿小猴子10 小时前
主流 AI IDE 之一的 Cursor 介绍
ide·人工智能·cursor
萌萌哒草头将军10 小时前
🎉🎉🎉Cursor 宣布完成 C 轮 9 亿美元融资,市场估值 99 亿美元!
visual studio code·cursor·trae
憨憨睡不醒啊13 小时前
如何让LLM智能体开发助力求职之路——构建属于你的智能体开发知识体系📚📚📚
面试·程序员·llm
柯南二号13 小时前
深入理解 Agent 与 LLM 的区别:从智能体到语言模型
人工智能·机器学习·llm·agent
用户214118326360216 小时前
03-mcp-server案例分享-手搓一个MCP-server拥有属于自己的MCP
mcp
Q同学16 小时前
TORL:工具集成强化学习,让大语言模型学会用代码解题
深度学习·神经网络·llm
技术爬爬虾16 小时前
从零开始编写Mcp Server, 发布上线,超简单全网最细
mcp
SelectDB技术团队18 小时前
Apache Doris + MCP:Agent 时代的实时数据分析底座
人工智能·数据挖掘·数据分析·apache·mcp
人肉推土机19 小时前
AI Agent 架构设计:ReAct 与 Self-Ask 模式对比与分析
人工智能·大模型·llm·agent