LangChain结合通义千问的自建知识库_langchain 通义千问

本文档介绍了如何使用LangChain库进行文本切分、加载本地Embedding模型、保存向量数据库以及检索数据库中的相似样本。首先,通过LangChain的UnstructuredFileLoader加载文本并使用RecursiveCharacterTextSplitter进行切分。接着,加载HuggingFaceEmbeddings模型,以离线方式处理文本。随后,利用Chroma创建和持久化向量数据库。最后,演示了如何在数据库中检索相似样本,为后续使用大语言模型进行总结归纳做准备。
摘要由CSDN通过智能技术生成

调用阿里通义千问大语言模型API-小白新手教程-python

1.文本切片

在构建知识库的过程中,文本切片是一项关键步骤,其目的在于将大型文档分解成更小、更易于管理的单元、提升检索效率

​ 使用LangChian库进行文本切分,实现代码如下,之后对关键代码进行详细介和API函数的参数介绍。

from langchain_community.document_loaders import UnstructuredFileLoader

旧版用法

from langchain.document_loaders import UnstructuredFileLoader

from langchain.text_splitter import RecursiveCharacterTextSplitter

导入文本

loader = UnstructuredFileLoader(“test.txt”)

将文本转成 Document 对象

data = loader.load()
print(f’documents:{len(data)}')

初始化加载器

text_splitter = RecursiveCharacterTextSplitter(chunk_size=100, chunk_overlap=0)

切割加载的 document

split_docs = text_splitter.split_documents(data)
print(“split_docs size:”,len(split_docs))
print(split_docs)

UnstructuredFileLoader主要用于加载文件中未结构化的文本,用于对未处理的文件进行一些预处理编码识别,格式规范化等,确保文本数据识别接下来的预处理,该函数可以用于读取txt文件,不能处理csv格式文件 csv格式文件请使用langchain_community.document_loaders.csv_loader加载

加载文档做处理文档的准备工作

loader = UnstructuredFileLoader(“test.txt”)

调用load发开始进行预处理的过程

data = loader.load()

  • langchain.text_splitter.RecursiveCharacterTextSplitter

RecursiveCharacterTextSplitter将使用Unstr

  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值