近期研究langchain持久化问题踩过的一些坑
1.redis版本必须在4.0以上
2.本机启动 需下载redis stack 系列(涵盖redisearch)
本机带不起大概需本机安装docker,单独部署redis
目前官方仅给到docker部署方法 redisearch官方文档
3.当使用langchain的DirectoryLoader方法时,中文原因需要用自动encoding,进行字符自动转义,
这要求langchain版本在0.0177及以上
pip install -U langchain==0.0.177
4.langchain的DirectoryLoader方法,第一个参数是加载路径,这里使用相对路径,绝对路径都不太合适,
大概率都会报“index_outof range ”的错,最好使用"file"来处理
import os
import os.paththis_dir = os.path.dirname(__file__)
path = os.path.join(this_dir, '..', 'upload')
print(path)text_loader_kwargs = {'autodetect_encoding': True}
loader = DirectoryLoader(path, glob="*.txt", loader_cls=TextLoader, loader_kwargs=text_loader_kwargs)
5.如本地各个python工程之间没有做项目依赖隔离,关注是否会产生conda等版本冲突问题。