从数据到智能:openGauss+openEuler Intelligence的RAG架构实战

随着人工智能和大规模语言模型技术的崛起,传统的搜索引擎由于其只能提供简单的关键字匹配结果,已经越来越无法满足用户对于复杂、多样化和上下文相关的知识检索需求。与此相对,RAG(Retrieval-Augmented Generation)技术既借鉴了传统搜索引擎的优势,又结合了先进的大语言模型和向量数据库技术,使其能够在复杂查询和自然语言交互中表现得更为智能。这种增强生成技术在很多应用场景下都能提供更丰富和个性化的体验。那么,本地如何快速创建一个RAG智能问答模型呢?

本文将使用openEuler Intelligence智能问答工具和openGauss向量数据库从零到一搭建一个openGauss专有领域智能问答助手,下面让我们一起逐步完成这个技术实践项目。

openEuler Intelligence部署

1. 服务部署总览

1.1 部署图

图片

1.2 软件要求

类型

资源名称

版本

镜像euler-copilot-frameworkeuler-copilot-web
data_chain_back_end
data_chain_web
authhub
authhub-web
opengauss
redis
mysql
minio
mongo
secret_inject

0.9.5
0.9.5
0.9.5
0.9.5
0.9.3
0.9.3
7.0.0-RC1
7.4-alpine
8
empty
7.0.16
dev

模型bge-m3-Q4_K_Mdeepseek-llm-7b-chat-Q4_K_M


工具helm

k3s
ollama

v3.15.0
v1.30.3
0.6.5

2. 构建RAG系统

openEuler Intelligence 是一个基于 openEuler 操作系统的人工智能助手,可以帮助用户解决各种技术问题,提供技术支持和咨询服务。它使用了最先进的自然语言处理技术和机器学习算法,能够理解用户的问题并提供相应的解决方案。其安装模式灵活适配不同环境:

  • 在线模式:自动拉取镜像,一键部署,适合网络畅通的云端或个人开发环境。

  • 离线模式:手动导入镜像文件,保障内网或安全敏感场景下的稳定运行。

两种模式仅在资源准备阶段存在差异,后续使用流程完全一致,用户可根据实际需求自由选择。

2.1 准备资源

1)在线模式

git clone https://gitee.com/openeuler/euler-copilot-framework.git -b dev

2)离线模式

  • 获取Euler Copilot项目
    在Euler Copilot官方仓库下载压缩包,上传至服务器并解压。

    unzip euler-copilot-framework.tar -d <YourPath>

    获取镜像、模型以及工具包

    参照1.2资源列表在 Euler Copilot资源下载地址(https://repo.oepkgs.net/openEuler/rpm/openEuler-22.03-LTS/contrib/eulercopilot/)中下载需要使用的镜像、模型以及工具包。

    确保服务器已创建以下目录,并把下载好的资源放入对应文件夹

/home/eulercopilot/├── images/    # 存放镜像文件├── models/    # 存放模型文件└── tools/     # 存放工具包

在线模式和离线模式仅在资源准备阶段不同,后续步骤完全一致。

2.2 运行部署脚本
# 切换目录至部署脚本路径下cd euler-copilot-framework/deploy/scripts# 为脚本文件添加可执行权限chmod -R +x ./*# 运行部署脚本bash deploy.sh
2.3 开始部署服务

运行完部署脚本后会出现下面的部署菜单列表,我们将采用分步手动部署的方式来完成这个项目,以便更清晰地理解每个环节的实现细节。​​​​​​​

==============================        主部署菜单==============================0) 一键自动部署1) 手动分步部署2) 重启服务3) 卸载所有组件并清除数据4) 退出程序==============================请输入选项编号(0-3): 1

​​​​​​​

# 输入选项编号(0-9),逐步部署==============================       手动分步部署菜单==============================1) 执行环境检查脚本2) 安装k3s和helm3) 安装Ollama4) 部署Deepseek模型5) 部署Embedding模型6) 安装数据库7) 安装AuthHub8) 安装EulerCopilot9) 返回主菜单==============================请输入选项编号(0-9):

这里只要确保每个步骤都能顺利完成且不出现错误提示,即可进入下一环节。如果以下服务pod状态都正常就可以开启访问openEuler Intelligence之旅啦。

​​​​​​​

[root@localhost euler_copilot]# kubectl get pods -ANAMESPACE       NAME                                      READY   STATUS      RESTARTS   AGEeuler-copilot   authhub-backend-deploy-9f46b886b-c25nl    1/1     Running     0          29heuler-copilot   authhub-web-deploy-7957555974-7fgsx       1/1     Running     0          29heuler-copilot   framework-deploy-cffdfc75f-pvv4c          1/1     Running     0          9m21seuler-copilot   minio-deploy-746786cf66-6rnwt             1/1     Running     0          29heuler-copilot   mongo-deploy-c89868d7d-5nczl              1/1     Running     0          29heuler-copilot   mysql-deploy-7c6b8997cf-xrqjp             1/1     Running     0          29heuler-copilot   opengauss-deploy-968d7848d-vqgjw          1/1     Running     0          11meuler-copilot   rag-deploy-79ddfd786d-rtzw9               1/1     Running     0          38seuler-copilot   rag-web-deploy-7df6d6b66d-bkh5v           1/1     Running     0          19heuler-copilot   redis-deploy-7fb5b67844-kv9mz             1/1     Running     0          29heuler-copilot   web-deploy-59dcfb78f7-cd54l               1/1     Running     0          19hkube-system     coredns-576bfc4dc7-9v7dm                  1/1     Running     0          29hkube-system     helm-install-traefik-crd-wwv9f            0/1     Completed   0          19hkube-system     helm-install-traefik-dgszg                0/1     Completed   0          19hkube-system     local-path-provisioner-6795b5f9d8-msz9p   1/1     Running     0          29hkube-system     metrics-server-557ff575fb-grbm6           1/1     Running     0          29hkube-system     svclb-traefik-be11ef18-qzv8d              2/2     Running     0          29hkube-system     traefik-5fb479b77-pcbgr                   1/1     Running     0          29h

