基于LangStudio&DeepSeek的RAG及联网搜索聊天机器人解决方案

更新时间:2025-03-14 08:57:26

本文详细介绍了如何使用LangStudio构建“Chatbot with RAG and Web Search”应用流。该应用流通过集成实时联网搜索和RAG能力,为模型提供了额外的联网搜索和特定领域知识库的能力,从而在处理用户输入的问题时,能够结合实时搜索结果和知识库提供更准确的回答。开发者可以基于该模板进行灵活扩展和二次开发,以满足特定场景的需求。

背景信息

在现代信息技术迅速发展的背景下,"Chatbot with RAG and Web Search" 应用流通过结合实时联网搜索和生成式人工智能的优势,为用户提供更全面和精准的回答。通过集成实时网络搜索和RAG能力,使模型不仅能够从特定领域的知识库中获取专业信息,还可以利用最新的网络数据进行实时更新和补充。这种双重信息源的结合,使得应用在金融、医疗等需要高度精确信息的领域中表现尤为出色。开发者可以基于该应用流的模板进行灵活的扩展和定制化开发,以更好地满足不同应用场景的需求,从而提升用户体验和决策支持能力。

前提条件

已通过SerpApi官网注册账号并获取api_key(免费版每月可提供100次搜索机会)。

1. (可选)部署LLMEmbedding模型

Chat With RAG and Web Search应用流需要用到LLMEmbedding模型服务,本节将详细介绍如何通过ModelGallery快速部署所需的模型服务。若您已有符合要求的模型服务,且服务支持OpenAI API,则可跳过此步骤,直接使用现有服务。

前往快速开始 > ModelGallery,分别部署以下两种场景的模型。更多部署详情,请参见模型部署及训练

2. 创建连接

2.1 创建LLM服务连接

本文创建的LLM模型服务连接基于快速开始 > Model Gallery中部署的模型服务(EAS服务)。更多其他类型的连接及详细说明,请参见服务连接配置

进入LangStudio,选择工作空间后,在服务连接配置 > 模型服务页签下单击新建连接,创建通用LLM模型服务连接。

image

关键参数说明:

参数

说明

参数

说明

模型名称

当通过Model Gallery进行模型部署时,可通过模型详情页(在Model Gallery页单击模型卡片)查看模型名称的获取方法,详情请参见创建连接-模型服务

服务提供方

  • PAI-EAS模型服务:本文使用PAI-EAS模型服务。此时EAS服务可选择1. (可选)部署LLMEmbedding模型中部署的LLM服务。选择之后,base_urlapi_key会自动填充,分别对应已部署LLMVPC访问地址和Token。

  • 第三方模型服务:使用第三方模型服务,例如当第三方为DeepSeek官方服务时,base_urlhttps://api.deepseek.com,api_key可从DeepSeek 官网获取。

2.2 创建Embedding模型服务连接

2.1 创建LLM服务连接类似,创建通用Embedding模型服务连接。

image

2.3 创建SerpApi连接

服务连接配置 > 自定义连接页签下单击新建连接,创建SerpApi连接。配置前提条件中获取的api_key。

image

3. 创建知识库索引

具体操作,请参见查看工作流任务

4. 创建并运行应用流

  1. 进入LangStudio,选择工作空间后,在应用流页签下单击新建应用流,创建Chatbot with RAG and Web Search应用流。

    image

  2. 启动运行时:单击右上角启动运行时并进行配置。注:在进行Python节点解析或查看更多工具时,需要保证运行时已启动。

    image

    关键参数说明:

    专有网络配置:如果3. 创建知识库索引中向量数据库类型为Milvus,则需配置Milvus实例相同的专有网络,或确保已选的专有网络和Milvus实例所在的专有网络已经互通;如果向量数据库类型为Faiss,则无需配置专有网络。

  3. 开发应用流。应用流中的其余配置保持默认或根据实际需求进行配置,关键节点配置如下:

    • 知识库检索:在知识库中检索与用户问题相关的文本。 更详细的内容介绍,请参见使用知识库索引

      • 知识库索引名称:选择3. 创建知识库索引中创建的知识库索引。

      • Top K:返回Top K条匹配的数据。

    • serp搜索:使用SerpAPI进行联网搜索,返回指定数量的搜索结果。

      • SerpApi连接:选择2.3 创建SerpApi连接中创建的SerpApi连接。

      • 搜索引擎:支持常见的搜索引擎,如bing、google、baidu、yahoo,也支持自定义的输入。更多搜索引擎支持及其他参数介绍请参见SerApi官网

    • 大模型节点:使用检索到的文档和Serp搜索结果作为上下文,与用户问题一起发送给大语言模型,生成回答。

      • 模型设置:选择2.1 创建LLM服务连接中创建的连接。

      • 对话历史:是否启用对话历史,将历史对话信息作为输入变量。

  4. 调试/运行:单击右上角运行, 开始执行应用流。

    image

  5. 查看链路:单击生成答案下的查看链路,查看Trace详情或拓扑视图。

    image

5. 部署应用流

在应用流开发页面,单击右上角部署,将应用流部署为EAS服务。部署参数其余配置保持默认或根据实际需求进行配置,关键参数配置如下:

  • 资源部署 > 实例数:配置服务实例数。本文部署仅供测试使用,因此实例数配置为1。在生产阶段,建议配置多个服务实例,以降低单点故障的风险。

  • 专有网络 > VPC:由于SerpApi服务需要访问公网,因此需要配置具备公网访问能力的VPC(EAS服务默认不可访问公网),详情请参见配置公网连接

更多部署详情,请参见应用流部署

6. 调用服务

部署成功后,跳转到PAI-EAS,在在线调试页签下配置并发送请求。请求Body中的Key与应用流中“开始节点”中的参数"对话输入"字段一致,本文使用默认字段question

image

更多调用方式(如API调用)及详细说明,请参见调用服务

相关文档

  • 本页导读 (1)
  • 背景信息
  • 前提条件
  • 1. (可选)部署LLM和Embedding模型
  • 2. 创建连接
  • 2.1 创建LLM服务连接
  • 2.2 创建Embedding模型服务连接
  • 2.3 创建SerpApi连接
  • 3. 创建知识库索引
  • 4. 创建并运行应用流
  • 5. 部署应用流
  • 6. 调用服务
  • 相关文档
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等