Skip to content

wuxiumu/OpenAI-FAISS-Demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenAI-FAISS-Demo

基于 OpenAI Embedding 与 FAISS 实现的本地知识库问答系统。

✨ 项目简介

该项目结合了 OpenAI 向量嵌入与 FAISS 相似度搜索,支持将本地的 PDF、Markdown、TXT 等文档转为向量,构建知识库,实现语义检索与问答。

可用于企业内训资料问答、AI 助手、知识管理等场景。

🔧 功能特点

  • 支持 TXT / PDF / Markdown 批量导入
  • 自动分块处理文本(防止 token 超限)
  • 使用 OpenAI text-embedding-3-small 构建向量
  • 基于 FAISS 实现高效相似度检索
  • 支持控制台与 Streamlit Web UI 查询
  • 支持中文文档与多段上下文拼接

📦 安装与环境准备

环境建议(macOS M1/M2)

  • 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

设置 API Key

在项目根目录新建 .env 文件:

OPENAI_API_KEY=sk-xxx-your-key

📁 使用方法

1. 添加知识文档

将你的 .pdf.md.txt 文件放入 docs/ 目录。

2. 运行向量构建脚本

python ingest.py

将自动构建 FAISS 向量索引,并生成 vector.indexsources.txt

3. 使用控制台查询

python main.py

4. 使用 Web UI(推荐)

streamlit run app.py

访问:http://localhost:8501

📷 示例界面

🧠 待扩展方向

  • 文档上传即向量化
  • 支持本地 LLM(如 Ollama、GPT4All)
  • 添加多轮问答与记忆机制
  • 支持向量去重与增量构建

📄 License

MIT License. 使用前请遵守 OpenAI API 使用政策。

About

OpenAI + FAISS 本地知识库问答

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages