基于腾讯云ES混合搜索与DeepSeek,十分钟构建RAG 应用

点击蓝字⬆ 关注我们

e7d380f9d766c49971e9a19230f39c9a.gif

本文共计1669字 预计阅读时长6分钟

随着数据智能技术的不断发展,以大语言模型(LLM)驱动的AIGC为代表的内容生成技术已经成为企业数据智能能力中不可或缺的一部分,但传统的内容生成技术存在信息更新不及时、垂直领域知识匮乏、模型幻觉等问题,如何推进大模型在各行业、各业务场景落地是各方普遍关注的问题,而检索增强生成(Retrieval-Augmented Generation,RAG)技术则为此提供了有效的解决方案,成为数据智能时代的一大趋势。

RAG是一种结合了检索和大语言模型内容生成的技术方案,它通过引用外部知识库,在用户输入Query时检索出知识,然后让模型基于可信的知识进行用户回答。RAG具有较高的可解释性和定制能力,可大幅降低大语言模型的幻觉,适用于问答系统、文档生成、智能助手等多种自然语言处理任务。本文将通过介绍腾讯云ES 一站式 RAG 方案,演示如何通过结合腾讯云 ES 与 DeepSeek 大模型,快速构建 RAG 应用。

腾讯云ES 一站式 RAG 方案

腾讯云ES是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack,支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。在自研内核方面,腾讯云ES依托腾讯内外部海量业务的运营经验,针对ES内核进行了成本、性能、稳定性、拓展性等方面的优化,是全球第三方企业开源贡献第一的团队,使用腾讯云ES可以高效构建在线搜索、向量检索、日志分析、运维监控、智能问答等服务。

在RAG方面,腾讯云ES支持了一站式向量检索、文本+向量混合搜索、倒数排序融合、与大模型集成、GPU高性能推理、字段级别权限控制等能力,同时针对查询性能做了大量优化,有效的提升了数据检索效率,目前已落地微信读书“AI 问书”、微信输入法“问 AI”、腾讯地图、腾讯会议、IMA Copilot、乐享智能搜索等大型应用中。

8a29e3a3051cddef4fa76d6dbc42bb7e.png

同时,作为国内公有云首个从自然语言处理、到向量生成/存储/检索、并与大模型集成的端到端一站式技术平台,腾讯云ES作为核心参编单位参与了由中国信通院发起的的RAG标准制定,并成为首个通过RAG权威认证的企业。

88b131cd5aa09237cb50686c82b0e554.png

AI 助手构建

购买ES 集群

1、登录 登录-腾讯云

2、点击「新建」:

f6bb0b950f54dc4eab63f0b915398ecf.png


3、计费模式为按量计费,产品版本为标准版、ES 版本为 8.13.3、商业特性为白金版:

91c9d07c7394d99dd461ac5f6f415641.png

ES 节点配置,测试环境可选择为ES.S1(2核4G),节点数为2,磁盘为通用型SSD,磁盘容量为 20GB:

7762c179a6d2cb96da9b1c74b9c2c97f.png

登录Kibana

访问 Kibana,设置公网访问策略:

c77acba85f9f657475e510d0db133732.png

2、获取当前 IP 地址并设置到 IP 白名单中:

### 基于 Ollama 和 AnythingLLM 的 DeepSeek-R1 本地 RAG 实现 #### 准备工作 为了在本地环境中部署并使用带有RAG功能的DeepSeek-R1模型,需先安装Ollama工具以及设置AnythingLLM环境。Ollama允许以类似于容器镜像的方式管理和下载所需的训练文件[^2]。 ```bash # 安装ollama CLI工具 pip install ollama-cli ``` #### 下载和启动模型 通过指定命令可以轻松获取特定版本的DeepSeek-R1模型,并将其作为服务启动: ```bash # 使用ollama拉取并运行7B参数量的DeepSeek-R1模型实例 ollama pull deepseek-r1:7b ollama run deepseek-r1:7b ``` #### 配置 AnythingLLM 访问前端 完成上述操作后,下一步是在AnythingLLM中配置Web界面以便能够已加载的模型交互。这通常涉及编辑配置文件来指向正在运行的服务地址。 ```json { "model": { "name": "deepseek-r1", "version": "7b", "url": "http://localhost:8000" } } ``` #### 构建检索增强生成(Retrieval-Augmented Generation, RAG) 对于构建完整的RAG系统而言,在已有基础上还需集成文档索引库(如Elasticsearch、FAISS等),用于存储外部知识源供查询时调用。当接收到用户输入后,应用程序会首先向这些索引发起搜索请求,收集相关信息片段后再传递给DeepSeek-R1进行最终的回答合成处理。 ```python from elasticsearch import Elasticsearch import requests def retrieve_documents(query): es = Elasticsearch() response = es.search(index="knowledge_base", body={"query": {"match": {"content": query}}}) documents = [hit["_source"]["content"] for hit in response["hits"]["hits"]] return "\n".join(documents) def generate_response_with_rag(user_input): context = retrieve_documents(user_input) payload = { 'prompt': f"Context:\n{context}\n\nQuestion:{user_input}", 'max_tokens': 50, 'temperature': 0.9 } api_url = "http://localhost:8000/generate" response = requests.post(api_url, json=payload).json() generated_text = response['choices'][0]['text'] return generated_text.strip() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值