HoRain云--LangChain RAG
RAGRetrieval-Augmented Generation检索增强生成让 AI 能够基于你的私有文档回答问题不需要微调模型只需将文档向量化存储Agent 就能检索相关内容来回答。RAG 是什么普通的大模型只能回答训练数据中有的内容。如果你的文档是私有的公司内部文档、个人笔记模型就不知道。RAG 解决了这个问题离线阶段将文档切分成小块 → 用 Embedding 模型转换为向量 → 存入向量数据库在线阶段用户提问 → 将问题转为向量 → 在向量数据库中搜索最相似的内容 → 将检索到的内容作为上下文发给模型 → 模型基于检索内容回答RAG 工作流程┌──────────────────────────────────────────────────────┐ │ 离线阶段索引 │ │ │ │ 文档 → DocumentLoader → TextSplitter → Embedding │ │ ↓ │ │ VectorStore │ └──────────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────────┐ │ 在线阶段检索 │ │ │ │ 用户提问 → Embedding → 相似度搜索 → 检索结果 │ │ ↓ │ │ 检索结果 用户问题 → 模型 → 回答 │ └──────────────────────────────────────────────────────┘环境准备安装 RAG 相关依赖$ pip install langchain-deepseek langchain-chroma chromadb包用途langchain-deepseek提供 OpenAI Embedding 模型langchain-chromaChroma 向量数据库的 LangChain 集成chromadbChroma 向量数据库轻量级适合入门Embedding 模型初始化实例from dotenv import load_dotenvload_dotenv()from langchain_openai import OpenAIEmbeddings# OpenAI 的文本嵌入模型# 将文本转换为向量一组浮点数embeddings OpenAIEmbeddings(modeltext-embedding-3-small)# 测试将一段文本转为向量text 菜鸟教程 RUNOOB 是一个编程学习平台vector embeddings.embed_query(text)print(f文本: {text})print(f向量维度: {len(vector)}) # text-embedding-3-small 是 1536 维print(f向量前 5 个值: {vector[:5]})运行结果文本: 菜鸟教程 RUNOOB 是一个编程学习平台 向量维度: 1536 向量前 5 个值: [0.0123, -0.0045, 0.0234, -0.0012, 0.0089]创建向量存储实例from langchain_openai import OpenAIEmbeddingsfrom langchain_chroma import Chroma# 初始化 Embedding 模型embeddings OpenAIEmbeddings(modeltext-embedding-3-small)# 创建 Chroma 向量存储数据保存在本地目录vector_store Chroma(collection_namerunoob_docs,embedding_functionembeddings,persist_directory./chroma_db, # 持久化目录)# 添加文档最简单的形式文本列表texts [菜鸟教程RUNOOB是一个免费的编程学习网站提供 HTML、CSS、JavaScript、Python 等教程。,Python3 基础教程共 30 章适合零基础入门包含环境搭建、语法基础、面向对象等内容。,HTML 基础教程共 25 章覆盖 HTML 标签、表单、多媒体等基础知识。,]# add_texts 自动将文本转为向量并存储vector_store.add_texts(texts)print(f已添加 {len(texts)} 个文档到向量存储)语义检索实例# 语义搜索——不依赖关键词匹配而是语义相似度results vector_store.similarity_search(我想学 Python有什么教程推荐,k2, # 返回最相似的 2 个结果)print(搜索结果)for i, doc in enumerate(results):print(f\n结果 {i1}:)print(f 内容: {doc.page_content})print(f 元数据: {doc.metadata})运行结果搜索结果 结果 1: 内容: Python3 基础教程共 30 章适合零基础入门... 元数据: {} 结果 2: 内容: 菜鸟教程RUNOOB是一个免费的编程学习网站... 元数据: {}注意第一个搜索结果比第二个更相关——虽然第一个包含 Python 关键词但它按 语义相似度 而非关键词匹配排序。这就是向量检索的优势。创建 Retriever 检索器Retriever 是 Vector Store 的标准化接口实例# 从 vector_store 创建 retrieverretriever vector_store.as_retriever(search_typesimilarity, # 相似度搜索search_kwargs{k: 3}, # 返回前 3 个结果)# 使用 retrieverdocs retriever.invoke(Python 学习路线)for doc in docs:print(f- {doc.page_content[:60]}...)

相关新闻

HoRain云--LangChain 多 Agent

HoRain云--LangChain 多 Agent

当一个任务太复杂,单个 Agent 难以胜任时,你可以创建多个各司其职的 Agent,让它们像团队一样协作。为什么需要多 Agent单个 Agent 的问题:system_prompt 太长会导致模型注意力分散工具太多会增加模型选择工具的出错概率不同类型的…

2026/7/14 0:38:21阅读更多 →
系统规划与管理师-云原生系统建设规划与实践案例

系统规划与管理师-云原生系统建设规划与实践案例

一、引言云原生是基于云计算技术架构的软件设计、开发、部署和运行的方法论体系,核心包含微服务、容器、DevOps、持续交付四大核心要素,是软考高级系统规划与管理工程师 IT 战略规划、信息系统架构领域的重要考点,本章在历年考试中分值占比 4…

2026/7/14 0:33:20阅读更多 →
系统规划与管理师-云原生系统规划核心考点解析

系统规划与管理师-云原生系统规划核心考点解析

一、引言云原生是软考高级系统规划与管理工程师考试中云服务规划模块的核心考点,本章分值占比 6-8 分,题型以客观选择题为主,核心考察概念辨析、架构特征匹配、技术场景应用三类内容。 从发展脉络来看,云原生概念起源于 2010 年 P…

2026/7/14 0:33:20阅读更多 →
UE5安卓打包实战:从Gradle下载失败到APK部署的完整日志分析与解决方案

UE5安卓打包实战:从Gradle下载失败到APK部署的完整日志分析与解决方案

1. 项目概述:一次典型的UE5安卓打包“渡劫”之旅如果你正在用虚幻引擎5.3(UE5.3)开发移动端项目,并且卡在了打包生成APK(Android Package)这一步,尤其是被那个令人头疼的“Gradle下载失败”问题…

2026/7/14 21:41:09阅读更多 →
PUMA560机械臂MATLAB避障路径规划实战包:含RRT原始版与平滑优化版双算法

PUMA560机械臂MATLAB避障路径规划实战包:含RRT原始版与平滑优化版双算法

本文还有配套的精品资源,点击获取 简介:提供一套开箱即用的PUMA560六轴机械臂MATLAB仿真资源,聚焦三维空间下的自动避障路径规划。内置两种RRT实现:基础RRT算法(RRT.m)快速生成可行路径,优化…

2026/7/14 21:41:08阅读更多 →
3DsMax到UE5毛发制作全流程:引导线生成与Groom系统实战

3DsMax到UE5毛发制作全流程:引导线生成与Groom系统实战

1. 项目概述:从3DsMax到UE5的毛发制作之旅如果你正在为UE5里的角色做毛发,尤其是从3DsMax这类DCC软件里导出的模型,大概率已经体会过那种“模型看着还行,毛发一上就穿帮”的尴尬。UE5的Groom毛发系统功能强大,但它的工…

2026/7/14 21:41:08阅读更多 →
价值系统CT扫描:工程化诊断演化、强化与极限

价值系统CT扫描:工程化诊断演化、强化与极限

1. 项目概述:这不是一篇哲学论文,而是一套可操作的价值系统诊断工具“Mantic”这个词本身就很值得玩味——它源自古希腊语mantis,意为“先知”或“占卜者”,但在这里,它被赋予了全新的实践意义:一种对价值系…

2026/7/14 21:41:08阅读更多 →
模板驱动型文档自动化:结构化生成与确定性交付

模板驱动型文档自动化:结构化生成与确定性交付

1. 项目概述:当文档生产变成“填空题”,而不是“命题作文”你有没有过这种体验:每周要交三份客户方案,每份结构雷同——封面、目录、执行摘要、服务模块、报价单、附录;但每次都要从零新建Word,手动调格式、…

2026/7/14 21:41:08阅读更多 →
多维聚合后的数据操作:从GROUP BY到业务决策的跃迁

多维聚合后的数据操作:从GROUP BY到业务决策的跃迁

1. 项目概述:为什么多维聚合中的数据操作不是“加个GROUP BY”就完事了“Part 20: Data Manipulation in Multi-Dimensional Aggregation”——这个标题乍看像教科书里一个平平无奇的章节编号,但如果你正在处理销售仪表盘、用户行为漏斗、IoT设备时序统计…

2026/7/14 21:36:08阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/14 4:56:14阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/14 2:55:05阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/14 6:17:41阅读更多 →
【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

更多请点击: https://intelliparadigm.com 第一章:Cursor数据库安全红线概览 Cursor 作为一款基于 AI 的智能编程助手,其本地数据库(SQLite 存储)承载着用户代码片段、会话历史、自定义规则及敏感上下文信息。理解其安…

2026/7/14 0:03:18阅读更多 →
【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

更多请点击: https://codechina.net 第一章:Notion AI写作辅助的底层能力边界认知 Notion AI 并非通用大语言模型的直接封装,而是基于 Llama 系列与自研微调模型构建的轻量化推理服务,其输入上下文窗口严格限制在 8192 token&…

2026/7/14 0:03:18阅读更多 →
AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

更多请点击: https://kaifayun.com 第一章:AI Agent数据越界行为的合规性挑战与溯源必要性 AI Agent在自主执行任务过程中,可能因提示注入、上下文污染或权限配置缺陷,无意或有意访问、缓存、传输受保护数据(如PII、G…

2026/7/14 0:03:18阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/14 15:07:30阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/14 4:45:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/14 2:42:17阅读更多 →