LlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用

LlamaIndex在https://github.com/jerryjliu/llama_index

文档在https://gpt-index.readthedocs.io/en/latest/guides/primer/usage_pattern.html

第一个坑,python3.7安装不了库
后来使用的是python3.8.7

关于LlamaIndex读取的原理

在python版的pdfchat中,可以看到调用了LlamaIndex的接口,通过llamahub的库里的PDR读取器来读取PDF文件

PDFReader = download_loader("PDFReader")
loader = PDFReader()
documents = loader.load_data(file=Path(file))

我一开始很疑惑,在https://llamahub.ai/上面我也没看到有PDFReader这个名字,怎么这里就能成功导入,后来通过跟踪代码,发现

LlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用_第1张图片

代码会先检查文件夹里面有没有library.json,这个library.json我觉着相当于是llamahub上的读取器的列表,如果没有的话,会进行get请求获取,这里就是容易出现proxy代理问题的地方

LlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用_第2张图片

https://raw.githubusercontent.com/emptycrown/loader-hub/main/loader_hub/library.json打开是这样

LlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用_第3张图片

这里可以理解为什么是download_loader(“PDFReader”)了

PS:如果在download_loader()时候出现问题,那么断点一步步跟进去请求然后加上代理就好,这里加上代理就完事了其实,能成功用了

# 用clash的话
proxies = {
     "http": "http://127.0.0.1:7890",
     "https": "http://127.0.0.1:7890",
 }

LlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用_第4张图片

具体位置(如果要深究一下,llamahub下载的每个加载模块放在D:\Python387\Lib\site-packages\llama_index\readers\llamahub_modules或者D:\Python387\Lib\site-packages\llama_index\readers\llamahub_modules\file里,然而每个模块对应的文件夹里面,需要成功下载requirements.txt和base.py,缺一不可,下面就是代码里进行检查并下载的位置)

LlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用_第5张图片
LlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用_第6张图片

LlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用_第7张图片

跟了几步PDFReader会发现,这个加载器的缺陷或许在于,他并没有分章节,而是一口气把PDF里的所有内容读了出来,这样一来章节之间的内容,可能会被分割成几块建索引,这样的效果可想而知并不理想

https://juejin.cn/post/7206950454097690680这样的操作才是更正确的

LlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用_第8张图片



项目来源https://juejin.cn/post/7206950454097690680
先把项目clone下来了,在项目当前目录运行npm installLlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用_第9张图片
出报错,查了一下资料问了一下chatgpt觉得应该是nodejieba的安装问题,会涉及系统内使用的编译器等等一些问题,比较不好解决,于是采取使用另一个jieba分词的库来替代参考https://zhuanlan.zhihu.com/p/453803476
于是先把package.json中的"nodejieba": “^2.6.0”,去掉再运行npm install,然后再运行
都安装好之后把项目里的jieba库换成新安装的库,全局搜索

LlamaIndex的使用 | LangChain的研究 | pdfgpt安装使用_第10张图片

你可能感兴趣的:(chatgpt)