智能知识库问答系统,支持多种对话模式和知识库源,能够进行深度研究和多轮检索推理。
核心特性
[1] [2],可点击跳转前端: React 19 + TypeScript + Vite + Tailwind CSS 后端: Python 3.11 + LangGraph + LangChain + FastAPI 知识库: CNB API + Wikipedia API 模型: Ollama (qwen2.5:7b, qwen2.5:3b) 基础设施: PostgreSQL + Redis + Docker Compose
🎯 开发者快速通道: 克隆仓库后运行
./setup-dev.sh一键配置开发环境!
# 1. 克隆仓库
git clone https://cnb.cool/stage1_basic/Andrew-project1.git
cd Andrew-project1
# 2. 设置环境变量
export LANGSMITH_API_KEY=your_langsmith_api_key
export CNB_TOKEN=your_cnb_token # 可选
# 3. 启动服务
docker compose up
访问应用:
前置要求: Node.js 18+, Python 3.11+, Ollama
# 1. 安装 Ollama 和模型
brew install ollama
ollama serve
ollama pull qwen2.5:7b
ollama pull qwen2.5:3b
# 2. 配置环境变量
cd backend
cp .env.example .env
# 编辑 .env 文件,设置 LANGSMITH_API_KEY 等
# 3. 一键安装依赖 (推荐)
cd ..
./setup-dev.sh
# 或手动安装
python3 -m venv .venv && source .venv/bin/activate
cd backend && pip install . && cd ..
cd frontend && npm install --legacy-peer-deps && cd ..
# 4. 启动开发服务器
make dev
# 或分别启动
# 终端 1: cd backend && langgraph dev
# 终端 2: cd frontend && npm run dev
访问应用:
CNB Knowledge Base 或 WikipediaRAG Mode (快速) / GPT Mode (最快) / DeepResearch Mode (深度)RAG 模式示例:
DeepResearch 模式示例:
[1] [2] 等角标跳转到原始文档New Chat 按钮def route_to_workflow(state: AgentState) -> str:
"""根据模式路由到相应工作流"""
if state.get("deep_research_mode"):
return "deep_research"
elif state.get("rag_enabled"):
return "retrieve_knowledge"
else:
return "generate_answer"
def route_knowledge_base_query(query: str, kb_type: str, repository: str):
"""统一的知识库查询接口"""
if kb_type == "cnb":
return cnb_retrieval.query_knowledge_base(...)
elif kb_type == "wikipedia":
return wikipedia_retrieval.search_wikipedia(...)
| 阶段 | 模型 | 用途 |
|---|---|---|
| Query 生成 | qwen2.5:3b | 快速生成搜索查询 |
| Reflection | qwen2.5:7b | 分析研究质量 |
| Report 生成 | qwen2.5:7b | 生成高质量报告 |
| 模式 | 响应时间 | 适用场景 |
|---|---|---|
| GPT Mode | 1-3 秒 | 通用问题 |
| RAG Mode | 3-5 秒 | 特定文档问答 |
| DeepResearch | 20-40 秒 | 复杂综合问题 |
# 必需
LANGSMITH_API_KEY=lsv2_pt_xxx
# 可选
CNB_TOKEN=your_cnb_token
OLLAMA_BASE_URL=http://localhost:11434
backend/src/agent/new_kb_retrieval.pybackend/src/agent/kb_router.pyfrontend/src/components/Sidebar.tsxcd backend
pytest tests/
project-1-knowledge-base/ ├── backend/ │ ├── src/agent/ │ │ ├── graph.py # 主工作流 │ │ ├── deep_research_graph.py # DeepResearch 工作流 │ │ ├── kb_router.py # 知识库路由 │ │ └── app.py # FastAPI 入口 │ └── pyproject.toml ├── frontend/ │ ├── src/ │ │ ├── App.tsx │ │ └── components/ │ └── package.json ├── docker-compose.yml ├── setup-dev.sh # 🚀 一键开发环境设置 └── README.md
📹 视频演示: 智能知识库问答系统完整演示
视频内容包含:
⭐ 如果这个项目对你有帮助,请给一个 Star!
Made with ❤️ by Andrew