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

深度学习-113-RAG技术之基于Langchain和Streamlit搭建本地私人知识库提升效果

文章目录

  • 1 技术选型
    • 1.1 嵌入模型OllamaEmbeddings
    • 1.2 加载文档TextLoader【关键】
    • 1.3 文本拆分RecursiveCharacterTextSplitter【关键】
    • 1.4 向量存储FAISS
    • 1.5 检索器
    • 1.6 创建RAG问答链【关键】
  • 2 结合Streamlit
    • 2.1 代码文档
    • 2.2 应用示例
    • 2.3 改进方向
  • 3 附录
    • 3.1 大海和湖泊.txt
    • 3.2 参考附录

1 技术选型

为了实现快速准确的检索,需要为分割后的文本块生成向量嵌入(构建非英文RAG(Retrieval-Augmented Generation)系统时,embedding很重要),并将其存储在 FAISS 索引中。向量嵌入能够将文本转换为计算机易于处理的数值向量形式,使得文本之间的相似度计算更加高效。OllamaEmbeddings提供了强大的嵌入生成功能,能够生成高质量的向量表示。

FAISS 则是一款高效的向量数据库,它支持快速的相似性搜索,能够在大量向量中快速找到与查询向量最相似的文本块。通过设置检索参数 “k=3”,系统会在搜索时返回最相关的 3 个文本块,这与大模型专注检索的特性相匹配,确保了系统能够快速获取关键信息,为生成准确的回答提供有力支持。

1.1 嵌入模型OllamaEmbeddings

from langchain_chroma import Chroma
from langchain_ollama import OllamaEmbeddings

相关文章:

  • 【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十七节】
  • Python基于Django的漏洞扫描系统【附源码、文档说明】
  • conda介绍及常用命令举例
  • 【IoTDB 线上小课 11】为什么 DeepSeek 要选择开源?
  • 查看 redis 主从数据库之间的延迟情况
  • 什么关系型数据库和非关系型数据库
  • Java 单元测试框架之 Mockito 详细介绍
  • C语言表驱动法
  • 【SpringBoot苍穹外卖】debugDay02
  • 飞牛OS与昔映OS深度对比
  • debian和ubuntu安装python3.8并修改默认python版本
  • Renesas RH850 EEL库介绍
  • 自动化办公|xlwings 数据类型和转换
  • 炸裂:SpringAI内置DeepSeek啦!
  • 服务器被暴力破解的一次小记录
  • 基于A*算法与贝塞尔曲线的路径规划与可视化:从栅格地图到平滑路径生成
  • 动手学深度学习---深层神经网络
  • 如何评估云原生GenAI应用开发中的安全风险(下)
  • Python 依赖管理的革新——Poetry 深度解析
  • 简单记录一下自己对springboot过程的理解
  • 我驻苏丹使馆建议在苏中国公民尽快撤离
  • 债券市场“科技板”来了:哪些机构能尝鲜,重点支持哪些领域
  • 央行、证监会:科技创新债券含公司债券、企业债券、非金融企业债务融资工具等
  • 德国联邦议院6日下午将举行总理选举第二轮投票
  • 为什么所有动物里,只有人类幼崽发育得这么慢?
  • 马克思主义理论研究教学名师系列访谈|石书臣:思政课是落实立德树人的关键