RAG 示例:使用 langchain、Redis、llama.cpp 构建一个 kubernetes 知识库问答

RAG实操教程,LangChain + Llama2 | 创造你的个人LLM 本文将逐步指导您创建自己的RAG(检索增强生成)系统,使您能够上传自己的PDF文件并向LLM询问有关PDF的信息。本教程侧重于图中蓝色部分,即暂时不涉及Gradio(想了解已接入Gradio的,请参考官网)。Llama2ChromaDB核心在于Langchain,它是用于开发由语言模型支持的应用程序的框架。LangChain就像胶水一样,有各种接口可以连接LLM模型与其他工具和数据源,不过现在LangChain正在蓬勃发展中,许多文件或API改版很多。以下我使用最简单的方式示范。 阅读详情

RAG(Retrieval Augmented Generation 检索增强生成)是目前业界中的一种主流方法,通过增加额外知识的方式来减少大语言模型(LLM)的幻觉问题(一本正经的胡说八道)。

RAG 系统概览

null

如上图所示,RAG 系统可以分为两个部分:

  • • Indexing:构建知识库。
  • • Retrieval & Generation:从知识库中获取相关信息,然后生成结果。

Indexing 构建知识库的过程可以分为四步:

  1. \1. Load:加载 PDF、doc、markdown、web 等等形式的知识数据。
  2. \2. Split:由于 LLM 上下文大小的限制,需要将文档进行切割。
  3. \3. Embedding:将文本转换为向量。
  4. \4. store to VectorDB:将文本内容和向量存储至向量数据库,即知识库。

Retrieval & Generation 的过程也是四步:

  1. \1. Embedding:将用户提出的问题转换为向量。
  2. \2. search VectorDB:从知识库中查询与问题语义相近的文本段落。
  3. \3. prompt:将检索出来的文本段落与用户问题合并,生成 prompt。
  4. \4. LLM:将 prompt 提交给大语言模型,得到最终答案。

从上述过程中可以看到,相较于直接把问题提交给 LLM 得到答案,RAG 系统额外构建了一个知识库,并且会把问题跟已有知识相结合,生成新的 prompt 后再提交给 LLM 得到答案。 换句话说,RAG 系统就是在用户提出的问题之外,额外增加了一些上下文/背景信息,这些信息可以是实时信息、也可以是专业领域信息,以此从 LLM 得到更好的回答。

RAG 系统示例

在本示例中,我将使用 langchain、Redis、llama.cpp 构建一个 kubernetes 知识库问答。

langchain 是一个工具包,Redis 被我用作向量数据库,llama.cpp 是一个开源的加载大语言模型的运行时程序。

我在本地使用了 Docker 容器环境进行开发,通过以下 docker-compose 文件拉取依赖的服务:

img

代码示例如下:

null

代码释义:

  • • 加载文档:使用 langchain 抓取 kubernetes 官方文档页面内容。
  • • 切割文档:使用 langchain 切割文档。
  • • 向量化:使用 sentence_transformers 将文本转换为向量:
from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence"]

model = SentenceTransformer('sentence-transformers/all-mpnet-base-v2')
embeddings = model.encode(sentences)
print(embeddings)
  • • 存储至向量数据库:将文本和向量存储至 Redis,你也可以使用其它向量数据库。
  • • 用户提问向量化:使用同样的模型将用户提出的问题转换为向量。
  • • 向量相似性检索:从向量数据库中检索出与提问相似的文本段落。
  • • 组合生成 prompt:将检索出来的信息与用户提问一起合并生成新的 prompt。
  • • 将 prompt 提交给 LLM 得到答案。

最终的测试结果如下:

null

可以看到,加了上下文之后,LLM 给出的答案更好了。

RAG 面临的挑战

RAG 的每一步几乎都面临挑战:

  • • 如何加载不同形式的文档数据?这一步问题倒不大。
  • • 如何切割文档?切割的效果影响了 prompt 的上下文信息,因此也会影响 LLM 生成的结果。
  • • 如何做 embedding,选择哪种模型?
  • • 选择哪个向量数据库?常见的技术选型问题。
  • • 如何将检索出来的信息与用户提问一起合并成新的 prompt?prompt 本来就可以五花八门。
  • • 选择哪个 LLM 以及运行时?就模型而言,Llama 系列算是最火的开源模型了;而运行时则有 llama.cpp(或者在其之上封装的 Ollama)、HuggingFace/transformers、vLLM 等等。

总结

RAG 系统通过引入知识库,扩展了 LLM 对专业领域和实时信息的支持能力,使其在回答专业问题时更加准确高效。
​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

构建本地RAG应用程序 RAG是一种结合信息检索与生成的AI技术。通过使用向量存储来检索相关信息,并利用生成模型来提供更为详尽的答案。这种方法已经成为许多AI应用程序的核心。 阅读详情

