应用场景:通用搜索领域
百度搜索RAG_PRO组件的综合优势在于通过结合百度搜索的搜索引擎技术和ERNIE模型的语义理解能力,可以更准确地理解用户的搜索意图,并提供与搜索查询相关性更高的搜索结果。
百度搜索RAG_PRO组件支持配置用户指令,temperature,top_p,以及溯源开关等,为用户提供了更灵活的控制选项。 对比旧版百度搜索RAG,新版百度搜索RAG_PRO在支持配置检索个数和检索类型(网页、视频等)方面进行了升级。
一、 看效果
如下示例代码可以直接运行看效果:
import os
# 设置环境变量
os.environ["APPBUILDER_TOKEN"] = "bce-v3/ALTAK-n5AYUIUJMarF7F7iFXVeK/1bf65eed7c8c7efef9b11388524fa1087f90ea58"
print("init done")
import appbuilder
# 创建rag_with_baidusearch对象, 并初始化人设指令
rag_with_baidusearch_pro = appbuilder.RagWithBaiduSearchPro(
model="ERNIE Speed-AppBuilder",
instruction=appbuilder.Message("你是问答助手,在回答问题前需要加上: 很高兴为您解答"))
# 运行rag_with_baidusearch组件,开启拒答、澄清追问、重点强调、友好性提升、溯源能力功能
msg = appbuilder.Message("黑龙江大学开学时间")
result = rag_with_baidusearch_pro.run(
msg, temperature=0.5, stream=True)
# 流式输出运行结果,如果非流式输出直接print(result)
#print(result.content)
for item in result.content:
print(item)
#非流式可以输出搜索的网页链接
for search_baidu in result.extra['search_baidu']:
print(search_baidu['url'])
#生成web页面进行调试
agent = appbuilder.AgentRuntime(component=rag_with_baidusearch_pro)
# 启动 chainlit 服务
agent.chainlit_demo(port=8091)
二、代码说明
初始化参数
-
model
: 模型名称,用于指定要使用的千帆模型。 -
instruction (obj:Message, 可选)
: 可设定人设,如:你是问答助手,在回答问题前需要加上“很高兴为您解答:”
调用参数
调用参数中的 instruction 会覆盖初始化时的参数。
-
msg (obj:Message)
: 输入消息,包含用户提出的问题。这是一个必需的参数。 -
instruction (obj:Message, 可选)
: 可设定人设,如:你是问答助手,在回答问题前需要加上“很高兴为您解答:” -
stream (bool, 可选)
: 指定是否以流式形式返回响应。默认为 False。 -
temperature (float, 可选)
: 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 -
top_p (float, 可选)
: 模型配置的top_p参数,top_p值越高输出文本越多样,top_p值越低输出文本越稳定。取值范围为 0.0 到 1.0,默认值为 1e-10。 -
search_top_k (int, 可选)
: 指定百度搜索返回的检索个数,最多10,默认为4。 -
hide_corner_markers (bool, 可选)
: 溯源开关,默认开。
返回值
- 返回一个
Message
对象,包含模型运行后的输出消息。
三、采用流式输出的效果
![](https://img.haomeiwen.com/i23166491/81f51596f39f9c6b.png)
四、web页面
最后自动打开了chainlit的web操作页面,可以通过UI进行交互
![](https://img.haomeiwen.com/i23166491/758feae8f3bbe986.png)
网友评论