Skip to content

March-77/CodeIndex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeIndex Document RAG

一个基于 Vue 3 + FastAPI + PageIndex 的文档问答项目。

现在这套代码只保留一条主线:

  • 前端上传文档
  • 后端用 PageIndex 为文档建树
  • 基于树结构和命中页内容做 reasoning-based RAG 搜索

当前能力

  • 支持上传 PDFMarkdown
  • 支持列出和删除已索引文档
  • 支持选择一个或多个文档做检索
  • 回答时返回命中的章节和页码/行号来源

目录

CodeIndex/
├─ .vendor/PageIndex/          # 本地 PageIndex vendor
├─ backend/
│  ├─ routes/
│  ├─ schemas/
│  ├─ services/
│  ├─ main.py
│  └─ requirements.txt
├─ frontend/
│  ├─ src/
│  │  ├─ api/
│  │  ├─ App.vue
│  │  ├─ main.js
│  │  └─ styles.css
│  ├─ index.html
│  └─ package.json
└─ environment.yml

环境准备

conda env create -f environment.yml
conda activate code_rag_env

需要准备一个可用的 LLM API Key,二选一即可:

$env:OPENAI_API_KEY="your_key"

或者:

$env:DASHSCOPE_API_KEY="your_key"

如果你走 DashScope OpenAI 兼容接口,也可以按需覆盖:

$env:DASHSCOPE_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"

启动后端

uvicorn backend.main:app --host 127.0.0.1 --port 8000 --reload

可访问:

  • http://127.0.0.1:8000/
  • http://127.0.0.1:8000/health
  • http://127.0.0.1:8000/docs

启动前端

cd frontend
npm install
npm run dev

默认地址:

  • http://127.0.0.1:5173

前端已在 frontend/vite.config.js 中把 /api 代理到本地 8000 端口。

主要接口

  • GET /api/documents
  • POST /api/documents/upload
  • DELETE /api/documents/{document_id}
  • POST /api/search

说明

  • 上传后的原始文件和 PageIndex 工作区会保存到 .codeindex/
  • 当前实现优先支持 PDF 和结构化较好的 Markdown
  • 旧的仓库问答脚本和脚手架演示文件已经移除,不再保留两套实现

About

基于 Vue 3、FastAPI 与 PageIndex 的文档索引和 reasoning-based RAG 问答应用。

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors