基于 LangChain、LangGraph、Milvus 的智能知识库系统,集成 RAG、Memory、MCP、Output Parser、Prompt Template 等先进技术。
# 1. 克隆项目
git clone https://github.com/yourusername/smart-knowledge-assistant.git
cd smart-knowledge-assistant
# 2. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入 DeepSeek API Key:
# OPENAI_API_KEY=sk-your-api-key-here
# 3. 启动所有服务
docker compose up -d etcd minio
sleep 10
docker compose up -d milvus
sleep 20
docker compose run -d --name smart-assistant smart-assistant tail -f /dev/null
# 4. 安装依赖(首次需要 5-10 分钟)
docker exec smart-assistant pip install --no-cache-dir pymilvus langchain langgraph sentence-transformers openai pydantic python-dotenv pydantic-settings langchain-openai langchain-community
# 5. 运行演示
docker exec smart-assistant python demo_run.py
# 1. 克隆项目并创建虚拟环境
git clone https://github.com/yourusername/smart-knowledge-assistant.git
cd smart-knowledge-assistant
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# 或 venv\Scripts\activate # Windows
# 2. 安装依赖
pip install -r requirements.txt
# 3. 启动 Milvus(使用 Docker)
docker run -d \
--name milvus-standalone \
-p 19530:19530 \
-v /tmp/milvus:/var/lib/milvus \
milvusdb/milvus:v2.3.3
# 4. 配置环境变量
cp .env.example .env
# 编辑 .env 文件
# 5. 运行应用
python demo_run.py
# 或交互模式: python main.py
| 组件 | 最低版本 | 推荐版本 |
|---|---|---|
| Python | 3.9+ | 3.10+ |
| Docker | 20.10+ | 24.0+ |
| Docker Compose | 2.0+ | 2.20+ |
| 内存 | 4GB | 8GB+ |
| 磁盘 | 10GB | 20GB+ |
Linux/Mac:
./start_web.sh
Windows:
start_web.bat
或直接运行:
pip install streamlit
cd src/web
streamlit run app.py
访问地址: http://localhost:8502
详细使用说明请查看 Web UI 使用指南
from src.components.rag_engine import RAGEngine
from src.utils.document_loader import DocumentLoader
# 初始化
loader = DocumentLoader()
rag = RAGEngine()
# 加载文档
docs = loader.load_directory("./data")
rag.add_documents(docs)
# 查询
result = rag.query("Python 有什么特点?")
print(result.answer)
from src.graph.workflow import KnowledgeAssistantGraph
graph = KnowledgeAssistantGraph()
result = graph.run("什么是机器学习?")
print(result["answer"])
from src.components.mcp_server import MCPServer
from src.models import MCPRequest
mcp = MCPServer()
request = MCPRequest(
method="query",
params={"question": "LangChain 是什么?"},
request_id="001"
)
response = mcp.handle_request(request)
print(response.result)
# 运行所有测试
pytest src/tests/ -v
# 运行特定测试
pytest src/tests/test_rag_engine.py -v
# 生成覆盖率报告
pytest src/tests/ --cov=src --cov-report=html
# 查看覆盖率报告
open htmlcov/index.html # Mac
xdg-open htmlcov/index.html # Linux
start htmlcov/index.html # Windows
smart-knowledge-assistant/ ├── config/ # 配置文件 ├── src/ │ ├── components/ # 核心组件 │ │ ├── rag_engine.py │ │ ├── memory_manager.py │ │ └── mcp_server.py │ ├── graph/ # LangGraph 工作流 │ ├── utils/ # 工具类 │ ├── models/ # 数据模型 │ └── tests/ # 单元测试 ├── examples/ # 使用示例 ├── docs/ # 文档 └── main.py # 主程序
| 技术 | 版本 | 用途 |
|---|---|---|
| LangChain | 0.3.7 | 核心框架 |
| LangGraph | 0.2.45 | 工作流编排 |
| Milvus | Latest | 向量数据库 |
| sentence-transformers | Latest | 文本嵌入 |
| Pydantic | Latest | 数据验证 |
| pytest | Latest | 单元测试 |
我们欢迎所有形式的贡献!请查看 贡献指南 了解详情。
本项目采用 MIT 许可证 开源。
核心功能
工程化
示例和演示
v1.1 - 功能增强
多语言支持
✅ Web UI 界面 (已完成)
批量文档处理
v1.2 - 性能优化
检索优化
数据库扩展
v2.0 - 企业级特性
RESTful API
知识库管理
高级记忆功能
v2.1 - 智能增强
多模态支持
高级工作流
Agent 集成
v3.0 - 生态扩展
插件系统
多模型支持
分布式部署
v3.1 - 企业级功能
监控和运维
安全和合规
数据治理
| 版本 | 计划时间 | 主要特性 |
|---|---|---|
| v1.0 | ✅ 已完成 | 核心 RAG、记忆、LangGraph、MCP |
| v1.1 | Q2 2026 | 多语言、Web UI、批量处理 |
| v1.2 | Q3 2026 | 检索优化、多数据库支持 |
| v2.0 | Q4 2026 | RESTful API、知识库管理、高级记忆 |
| v2.1 | Q1 2027 | 多模态、高级工作流、Agent 集成 |
| v3.0 | Q2 2027 | 插件系统、多模型、分布式 |
| v3.1 | Q3 2027 | 监控运维、安全合规、数据治理 |
欢迎社区贡献!如果您有兴趣参与特定功能的开发:
如果您有新的功能建议或想法,欢迎 创建新的 Feature Request。
感谢以下开源项目: