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这个名字,怎么这里就能成功导入,后来通过跟踪代码,发现

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

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

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

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

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

具体位置(如果要深究一下,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,缺一不可,下面就是代码里进行检查并下载的位置)


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

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

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

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年12月7日
下一篇 2023年12月7日

相关推荐