Skip to content

Repository files navigation

AI 知识库 · AI Knowledge Base

一个基于 RAG(检索增强生成) 的个人 AI 知识库应用:上传文档 → 自动解析切分并向量化 → 基于知识库进行带引用溯源的智能问答,同时支持自由对话模式。

Personal AI knowledge base with document ingestion, pgvector semantic search, and RAG-based chat with inline citations.

✨ 功能特性

  • 📚 知识库管理:多知识库分组,支持增删改、软删除与回收站恢复
  • 📄 文档处理:上传文档 → 异步解析 → 分块 → 向量化入库(进度可视)
  • 🔍 RAG 问答:基于向量检索的知识问答,回答附带引用角标,可溯源到原文片段
  • 💬 双模式对话RAG 模式(限定知识库)与 自由模式(通用对话),模式绑定会话
  • 🕸️ 知识图谱:基于 Neo4j 的实体关系可视化(实验特性)
  • 📊 工作台:统计概览、文档解析状态分布、最近动态与最近会话
  • 🔐 账户体系:邮箱注册 / 登录,JWT 会话,数据按用户隔离

🧱 技术栈

技术
框架 Next.js 16 (App Router) · React 19 · TypeScript
AI Vercel AI SDK v7 · DeepSeek(对话)· DashScope(Embedding)
数据 PostgreSQL + pgvector · Prisma ORM
异步任务 Trigger.dev(文档解析 / 向量化)
存储 阿里云 OSS(S3 兼容,STS 临时凭证上传)
图谱 Neo4j
UI Tailwind CSS v4 · shadcn/ui · TanStack Query · Zustand

🏗️ 架构概览

上传文档 ──► OSS(存储) ──► Trigger.dev 任务
                              │ 解析文本 → 分块 → Embedding
                              ▼
                    PostgreSQL + pgvector(DocumentChunk.embedding)
                              ▲
用户提问 ──► 向量检索 top-k ──┘──► 拼接上下文 → DeepSeek 流式回答 + Citation 溯源

🚀 本地运行

前置依赖

  • Node.js 20+
  • PostgreSQL 并启用 pgvector 扩展(CREATE EXTENSION IF NOT EXISTS vector;
  • 各外部服务的 Key(DeepSeek / DashScope / 阿里云 OSS / Trigger.dev),Neo4j 可选

步骤

# 1. 安装依赖(postinstall 会自动执行 prisma generate)
npm install

# 2. 配置环境变量
cp .env.example .env   # 然后填入真实值

# 3. 初始化数据库结构
npx prisma migrate dev   # 或 npx prisma db push

# 4. 启动开发环境(同时拉起 Next.js 与 Trigger.dev)
npm run dev

打开 http://localhost:3000 ,注册账号后即可使用。

☁️ 部署(Vercel)

Vercel 上运行需要把本地依赖换成云端服务:

  1. 数据库:使用支持 pgvector 的托管 Postgres(如 Neon),并执行 migrate。
  2. 环境变量:在 Vercel 项目设置中配置 .env.example 里的全部变量。
  3. 异步任务:文档解析运行在 Trigger.dev,需单独 npx trigger.dev@latest deploy 到生产环境。
  4. 对象存储:配置阿里云 OSS(或其它 S3 兼容存储)。

说明:prisma generatepostinstall 自动触发;生成产物 generated/ 已忽略提交。

⚠️ 说明

  • 本项目定位为学习 / 自部署用途,非开箱即用的商业产品。
  • 每次问答会调用 LLM 与 Embedding 接口,请自行关注调用成本。
  • .env 已被 .gitignore 忽略,请勿提交任何真实密钥。

📄 License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages