当前位置: 首页 > news >正文

AI学习——向量数据库入门

向量数据库入门一、核心概念1. Chroma 是什么2. RecursiveCharacterTextSplitter 是什么3. 向量存储与检索二、完整入门代码第一步安装依赖第二步完整代码三、解释1. 文本分块 RecursiveCharacterTextSplitter2. Chroma 向量库3. 向量检索最关键四、运行结果五、升级使用真实中文向量模型六、总结一、核心概念1. Chroma 是什么轻量级、本地、免费、无需配置服务器的向量数据库专门用于RAG 入门学习数据存在你电脑文件夹里chroma_db功能存文本、生成向量、按语义搜索2. RecursiveCharacterTextSplitter 是什么LangChain 最标准、最常用的文本分块工具把长文章 → 小段文本chunk按换行 → 句号 → 逗号 → 空格递归切割不会硬切句子保留语义完整性3. 向量存储与检索存储文本 → 生成向量 → 存入 Chroma检索用户问题 → 生成问题向量 → 匹配最相似的文本段这就是RAG 的核心原理二、完整入门代码第一步安装依赖pipinstalllangchain chromadb langchain-community第二步完整代码# # 1. 导入所有需要的工具# fromlangchain.text_splitterimportRecursiveCharacterTextSplitter# 文本分块fromlangchain.vectorstoresimportChroma# 本地向量库fromlangchain.embeddingsimportFakeEmbeddings# 向量生成演示用# # 2. 准备一段长文本知识库# long_text 人工智能是一门让机器模拟人类智能的技术。 大模型基于深度学习可以理解语言、生成内容、回答问题。 RAG 叫做检索增强生成用于让大模型准确引用外部知识减少幻觉。 向量数据库用于存储文本的向量表示实现快速语义检索。 Chroma 是轻量级本地向量库非常适合学习和小型项目。 LangChain 是开发 AI 应用最常用的框架可以连接模型、向量库、分块工具。 文本分块是 RAG 中非常关键的一步可以提高检索精度。 # # 3. 【核心】文本分块RecursiveCharacterTextSplitter# text_splitterRecursiveCharacterTextSplitter(chunk_size100,# 每一块最大长度chunk_overlap20,# 块之间重叠20字符防止语义断裂separators[\n,。,, ],# 按什么符号分割优先级从高到低length_functionlen# 用长度计算)# 执行分块chunkstext_splitter.split_text(long_text)# 查看分块结果print( 分块结果 )fori,cinenumerate(chunks):print(f块{i1}:{c})# # 4. 【核心】初始化 Chroma 向量库# embeddingsFakeEmbeddings(size1024)# 入门先用假向量跑通流程# 把分块后的文本存入 ChromadbChroma.from_texts(textschunks,embeddingembeddings,persist_directory./chroma_db# 本地保存路径)# 保存到磁盘db.persist()print(\n✅ 向量库存储完成数据保存在 chroma_db 文件夹)# # 5. 【核心】向量相似度检索# query什么是RAG# 用户问题print(f\n 用户问题{query})# 检索最相似的 2 条结果retrieved_docsdb.similarity_search(query,k2)# 输出结果print(\n 检索结果 )foridx,docinenumerate(retrieved_docs):print(f结果{idx1}:{doc.page_content})三、解释1. 文本分块 RecursiveCharacterTextSplitterchunk_size100# 每块最多100字符chunk_overlap20# 前后重叠20字符保证语义不断裂separators[\n,。,, ]# 优先按换行切 → 再按句号 → 再按逗号为什么要分块大模型一次读不完长文本检索需要小段内容才精准2. Chroma 向量库dbChroma.from_texts(textschunks,# 分块后的文本embeddingembeddings,# 向量模型persist_directory./chroma_db# 存在本地)运行后会自动生成文件夹chroma_db关闭程序数据不会丢失下次可直接加载使用3. 向量检索最关键db.similarity_search(query,k2)query用户问题k2返回最相似的2条内容按语义匹配不是关键词匹配四、运行结果 分块结果 块 1: 人工智能是一门让机器模拟人类智能的技术。 块 2: 大模型基于深度学习可以理解语言、生成内容、回答问题。 块 3: RAG 叫做检索增强生成用于让大模型准确引用外部知识减少幻觉。 块 4: 向量数据库用于存储文本的向量表示实现快速语义检索。 块 5: Chroma 是轻量级本地向量库非常适合学习和小型项目。 块 6: LangChain 是开发 AI 应用最常用的框架可以连接模型、向量库、分块工具。 块 7: 文本分块是 RAG 中非常关键的一步可以提高检索精度。 ✅ 向量库存储完成数据保存在 chroma_db 文件夹 用户问题什么是RAG 检索结果 结果 1: RAG 叫做检索增强生成用于让大模型准确引用外部知识减少幻觉。 结果 2: 文本分块是 RAG 中非常关键的一步可以提高检索精度。五、升级使用真实中文向量模型把 FakeEmbeddings 替换成真实模型fromlangchain.embeddingsimportHuggingFaceEmbeddings embeddingsHuggingFaceEmbeddings(model_nameBAAI/bge-small-zh# 中文最强小模型)六、总结1. 长文本 → 分块RecursiveCharacterTextSplitter 2. 分块 → 生成向量 → 存入 Chroma 3. 用户问题 → 向量检索 → 拿到最相关知识这就是RAG 的完整底层流程。
http://www.gsyq.cn/news/1391551.html

