How jinglinsen/code_know-ai works
码悟 AI 是一个面向 GitHub 代码库的问答与 Wiki 生成系统。用户在前端提交仓库链接后,后端获取文件、切片并建立向量索引,同时保存仓库元数据并异步生成 Wiki;用户提问时,RAG 工作流并行检索代码片段与 Wiki,再由 LLM 生成带源码引用的回答。前端还支持仓库列表、问答历史、Wiki 浏览与重生成、仓库删除。连线依据 README 和已提供源码;未提供的前端 API 封装及部分实现细节不展开。
Main entry points: main.py FastAPI 服务 · embeddings.py 嵌入与向量 · database.py PostgreSQL · rag.py RAG 工作流
Components 14
交互界面
- 交互面板
apps/web_UI/app/page.tsx - FastAPI 服务
apps/backend/main.py
持久化
- ChromaDB
- PostgreSQL
apps/backend/database.py - Wiki 文件
Other components
- 用户
- 嵌入模型服务
- LLM 服务
- GitHub
Connections 22
- 用户 → 交互面板: 提交请求
- 交互面板 → FastAPI 服务: 调用接口
- FastAPI 服务 → 仓库获取: 获取仓库
- 仓库获取 → GitHub: 读取文件
- FastAPI 服务 → 代码切片: 切分文件
- FastAPI 服务 → 嵌入与向量: 存储切片
- 嵌入与向量 → 嵌入模型服务: 生成向量
- 嵌入与向量 → ChromaDB: 写入向量
- FastAPI 服务 → PostgreSQL: 保存元数据
- FastAPI 服务 → Wiki 生成: 后台生成
- Wiki 生成 → LLM 服务: 生成页面
- Wiki 生成 → Wiki 文件: 写入页面
- Wiki 生成 → PostgreSQL: 保存 Wiki
- FastAPI 服务 → RAG 工作流: 提交问题
- RAG 工作流 → 嵌入与向量: 嵌入并检索
- RAG 工作流 → PostgreSQL: 读取 Wiki
- RAG 工作流 → LLM 服务: 生成回答
- FastAPI 服务 → PostgreSQL: 保存问答与读取记录
- FastAPI 服务 → 嵌入与向量: 删除仓库向量
- FastAPI 服务 → PostgreSQL: 删除仓库记录
- FastAPI 服务 → 仓库获取: 重新获取文件
- 交互面板 → FastAPI 服务: 浏览历史与 Wiki