基于火山引擎云搜索服务和豆包模型搭建 RAG 推理任务

来源|火山引擎云搜索团队

大语言模型(LLM,Large language model)作为新一轮科技产业革命的战略性技术,其核心能力在于深层语境解析与知识融合。在生成式人工智能方向主要用于图像生成、书写文稿、信息搜索等。当下的 LLM 模型是基于大量数据训练的,目的是让它们掌握广泛的普遍知识,这些知识被储存在它们神经网络的权重(也就是参数记忆)里。但是,如果我们要求 LLM 生成的回答涉及到它训练数据之外的知识,比如最新的、专有的或某个特定领域的信息,这时就可能出现事实上的错误(我们称之为“幻觉”)。

RAG (Retrieval-Augmented Generation,检索增强生成)的核心思想是让语言模型在生成回答或文本时能够动态地从外部知识库中检索相关信息。这种方法能够提高模型生成内容的准确性、可靠性和透明度,同时减少“幻觉”

本文将介绍如何基于火山引擎云搜索服务和方舟平台来构建专属的 RAG 智能问答系统。系统使用 OpenSearch 作为外部知识库,火山豆包作为大语言模型,全流程构建在火山引擎平台上。本次实践采用的语料为火山引擎云搜索服务知识库,将语料处理后存入 OpenSearch 索引中,同时通过部署在云搜索服务 ML 节点上的 Embedding 模型,将原始语料额外转化为向量字段存储在同一个 OpenSearch 索引中,方便后续做混合查询召回。

在查询流程中,用户通过对话框输入问题,RAG 应用会将用户输入的问题通过 Embedding 模型转化为向量,然后使用云搜索服务 OpenSearch 的混合查询功能查询问题向量和问题文本召回 Top n 的文档结果,再将文档结果发送给豆包大模型,最后按照要求根据文档内容回答用户的问题。

准备资源

创建云搜索 ML 服务

登陆火山引擎云搜索服务控制台,创建实例集群,版本选用 Opensearch 2.9.0**。**实例创建完成后可根据实际需求,开通实例和 Dashboards 的公网访问。

  1. 进入实例详情页->ML 服务,配置 CPU /内存比例后启用。

  2. 进入模型服务->公共模型,启动一个模型用于语义嵌入 Embedding,推荐使用 PEG,配置参数后启动。

开通大模型服务

  1. 进入火山引擎方舟控制台,在模型推理下创建推理接入点,接入模型建议选用 Doubao-pro-32k(或者Doubao-lite-32k),创建完成后可以获取到接入点 Endpoint。

  1. 在左侧导航栏进入 API Key 管理,创建 API Key 并记录。
# 填充如下内容,后续会用在rag模型中。``{`  `"model32k": {`    `"host": "https://ark.cn-beijing.volces.com/api/v3",`    `"endpoint": "ep-xxxx-xx",`    `"apikey": ""`  `}``}

配置 NAT 网关

通过配置 NAT 网关使私有网络内部的实例允许通过 NAT 网关访问到公网,用于连接大模型服务。

首先进入火山引擎 NAT 网关控制台,创建公网 NAT 网关。这里需要注意私有网络和子网一定要和云搜索服务实例所在的网络保持一致,可选用自动配置或手动配置:

  • 自动配置会开启私网下所有 ECS 的公网访问,需绑定 EIP(公网 IP);

  • 选择手动配置后需要自行配置公网 IP 和访问规则。

搭建步骤

导入任务数据

  1. 这里演示为基于火山引擎云搜索服务文档语料搭建的推理任务,所以在创建任务时选择模板代码-云搜索文档任务,大家在具体使用中可以根据需求用其他语料库进行搭建。

  1. 增加 Config 参数,参考如下模板填入。

'{`        `"task":"migrate",`        `"dim": 1024,`        `"opensearch": {`            `"username": "opensearch的用户名",`            `"password": "opensearch的密码",`            `"host": "云搜索接入点域名",`            `"port": 9200,`            `"schema": "https",`            `"index": "迁移的索引名称"`        `}`   `}'
  1. 本文演示添加的依赖为云搜索文档任务配置依赖,如果需要额外依赖可以自行在配置中添加。

运行语义嵌入任务

  1. 选择 xc_import_embed 模板任务,Config 参数说明:

'{`        `    "opensearch": {`        `"username": "xxx",`        `"password": "xxx",`        `"host": "opensearch-o-xxxx.escloud.ivolces.com",`        `"port": 9200,`        `"schema": "https",`        `"index": "cloud_serach",`        `"target_index": "cloud_serach"`    `},`    `"embedding": {`           `调用信息复制过来`    `},`    `"field_dict": {`            `"full_title": "full_title_knn",`            `"summary": "summary_knn",`            `"content.summary": "content.summary_knn"`    `}``}'
  1. 文中实践需要添加的依赖配置如下:

启动 RAG 推理服务

  1. 在 TOS Bucket 中上传 RAG 推理服务配置。
|-rag-demo``|--rag_config.json``|--config.json

config.json内容

{}

rag_config.json 格式及代码参考如下:

{`  `"type": "cloud_search_bot",`  `"opensearch": {`    `"username": "admin",`    `"password": "password",`    `"host": "opensearch-o-xxxxx.escloud.ivolces.com",`    `"port": 9200,`    `"schema": "https",`    `"index": "index_name"`  `},`  `"llm": {`    `"model32k": {`      `"host": "https://ark.cn-beijing.volces.com/api/v3",`      `"endpoint": "ep-xxxx-xx",`      `"apikey": ""`    `}`  `},`  `"embedding": {`    `"remote_config" : {`      `"method" : "POST",`      `"url" : "http://url:port/v1/embeddings",`      `"params" : {},`      `"headers" : {`        `"Content-Type" : "application/json"`      `},`      `"advance_request_body" : {`        `"model" : "TownsWu/PEG"`      `}`    `}`  `},`  `"generate":true``}
  1. 创建推理服务(打开私网访问)并启动

完成前面的所有配置操作后,已经可以在相同 VPC 环境的 ECS 中,通过 RAG 模型的调用信息验证云搜索服务文档推理任务了。可以直接在 ECS 命令行中运行调用信息,查看到持续输出 txt 文本内容。

RAG 推理服务演示

为了更加直观的演示云搜索服务文档的 RAG 推理服务,本文借助火山引擎 API 网关产品,为 RAG 推理服务配置一个固定的公网域名。通过直接在浏览器中的固定访问地址访问 RAG 推理服务,并在可视化页面咨询云搜索服务产品的各种问题。

配置公网访问

  1. 进入 API 网关控制台(https://console.volcengine.com/veapig)创建实例,为保证网络畅通需要选择和云搜索实例相同的私有网络和子网。创建完成后进入实例继续创建服务。

  1. 接下来创建 Upstream,后端服务选用固定域名,域名和端口从刚刚启用的 RAG 调用信息内获取。

  1. 并在服务内创建路由,路径选用前缀匹配;Upstream 选用固定域名,使用刚刚创建的 Upstream。

推理问答

创建完成后进入服务列表就可以获取到公网访问域名,拼接 RAG 推理服务的完整访问地址,格式为 http://[url]/?model=[model_name],其中 url 替换为在 API 网关中获取到的服务公网访问域名,model_name 替换为 RAG 模型的名称后就可以在浏览器中通过刚才拼接好的固定域名访问 RAG 推理服务,并在可视化页面中咨询本文所用到的云搜素服务文档库的相关问题。

以上就是以云搜索服务文档库为例,介绍通过火山引擎云搜索服务和方舟平台构建的专属 RAG 智能问答系统,欢迎进入体验馆体验!


火山引擎云搜索服务兼容 OpenSearch、Elasticsearch、OpenSearch DashBoards、Kibana 等软件及常用开源插件,支持全文搜索、向量搜索、混合搜索、时空检索等。提供结构化、非结构化文本的多条件检索、统计、报表,可以实现一键部署、弹性扩缩、简化运维,快速构建日志分析、信息检索分析等业务能力。

更多产品信息

推荐实践

零基础如何学习大模型 AI

领取方式在文末

为什么要学习大模型?

学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。

大模型实际应用案例分享

①智能客服:某科技公司员工在学习了大模型课程后,成功开发了一套基于自然语言处理的大模型智能客服系统。该系统不仅提高了客户服务效率,还显著降低了人工成本。
②医疗影像分析:一位医学研究人员通过学习大模型课程,掌握了深度学习技术在医疗影像分析中的应用。他开发的算法能够准确识别肿瘤等病变,为医生提供了有力的诊断辅助。
③金融风险管理:一位金融分析师利用大模型课程中学到的知识,开发了一套信用评分模型。该模型帮助银行更准确地评估贷款申请者的信用风险,降低了不良贷款率。
④智能推荐系统:一位电商平台的工程师在学习大模型课程后,优化了平台的商品推荐算法。新算法提高了用户满意度和购买转化率,为公司带来了显著的增长。

这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。

学习资料领取

如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

整个学习分为7个阶段
在这里插入图片描述

二、AI大模型实战案例

涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
在这里插入图片描述

三、视频和书籍PDF合集

从入门到进阶这里都有,跟着老师学习事半功倍。
在这里插入图片描述

在这里插入图片描述

如果二维码失效,可以点击下方链接,一样的哦
【CSDN大礼包】最新AI大模型资源包,这里全都有!无偿分享!!!

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
在这里插入图片描述

  • 30
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值