相关文章:

  • Lovable实时聊天模块源码级优化:WebSocket+消息去重+离线兜底,QPS提升4.8倍(附GitHub可运行Demo)
  • 如何快速上手BIThesis:北京理工大学LaTeX论文模板完整实用指南
  • Awoo Installer:为什么它重新定义了Switch游戏安装体验
  • VMware Workstation Pro 17免费激活指南:1000+许可证密钥完整获取与使用教程
  • 如何为你的Agent工具配置Taotoken多模型聚合服务
  • 窗口布局永久保存:PersistentWindows让你的多屏工作区永不混乱
  • NGA论坛优化插件:如何快速提升你的论坛浏览效率与体验
  • 时空知识图谱补全:STSE与S-TSE模型原理与工程实践详解
  • ++ 后端面试核心:Lambda / 仿函数 /function/bind 深度解析
  • USTC Beamer模板终极指南:5分钟搞定专业学术演示的免费方案
  • Lovable平台从0到1上线全记录:3天完成FDA级数据加密+微信生态无缝对接的5个关键决策
  • 小米手表表盘设计终极指南:5分钟掌握Mi-Create免费工具
  • 2026年10款精选论文降AI工具亲测:降AI率实战对比实用指南 - 降AI实验室
  • 5分钟快速部署:Steam挂刀行情站终极监控方案
  • Rust Conversion 工具 trait AsRef AsMut
  • Fast-GitHub:终极GitHub加速解决方案,让国内开发者告别下载缓慢的烦恼
  • 《Cell》刊文:深度剖析RNA修饰在基因调控里的功能及通路
  • 微信删除好友后还能恢复吗?这 10 种情况可以尝试找回
  • 算力飞速增长下,国内数据中心液冷厂家该怎么选? - GrowthUME
  • 单例模式在C++中的使用:原子操作
  • 从Matlab到Vivado:高效生成.coe文件并配置ROM IP核的完整工作流
  • Node js 服务中如何集成 Taotoken 实现统一的多模型 API 调用
  • 2026新榜单:三门峡母婴除甲醛CMA甲醛检测治理公司推荐品牌排行榜 - 金诚回收
  • 美国机器人捡快递,给中国机器人上了一课?
  • 硅量子点LED:利用奥斯特瓦尔德熟化调控发光波长的工艺详解
  • 3步精通Winhance中文版:彻底重塑你的Windows使用体验
  • 终极指南:如何用AutoRaise实现macOS鼠标悬停窗口自动提升与焦点管理
  • “Lovable用不起来”的真相:我们暗访了37家物业公司,发现91%败在这1个角色权限设计盲区
  • Mi-Create 终极指南:免费制作个性化小米手表表盘的完整教程
  • 常州黄金上门回收怕被坑?福运来手把手教你卖高价 - 黄金回收