通过云上数据库三步构建RAG系统

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
智能开放搜索 OpenSearch向量检索版,4核32GB 1个月
OpenSearch LLM智能问答版免费试用套餐,存储1GB首月+计算资源100CU
简介: 本文介绍了如何使用OpenSearch LLM智能问答版通过云上数据库一站式构建RAG系统。

随着AIGC技术日新月异的发展,LLM应用也在持续迭代,检索增强生成(RAG)系统已经成为企业知识库、智能客服、电商导购等场景的核心环节。阿里云OpenSearch LLM智能问答版联合数据集成Data Integration产品,帮助企业和开发者实现分钟级构建专属RAG系统。本教程介绍如何通过云上数据库一站式构建RAG系统。

方案概览

  • OpenSearch-LLM智能问答版:OpenSearch LLM智能问答版内置数据解析与处理、切片、向量化、文本&向量检索、多模态LLM等模型和功能,提供一站式开箱即用的RAG产品,快速构建包含问答、对话、文档链接、参考图片在内的多模态对话式搜索服务,帮助企业和开发者快速搭建专属RAG系统。
  • 数据集成 Data Integration:数据集成 Data Integration是阿里云对外提供的安全、低成本、稳定高效、弹性伸缩的数据同步平台,属于DataWorks的核心能力之一,致力于提供复杂网络环境下、丰富的异构数据源之间高速稳定的数据移动及同步能力。


通过云上数据库一站式构建RAG系统,只需3步:

  1. 创建实例:我们首先分别创建OpenSearch-LLM智能问答版实例以及数据集成Data Integration实例。
  2. 配置数据同步任务:然后我们在数据集成控制台配置数据同步任务,将数据源数据同步到OpenSearch。
  3. 问答测试:最后我们登录OpenSearch-LLM智能问答版控制台对这个RAG系统进行问答效果测试。


创建实例

  1. 购买OpenSearch-LLM智能问答版实例:进入OpenSearch LLM智能问答版售卖页,按需求购买实例。

  2. 购买数据集成Data Integration实例:进入数据集成Data Integration售卖页,按需求购买实例,可选择独享资源通用资源


请务必保证OpenSearch-LLM智能问答版实例和数据集成Data Integration实例在同一地域。

  1. 登录DataWorks控制台,创建DataWorks工作空间,并将已购买的资源组绑定至当前工作空间。
    单击创建工作空间按钮:

    进行资源组配置

配置数据同步任务

  1. DataWorks工作空间列表界面,选择操作栏下选择快速进入->数据集成进入数据集成控制台,在创建同步任务中选择来源和去向后单击开始创建
  • 来源选择当前数据存储的云上数据库(本文以Elasticsearch为例)。
  • 去向选择OpenSearch。


  1. 设置新任务名称,同步类型选择单表离线,然后跳转到Datastudio进行配置。

    新建节点,节点类型选择离线同步,按需选择节点路径并点击确认。

  2. 选择数据源、数据集成资源组。
    按页面要求填写云上数据源,并完成连通性测试(如果未连通则按页面配置完成相应参数调整)。


  3. 单击下一步,完成数据去向配置。
    Elasticsearch数据源同步OpenSearch实例参考配置代码:
{
    "transform": false,
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "elasticsearch",
            "parameter": {
                "search": {
                    "match": {
                        "_type": "_doc"   //Elasticsearch中的数据查询条件
                    }
                },
                "datasource": "test",   //DataWorks中配置的数据源名称
                "retryCount": 30,
                "readTimeOut": "600000",
                "scroll": "1m",
                "column": [   //需要同步至OpenSearch中的原始字段,建议包含id、标题、内容等RAG系统常用字段
                    "id",
                    "title",
                    "content"
                ],
                "index": "main",    //OpenSearch中的表名,如果同步至主表则为main
                "pageSize": "100",
                "type": "default",
                "connTimeOut": "600000",
                "retrySleepTime": "10000"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "opensearch",
            "parameter": {
                "accessId": "",   //云账号accessId
                "endpoint": "http://opensearch.cn-shanghai.aliyuncs.com",   //OpenSearch上海区域Endpoint
                "accessKey": "",    //云账号accessKey
                "indexName": "data_es",   //OpenSearch实例名称
                "host": "http://opensearch-cn-shanghai.aliyuncs.com",   //OpenSearch上海区域host
                "column": [   //同步至OpenSearch的目标字段,OpenSearch主表结构可参考控制台或产品文档
                    "id",
                    "title",
                    "content"
                ],
                "writeMode": "add",
                "batchSize": "10",
                "skipDirtyRecord": "true",
                "ignoreWriteError": "false",
                "table": "main"
            },
            "name": "Writer",
            "category": "writer"
        },
        {
            "copies": 1,
            "parameter": {
                "nodes": [],
                "edges": [],
                "groups": [],
                "version": "2.0"
            },
            "name": "Processor",
            "category": "processor"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "locale": "zh",
        "speed": {
            "throttle": false,
            "concurrent": 2
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

配置完成后,单击运行,即可开启离线数据同步任务。

问答测试

  1. 登录OpenSearch-LLM智能问答版控制台,单击操作栏下的管理按钮进入实例详情界面,在左侧导航栏选择配置中心->数据配置,可查看已导入的文档。

  2. 在左侧导航栏选择问答测试,即可调整问答参数并测试问答效果。

效果预览

OpenSearch-LLM智能问答版支持pdf、doc、html、ppt等丰富形式的非结构化数据,和excel、json等结构化数据,还能支持对于图片等多模态内容的理解,可方便快捷的构建智能问答、对话式搜索系统。

总结

至此,您已完成了云上数据源的数据同步以及RAG系统的搭建,后续只要将OpenSearch相应的接口接入到业务中,就可以支持企业知识库、智能文档、电商导购、教育问答等多种多样的场景。

相关文章
|
22天前
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
13 1
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
11天前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。
|
14天前
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
21天前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
43 2
|
22天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
66 3
|
21天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
22 1
|
1月前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
90 3
|
1月前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
31 2
|
1月前
|
安全 NoSQL 关系型数据库
阿里云数据库:构建高性能与安全的数据管理系统
在企业数字化转型过程中,数据库是支撑企业业务运转的核心。随着数据量的急剧增长和数据处理需求的不断增加,企业需要一个既能提供高性能又能保障数据安全的数据库解决方案。阿里云数据库产品为企业提供了一站式的数据管理服务,涵盖关系型、非关系型、内存数据库等多种类型,帮助企业构建高效的数据基础设施。
58 2
|
1月前
|
存储 NoSQL 关系型数据库
数据库管理系统
【10月更文挑战第8天】
58 1
下一篇
无影云桌面