基于 OpenAI Embedding 与 FAISS 实现的本地知识库问答系统。
该项目结合了 OpenAI 向量嵌入与 FAISS 相似度搜索,支持将本地的 PDF、Markdown、TXT 等文档转为向量,构建知识库,实现语义检索与问答。
可用于企业内训资料问答、AI 助手、知识管理等场景。
- 支持 TXT / PDF / Markdown 批量导入
- 自动分块处理文本(防止 token 超限)
- 使用 OpenAI
text-embedding-3-small构建向量 - 基于 FAISS 实现高效相似度检索
- 支持控制台与 Streamlit Web UI 查询
- 支持中文文档与多段上下文拼接
- Python 3.10+
- pip / virtualenv
- 推荐使用
pyenv安装 Python,避免系统冲突
git clone https://github.com/wuxiumu/OpenAI-FAISS-Demo.git
cd OpenAI-FAISS-Demo
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt在项目根目录新建 .env 文件:
OPENAI_API_KEY=sk-xxx-your-key
将你的 .pdf、.md、.txt 文件放入 docs/ 目录。
python ingest.py将自动构建 FAISS 向量索引,并生成 vector.index 与 sources.txt。
python main.pystreamlit run app.py- 文档上传即向量化
- 支持本地 LLM(如 Ollama、GPT4All)
- 添加多轮问答与记忆机制
- 支持向量去重与增量构建
MIT License. 使用前请遵守 OpenAI API 使用政策。