注意,如果本地有ollama服务并拉取了embedding和chat大模型,可以跳过3-5步骤,在安装完openEuler Intelligence服务后修改模型配置即可,下面是修改步骤及内容。

cd euler-copilot-framework/deploy/chart/euler-copilot
    vim values.yaml

    图片

    按照上图修改模型名称后更新euler-copilot的部署:

    helm upgrade euler-copilot -n euler-copilot .

    其他GPU/NPU模型部署参考:https://gitee.com/openeuler/euler-copilot-framework/blob/master/docs/user-guide/%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97/%E7%BD%91%E7%BB%9C%E7%8E%AF%E5%A2%83%E4%B8%8B%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97.md#%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%87%86%E5%A4%87

    2.4 访问openEuler Intelligence网页界面

    在访问网页前需要先配置域名:​​​​​​​

    # 本地Windows主机中进行配置# 打开 C:\Windows\System32\drivers\etc\hosts 添加记录<服务器IP> authhub.eulercopilot.local(或者您自定义的域名)<服务器IP> www.eulercopilot.local(或者您自定义的域名)

    最后,在浏览器中输入 https://authhub.eulercopilot.local(或者您自定义的域名) 链接访问 openEuler Intelligence 的网页界面:

    图片

    3. 准备openGauss领域知识库

    本文以构建openGauss知识库为例,语料可以在openGauss官网中下载收集。

    首先选择openEuler Intelligence页面左侧工具栏中的知识库,注册账号登录后点击右上角的设置按钮,进行语言模型的选择。这里选择本地ollama部署的llama3.2模型,配置页面如下:

    图片

    接下来就可以创建专属openGauss的资产库了,描述信息填写示例如下:

    图片

    之后点进创建好的资产库就可以导入并解析文档:

    图片

    以下是文本解析后的具体内容,可以通过页面右侧的滑动开关选择是否采用该条文本块:

    图片

    4. 对话测试

    当专属知识库创建完成后,我们可以将其作为外部知识源集成到对话应用中,实现知识增强的智能问答功能。

    • 这里需要先在知识库界面获取资产库ID作为唯一标识,然后进入对话页面,将获得的ID配置到知识库关联设置中,设置页面如下:

    图片

    • 最后我们通过实际测试对比加入知识库前后的回答效果差异,对于"openGauss版本"的提问:
      未接入知识库的回答表现:存在明显的虚构内容,版本号等关键信息失实
      接入知识库后的回答表现:准确返回真实版本信息,附带版本特性说明

      知识库的引入有效杜绝了大模型的虚构回答,确保技术细节的准确性和可靠性。

    图片

    至此,基于openGauss向量数据库的openEuler Intelligence搭建圆满完成。

    总结

    通过本文的实践,我们不仅成功构建了一个基于openEuler Intelligence和openGauss的专有领域智能问答系统,更验证了RAG技术在解决传统搜索局限性方面的强大潜力。这个项目充分展示了如何将前沿的AI技术与专业领域知识深度结合,为开发者提供了一条可复现的技术升级路径。期待读者能将此方案拓展到更多业务场景,推动知识检索技术向更智能、更精准的方向持续演进。

    参考资料

    • openEuler Intelligence无网络环境下部署指南:https://gitee.com/openeuler/euler-copilot-framework/blob/master/docs

    • openEuler Intelligence网络环境下部署指南:https://gitee.com/openeuler/euler-copilot-framework/blob/master/docs

    ### Ollama + DeepSeek-R1:32B + Docker + RAG Flow/Open WebUI 本地部署 #### 简介 DeepSeek是由阿里云推出的大型语言模型,而`DeepSeek-R1:32B`是指该系列的一个特定版本,拥有约320亿参数规模。为了方便用户使用这个强大的模型,可以通过Docker容器化技术以及RAG (Retrieval-Augmented Generation) 流程来进行本地环境下的快速部署。 #### 部署步骤概述 1. **安装Docker**:如果你还没有安装Docker的话,则需要先下载并按照官方指南完成其设置过程; - [Docker官网](https://www.docker.com/) 2. **获取镜像文件**: 使用Ollama提供的命令行工具或者直接从仓库拉取包含有预训练权重和其他必要组件的docker image ```bash docker pull ollama/deepseek-r1:32b # 假设这是正确的标签名称 ``` 3. **配置数据集与索引构建**: 对于想要增强生成结果准确性的场景来说,在启动之前还需要准备相应的文本资料库,并通过一些额外脚本创建搜索索引来支持检索增强功能(Retrieve Augment Generate)。 4. **运行Web UI服务端口映射等选项自定义** 根据个人需求调整命令参数如开放HTTP访问地址、设定内存限制等等。 ```bash docker run --name my_deepseek_webui -p 7860:7860 ollama/deepseek-webui:latest ``` 5. **打开浏览器连接至localhost指定端口号即可开始体验** 以上即是在个人电脑上搭建基于ollama平台发布的deepseek大模型加web界面交互的整体流程简介。 --- 需要注意的是实际操作过程中可能会遇到各种问题比如依赖项冲突或者是硬件资源不足等问题,建议参考具体产品的文档说明进一步排查解决办法。 --
    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    Gauss松鼠会

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

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

    余额充值