内容
# 🧑🍳 Le Cellier Lite
> 一个由 **LangGraph**、**MCP(模型上下文协议)** 和 **Groq** 驱动的自主烹饪助手。该项目展示了具有并行执行和人工干预验证的先进代理工作流。
[](https://python.org)
[](https://github.com/langchain-ai/langgraph)
[](https://modelcontextprotocol.io/)
---
## 🏗️ 架构
Le Cellier Lite 被构建为一个 **有状态的有向无环图(DAG)**,其中多个代理协作管理食品库存并建议食谱。
### 🧠 图表工作流
1. **获取库存**:连接到本地 **MCP SQL 服务器** 以检索当前库存。
2. **提出食谱建议**:一个创造性代理使用 **DuckDuckGo 网络搜索** 根据可用食材查找食谱想法。
3. **人工干预**:系统暂停并等待用户验证(选择 1、2 或忽略)。
4. **并行执行**:
- **主厨**:编写详细的烹饪说明。
- **营养师**:进行宏观营养分析。
5. **库存消耗**:通过 MCP 工具自动扣除库存中的配料。
```mermaid
graph TD
Start((开始)) --> Fetch[获取库存]
Fetch --> Propose[提出 2 个食谱建议]
Propose --> Interrupt{{人工验证}}
Interrupt -- "选择 1/2" --> Chef[主厨:编写食谱]
Interrupt -- "选择 1/2" --> Nutri[营养师:分析]
Chef --> Aggregator[聚合器]
Nutri --> Aggregator
Aggregator --> Consume[消耗库存工具]
Consume --> End((结束))
```
---
## ✨ 功能特点
- 🛠️ **自定义 MCP 服务器**:实现 **模型上下文协议** 以与本地 SQLite 数据库接口。
- ⏸️ **人工干预**:使用 LangGraph 的 `interrupt_before` 确保用户控制库存更改。
- ⚡ **并行处理**:代理并行工作以加快最终食谱合成速度。
- 🔍 **动态研究**:实时网络搜索食谱,确保变化和更新的建议。
---
## 🚀 快速开始
### 前置条件
- Python 3.10+
- [Groq API 密钥](https://console.groq.com/)(Llama-3 模型)
### 安装
```bash
git clone https://github.com/Barthelemew/LeCellierLite.git
cd LeCellierLite
python -m venv venv
source venv/bin/activate
pip install langgraph langchain-groq mcp pydantic python-dotenv duckduckgo-search
```
### 配置
```env
# .env
GROQ_API_KEY=gsk_您的密钥
```
### 运行
系统在第一次运行初始化时创建一个示例 SQLite 数据库。
```bash
python main.py
```
---
## 🛠️ 技术栈
- **编排**:LangGraph
- **LLMs**:Llama-3.3-70b(提案者)和 Llama-3.1-8b(主厨/营养师)通过 Groq
- **数据库访问**:MCP(模型上下文协议)通过 SQLite
- **可观察性**:准备好与 LangSmith 集成
---
*由 [Nicolas TEYRAS](https://github.com/Barthelemew) — AI 系统工程师精心打造*