7.0
热点
AI SCORE
开源项目2023-07-09 05:07
开源工具:用GPT-2+FAISS实现PDF智能检索
Hacker News · github.com#向量搜索#RAG
Editor brief · 编辑速览
PdfGptIndexer项目展示如何用GPT-2编码和FAISS向量搜索实现PDF全文索引。程序员可直接应用于文档管理、知识库等场景。
PdfGptIndexer项目展示如何用GPT-2编码和FAISS向量搜索实现PDF全文索引。程序员可直接应用于文档管理、知识库等场景。
PdfGptIndexer 登上了 Hacker News 榜首!
PdfGptIndexer 是一款高效工具,使用 OpenAI embeddings 和 FAISS(Facebook AI Similarity Search)对 PDF 文档进行索引和查询。它实现了一套 RAG(Retrieval Augmented Generation,检索增强生成)系统,让你能够与自己的 PDF 文档进行智能对话。该软件专为快速检索信息而设计,同时具备出色的搜索准确性。
PdfGptIndexer 由两个主要组件构成:
Indexer 会处理你的 PDF 文档,并创建一个可搜索的向量数据库:
Chatbot 提供了一个智能界面,用于查询已建立索引的文档:
在本地存储 embeddings 有以下几个主要好处:
克隆仓库:
git clone https://github.com/raghavan/PdfGptIndexer.git
cd PdfGptIndexer
安装依赖:
pip install -r requirements.txt
pip install langchain langchain-openai langchain-community langchain-text-splitters openai pymupdf faiss-cpu python-dotenv tiktoken
在项目根目录创建 .env 文件,并添加你的 OpenAI API key:
OPENAI_API_KEY=your_openai_api_key_here
将 PDF 文件放入 pdf/ 文件夹,或者你选择的任意文件夹。
运行 Indexer 来处理 PDF,并创建向量数据库:
python indexer.py
也可以指定自定义 PDF 文件夹:
python indexer.py /path/to/your/pdfs
还可以同时指定自定义 PDF 文件夹和索引保存位置:
python indexer.py /path/to/your/pdfs /path/to/save/index
faiss_index/,或你指定的位置注意:你只需运行一次;当文档集合中新增 PDF 时,再重新运行即可。
启动交互式 Chatbot:
python chatbot.py
也可以指定自定义索引位置:
python chatbot.py /path/to/your/index