一个基于图 RAG(Retrieval-Augmented Generation)技术的智能烹饪助手,提供专业的菜谱推荐、烹饪指导和食材建议。
- 🤖 智能对话: 基于大语言模型的自然语言交互
- 🕸️ 图 RAG 检索: 结合传统检索和图数据库的混合检索策略
- 📊 知识图谱: 使用 Neo4j 构建菜谱知识图谱
- ⚡ 实时流式输出: 打字机效果的流式响应
- 🎨 现代化 UI: 基于 React + TailwindCSS 的精美界面
- 📈 智能路由: 自动选择最佳检索策略
- FastAPI: 高性能 Web 框架
- Neo4j: 图数据库,存储菜谱知识图谱
- Milvus: 向量数据库,用于语义检索
- LangChain: LLM 应用框架
- OpenAI API: 大语言模型接口
- React 18: 用户界面框架
- Vite: 现代化前端构建工具
- TailwindCSS: 实用优先的 CSS 框架
- Lucide React: 图标库
- Python 3.8+
- Node.js 16+
- Neo4j 5.0+
- Milvus 2.3+
git clone <repository-url>
cd ai-cooking- 安装 Python 依赖:
pip install -r requirements.txt- 配置环境变量:
创建 .env 文件:
# Neo4j 配置
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=your_password
# Milvus 配置
MILVUS_HOST=localhost
MILVUS_PORT=19530
# OpenAI API
OPENAI_API_KEY=your_openai_api_key- 启动后端服务器:
python server.py服务器将在 http://localhost:8000 启动。
- 进入前端目录:
cd web-app- 安装依赖:
npm install- 启动开发服务器:
npm run dev前端将在 http://localhost:5173 启动。
- 确保 Neo4j 和 Milvus 服务正在运行
- 启动后端服务器:
python server.py - 启动前端开发服务器:
cd web-app && npm run dev - 在浏览器中打开
http://localhost:5173 - 开始与 AI 烹饪助手对话!
ai-cooking/
├── agent/ # AI Agent 相关代码
├── rag_modules/ # RAG 模块
│ ├── graph_data_preparation.py
│ ├── milvus_index_construction.py
│ ├── hybrid_retrieval.py
│ ├── graph_rag_retrieval.py
│ └── intelligent_query_router.py
├── web-app/ # 前端应用
│ ├── src/
│ │ ├── components/ # React 组件
│ │ ├── App.jsx
│ │ └── main.jsx
│ ├── index.html
│ └── package.json
├── server.py # FastAPI 后端服务
├── main.py # CLI 版本主程序
├── config.py # 配置文件
├── requirements.txt # Python 依赖
└── README.md # 项目文档
配置文件位于 config.py,你可以修改以下参数:
- Neo4j 连接: URI、用户名、密码
- Milvus 配置: 主机、端口、集合名
- LLM 配置: 模型名称、温度、最大 token 数
- 检索参数: Top-K、分块大小等
欢迎贡献!请随时提交 Issue 或 Pull Request。
本项目采用 MIT 许可证。
- Neo4j - 图数据库
- Milvus - 向量数据库
- FastAPI - Web 框架
- React - 前端框架
- TailwindCSS - CSS 框架
如有问题或建议,请提交 Issue。
Enjoy cooking with AI! 🍳✨