相关推荐

基于RAG的Kubernetes知识库问答系统构建实践

检索增强生成(RAG)技术通过结合信息检索与大型语言模型,有效解决了专业领域知识问答中的准确性问题。其核心原理是将用户查询与向量化文档片段进行语义匹配,再将匹配结果作为上下文输入生成模型,显著降低幻觉回答风险。在云原生领域,这种技术特别适合处理Kubernetes等快速迭代的技术文档,实测可将专业问题回答准确率提升40%以上。典型实现方案采用langchain框架构建处理流水线,配合Redis向量数据库实现毫秒级检索,结合llama.cpp等本地化模型部署方案,既保障了数据安全又控制了成本。该架构已广泛应用

weixin_28481133的博客 269

[NLP] 使用Llama.cpp和LangChain在CPU上使用大模型-RAG

下载llama-cpp, llama-cpp-pythonLangChain是一个提供了一组广泛的集成和数据连接器,允许我们链接和编排不同的模块。可以常见聊天机器人、数据分析和文档问答等应用。sentence-transformer提供了简单的方法来计算句子、文本和图像的嵌入。它能够计算100多种语言的嵌入。我们将在这个项目中使用开源的all-MiniLM-L6-v2模型。Facebook AI相似度搜索(FAISS)是一个为高效相似度搜索和密集向量聚类而设计的库。

摩登都市天空---专栏 7264

Python+LangChain+LlamaIndex构建企业级RAG知识库实战

RAG(检索增强生成)是将非结构化文档转化为可问答智能知识库的核心技术范式。其原理在于通过文档解析、语义分块、向量嵌入与混合检索,实现查询意图与知识片段的精准对齐。技术价值体现在可控性、可审计性与离线部署能力,显著区别于黑盒SaaS方案。典型应用场景包括法务合同条款秒级定位、医疗文献跨文档比对、工业设备维修知识即时调用等。本文聚焦Python生态下LangChain与LlamaIndex的协同工程实践,深入解析中文分块失效、扫描PDF OCR处理、BGE-M3嵌入选型及FAISS索引调优等真实痛点,提供可落

weixin_30385925的博客 553

基于RAG架构的Kubernetes知识库问答系统实践

检索增强生成(RAG)是当前AI领域结合信息检索与大语言模型的前沿技术,其核心原理是通过向量数据库存储专业领域知识,在问答时先检索相关文档片段,再交由语言模型生成回答。这种架构有效解决了大模型的幻觉问题,同时保持知识更新的灵活性。在工程实践中,LangChain框架提供了标准化的文档处理流水线,Redis凭借其高性能向量搜索能力成为理想的向量数据库选择,而llama.cpp则使得在本地运行轻量级大模型成为可能。该技术方案特别适用于Kubernetes等快速迭代的技术领域,企业可借此构建准确率高达90%的专业

cuili5839的博客 324

本地RAG实战:用Ollama+LangChain搭建私有知识问答系统

RAG(检索增强生成)是一种将大语言模型与外部知识源动态结合的关键技术,其核心原理是通过向量检索从结构化或非结构化文档中精准召回相关片段,再交由LLM进行上下文感知的生成。相比微调,RAG具备知识实时更新、部署轻量、数据隐私可控等显著技术价值,广泛应用于企业文档问答、合规审计、技术资料检索等需高可信度输出的场景。本文聚焦本地化落地,基于Ollama管理Llama 3.1 8B模型,结合LangChain构建端到端RAG流水线,覆盖PDF/Markdown/Excel等多源文档解析、智能分块、FAISS向量检

adiking520110的博客 349

Llama4应用构建:基于DLAI范式的可监控生产流水线

大语言模型应用开发正从‘模型调用’迈向‘系统工程’——核心在于将强大基座(如Llama系列)转化为稳定、可观测、可运维的业务服务。其底层依赖推理效率优化、长上下文管理、函数调用(function calling)与RAG协同等关键技术,而DLAI提出的分层编排架构(Model/Orchestration/Integration)为此提供了标准化方法论。实践中,LangGraph因其DAG调度、状态持久化与异常恢复能力,显著优于传统线性pipeline;HyDE检索策略则通过假设性文档生成提升知识召回准确率。

weixin_33767813的博客 464

RAG架构构建Kubernetes知识库问答系统实践

检索增强生成(RAG)是当前自然语言处理领域的重要技术范式,通过结合信息检索与生成模型的优势,有效解决了专业领域问答系统中的知识更新和术语理解难题。其核心原理分为检索和生成两阶段:首先从向量数据库中匹配相关文档片段,再将检索结果作为上下文输入大语言模型生成最终回答。这种架构特别适合Kubernetes等技术文档体系完善且更新频繁的领域,能实现零训练成本部署和即时知识更新。在实际工程应用中,RAG系统通常采用langchain框架进行流程编排,配合Redis等高性能向量数据库,以及经过优化的本地化LLM模型。

weixin_33924220的博客 388

私有知识问答系统实战:LangChain+Weaviate+Streamlit落地指南

私有知识问答系统是生成式AI在企业知识管理中的核心落地形态,其本质是通过向量检索增强大模型的可控生成能力。原理上依赖文档切分、中文嵌入向量化、语义相似度匹配与上下文精准注入,技术价值在于杜绝幻觉、保障答案可追溯、支持离线部署。典型应用场景包括工业设备维保、金融合规查询、医疗文献辅助诊断等需强依据性的领域。本文聚焦LangChain流程编排、Weaviate生产级向量存储与Streamlit轻量交互三大组件的深度协同,覆盖OCR容错加载、动态上下文裁剪、多层Prompt路由、st.session_state状

weixin_30500473的博客 480

突破传统RAG瓶颈:LangChain-Chatchat如何实现企业级智能问答实战?

在企业数字化转型浪潮中,如何让AI真正理解并有效利用内部知识库,一直是技术团队面临的重大挑战。传统问答系统要么需要昂贵的API调用,要么难以处理复杂的业务逻辑,要么缺乏对中文场景的深度优化。LangChain-Chatchat作为一款基于LangChain框架的开源RAG与Agent应用,正以全新的技术架构重新定义智能问答系统的构建方式。 ## 核心理念:从工具到平台的进化 LangChain

gitblog_00205的博客 1015

llama.cpp Mac版本llama

骆驼.cpp纯C/C++中模型的推理持 64 的超级块大小目录描述主要目标llama.cpp是在 MacBook 上使用 4 位整数量化运行 LLaMA 模型ARM NEONF16/F32精度最初的实现llama.cpp了。从那时起,由于许多贡献,该项目有了显着改进。该项目用于教育目的,并作为开发库新功能的主要平台。以下是使用 LLaMA-7B 的典型运行:7n512I llama.cppIUNAME_S: DarwinI。

具身机器人和通用AI 2115

基于RAG的企业知识库系统:从文档处理到智能问答的全链路实践

在信息爆炸的时代,如何从海量非结构化文档中精准获取知识,是企业和开发者面临的核心挑战。传统的关键词检索技术(如Elasticsearch)在处理语义复杂、格式多样的文档时,往往力不从心,导致信息孤岛问题日益严重。检索增强生成(RAG)技术应运而生,它通过将文档转化为向量表示,并结合大语言模型(LLM)的生成能力,有效解决了信息“找不着、看不懂、用不好”的难题。其核心价值在于,将静态的文档库升级为动态的智能问答系统,显著提升了知识利用率和团队协作效率。在工程实践中,构建一个生产级的RAG系统,需要精心设计从文

weixin_34342905的博客 342

Llama.cpp:纯C++轻量级LLM推理库实战指南

大语言模型(LLM)本地推理正从GPU密集型服务转向CPU友好型轻量化方案。Llama.cpp作为典型代表,以纯C++实现、GGUF格式支持和多级量化(如Q4_K_M)为核心,兼顾推理速度、内存效率与跨平台兼容性。其设计摒弃Python运行时开销,通过手动内存管理、指令集加速(AVX2/NEON/Metal)和算子融合,在消费级设备上实现稳定token生成。技术价值在于降低AI工程门槛——无需CUDA、不依赖Docker,单文件即可部署。典型应用场景包括离线知识库RAG、嵌入式AI助手、Obsidian等桌

diandingyin9417的博客 405

Oracle EBS R12.2 安装 -- Step by Step

Oracle EBS R12.2 安装 -- Step by Step

Albert Tan DBA之路 1512

基于RAG与Qwen大模型构建金融问答机器人:从原理到工程实践

1. 先搞清楚“新手入门”到底要解决什么问题 看到“80K星标”和“最适合新手入门”这种标题,很多人的第一反应是去找一个“手把手、保姆级、从零到一”的安装配置教程。但如果你真这么做了,大概率会陷入“教程从入门到放弃”的循环:跟着教程装了一堆环境,跑了个“Hello World”示例,然后呢?面对一个真实项目需求,依然不知道从哪里下手。 所以,在动手之前,我们必须先明确目标。一个真正适合新手的AI大模型教程,核心不是教你如何安装Python、配置CUDA,或者跑通一个最简单的文本生成。 它的核心价值在于帮你建

注重长远 天天积累 cqujsjcyj 703

osgEarth实战:5分钟搞定3DTiles模型加载(附完整配置代码)

本文提供了一份osgEarth加载3DTiles模型的实战指南。通过详解核心Earth文件配置与精简的C++集成代码,帮助开发者快速在三维地球场景中集成倾斜摄影与BIM等海量模型,并分享了性能调优与常见问题排查技巧,有效提升开发效率。

jjj34的博客 479

宇树机器狗go2—slam建图(1)点云格式

上一篇番外文章教大家如何在宇树机器狗go2的gazebo仿真环境中实现简单的导航运动,本期文章会教大家如何让宇树的机器狗go2在仿真环境中进行slam建图时经常会遇到的一些点云格式,在后续的slam建图和slam算法解析的时候会经常与这些点云信息打交道。宇树机器狗go2仿真会作为一个长期项目来进行不定期更新,仿真不只限于在gazebo上实现,后面还会在isaac sim等仿真平台上教大家如何搭建,其目的还是帮助各位都能以较低的成本加入到宇树机器狗go2的学习中。

古月居 3271

用LlamaIndex构建个人RAG知识库:零基础打造专属数字分身

RAG(检索增强生成)是一种将大语言模型与私有数据动态结合的关键技术,其核心在于解耦记忆与推理——由向量检索精准定位事实,由LLM组织可信回答。相比微调成本高、提示工程易失效,RAG以低门槛、高可控性成为个人知识管理的首选方案。LlamaIndex凭借对中文语义的深度适配、直观的索引抽象(如VectorStoreIndex、SummaryIndex)及开箱即用的文档处理能力,显著优于通用框架在中文场景下的检索准确率与工程效率。本文聚焦‘个人知识库’这一高频刚需场景,覆盖PDF/Markdown多源解析、语义

dieyuqi2955的博客 360

学Simulink——基于电能质量治理的场景实例:静止无功发生器(SVG)与并网逆变器的结合

本文详细介绍了基于Simulink的SVG与光伏并网逆变器联合仿真建模方法。系统包含光伏单元、SVG主电路、控制策略(无功检测+双闭环控制)等模块,通过ip-iq法实现动态无功补偿。仿真结果表明,SVG能快速响应负载变化,将功率因数提升至0.98以上,有效稳定母线电压。该方案为新能源并网系统提供了有功/无功协同控制解决方案,具有10ms级响应速度和±5kvar补偿能力。文章提供了完整的建模流程、控制算法实现和结果分析,可作为电力电子与电能质量治理领域的实践指导。

amy_mhd的博客 167

Llama 3.3实战指南:GGUF量化、分层架构与技术文档RAG落地

大语言模型(LLM)的工程化落地,核心在于平衡性能、可控性与业务适配性。Llama 3.3作为当前开源旗舰,其真实价值不在于参数规模,而在于推理稳定性、中文理解鲁棒性及轻量部署可行性。本文围绕GGUF量化格式展开,解析其在显存占用、加载速度与中文任务保持率上的综合优势;结合分层架构设计(接口/服务/引擎/数据层),实现同一模型实例对多场景(如客服问答与文案生成)的差异化调度;并通过技术文档智能问答这一高ROI场景,贯通RAG全流程——从bge-m3嵌入、ChromaDB检索到system prompt精简、

weixin_34212762的博客 428

QT C++ AI棉花智能变量灌溉工上位机(信创完整版)

北斗履带灌溉机器人/田间分区电磁阀基站 → 多层土壤温湿度/盐分EC传感器实时采集墒情 → 双目AI视觉扫描棉田长势、病苗分布 → AI融合**生育期+土壤墒情+盐分+棉株长势**计算变量灌溉定额、水肥配比、灌溉时长 → 分区电磁阀/变频水泵变量供水,病弱苗地块减量、干旱地块增量;墒情、盐分、长势多因子闭环修正灌水量;多层土壤含水率(0–10/20–40/40–80cm)、土壤EC盐分、土壤温度、空气温湿度、蒸发量、北斗地块坐标、管道水压、水肥罐液位、分区流量计、水泵电机负载、滴灌带压力反馈。

寒寒豆豆软件公司的博客 186

【异常】Nacos 2.x 核心报错:Server check fail (gRPC 端口连不通) 深度排查

如果 Nacos 运行在 K8s 中,需确保对应的Servicemetadata:spec:ports:port: 8848port: 9848 # 必须暴露此端口selector:app: nacos在 Nacos 2.x 时代,“端口成套出现”是基础设施配置的基本要求。遇到连接失败时,首要检查的不是业务配置,而是网络链路上主端口 + 1000的 TCP 通讯是否被放行。更多关于 AI + 教育领域的干货,可以关注我的微信公众号一时间获取哦~

奶爸的编程之路,也就一周冷个三天 325
上一篇: 想转行吗?不如考虑 新兴赛道-“新生岗位” - AI产品经理
下一篇: Milvus × Dify 半小时轻松构建 RAG 系统
AI_小站
博客等级 码龄3年 6255粉丝 1152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值