本地知识库可以解决本地资源与AI结合的问题,为下一步应用管理已有资产奠定基础。 本地知识库的建立可参考LangChain结合通义千问的自建知识库 (二)、(三)、(四)
本文主要记录两个方面的问题
1 搭建过程中遇到的坑
2 向量是数据库改成ES7
1 搭建过程中遇到的坑
1) 安装bce-embedding-base_v1模型
需要用git clone到本地,但由于模型比较大,需要先安装git lfs管理大型的文件,再克隆
sudo apt-get install git-lfs
安装成功后,再进入预备安装模型的目录下,执行clone
git clone https://www.modelscope.cn/maidalun/bce-embedding-base_v1.git
- nltk corpora语料库缺失
报错样例如下:

缺少 两个库 punkt和 averaged_perceptron_tagger
解决的方式是离线下载,参考NLTK:离线安装punkt
2 向量是数据库改成ES7
原博中使用Chroma,但我已经装了ES7,所以改用ES7作为向量数据库
原博中两部分代码,导入本地知识库和应用本地知识库,修改如下
导入本地知识库
import time
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.document_loaders import UnstructuredFileLoader
from langchain_community.embeddings.huggingface import HuggingFaceEmbeddings
from langchain_community.vectorstores import ElasticVectorSearch
time_list = []
t = time.time()
# loader = UnstructuredFileLoader("/home/cfets/AI/textwarefare/test.txt")
loader = UnstructuredFileLoader("/home/cfets/AI/textwarefare/cmtest.txt")
data = loader.load()
# 文本切分去。
text_splitter = RecursiveCharacterTextSplitter(chunk_size=50, chunk_overlap=0)
split_docs = text_splitter.split_documents(data)
print(split_docs)
model_name = r"/home/cfets/AI/model/bce-embedding-bas

本文讲述了在将本地知识库与AI结合的过程中,作者遇到的搭建挑战,如安装大型模型所需的git-lfs、NLP库NLTK的解决方法,以及从Chroma迁移到ES7作为向量数据库的步骤。文中详细介绍了如何导入和应用本地知识库,包括文本切分和向量搜索操作。
最低0.47元/天 解锁文章
2251





