# Cezzis鸡尾酒RAG系统：端到端智能检索增强生成工作流

> 基于Python、Qdrant向量数据库、Ollama本地大模型的鸡尾酒知识RAG系统，通过Azure Cosmos DB数据源和E5嵌入模型，提供语义搜索和对话式问答的REST API服务。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-04-22T02:24:22.000Z
- 最近活动: 2026-04-22T04:30:56.883Z
- 热度: 146.9
- 关键词: RAG, 向量数据库, Qdrant, Ollama, 鸡尾酒, 智能问答, E5嵌入
- 页面链接: https://www.zingnex.cn/forum/thread/cezzisrag
- Canonical: https://www.zingnex.cn/forum/thread/cezzisrag
- Markdown 来源: ingested_event

---

## 项目概述：为鸡尾酒爱好者打造的AI知识库

cezzis-com-ingestion-agentic-wf是一个面向鸡尾酒领域的端到端RAG（Retrieval-Augmented Generation，检索增强生成）系统。该项目为cezzis.com网站提供智能搜索和问答能力，让用户能够通过自然语言查询获取专业的鸡尾酒知识。

### 什么是RAG？

RAG是一种结合信息检索和文本生成的AI架构：

1. **检索阶段**：根据用户查询，从知识库中检索相关文档
2. **增强阶段**：将检索结果与用户查询结合，形成丰富的上下文
3. **生成阶段**：基于大语言模型生成准确、连贯的回答

相比纯生成式模型，RAG的优势在于：

- **准确性**：基于真实数据，减少幻觉
- **时效性**：知识库可动态更新
- **可溯源**：回答可追溯到具体来源
- **成本效益**：无需微调大模型

## 技术栈：现代AI应用的标准组合

该项目采用了当前AI应用开发的主流技术栈：

### 核心组件

**Python后端**

作为整个系统的基础，Python提供了丰富的AI/ML生态支持。项目使用现代Python异步框架（如FastAPI或Flask），确保高并发处理能力。

**Qdrant向量数据库**

Qdrant是一个开源的向量搜索引擎，专门用于存储和检索高维嵌入向量。在RAG系统中，它负责：

- 存储鸡尾酒文档的向量表示
- 执行语义相似度搜索
- 支持混合搜索（向量+关键词）
- 提供过滤和聚合功能

Qdrant的优势包括高性能、易部署、支持多种距离度量（余弦相似度、欧氏距离等）。

**Ollama本地大模型**

Ollama是一个简化本地大模型运行的工具，支持多种开源模型（如Llama、Mistral、Qwen等）。项目使用Ollama提供：

- 文本生成功能（回答用户查询）
- 嵌入生成（将文本转换为向量）
- 本地部署，保护数据隐私
- 降低API调用成本

**Azure Cosmos DB数据源**

鸡尾酒数据存储在Azure Cosmos DB中，这是一个全球分布的多模型数据库服务。项目通过Cosmos DB获取：

- 鸡尾酒配方信息
- 原料详情
- 调制方法
- 历史背景和文化信息

**TEI（Text Embeddings Inference）与E5模型**

项目使用Hugging Face的TEI服务部署intfloat/e5-base-v2嵌入模型：

- E5（Embeddings from bidirectional Encoder representations）是微软开发的先进嵌入模型
- e5-base-v2在语义相似度任务上表现优异
- TEI提供高性能的嵌入推理服务
- 支持批处理和动态批处理优化

## 系统架构：数据流全景

整个系统的工作流程可以分为数据准备和在线服务两个阶段。

### 阶段一：数据准备（Ingestion Pipeline）

**步骤1：数据提取**

从Azure Cosmos DB提取原始鸡尾酒数据：

- 连接Cosmos DB API
- 查询所有鸡尾酒文档
- 处理嵌套数据结构
- 数据清洗和标准化

**步骤2：文档分块**

将长文档切分为适合检索的片段：

- 按语义边界分块（如配方、历史、调制技巧）
- 控制块大小（通常256-512 tokens）
- 保留上下文重叠（避免信息割裂）
- 添加元数据标签（鸡尾酒名称、类别、难度等）

**步骤3：嵌入生成**

使用E5模型将文本块转换为向量：

- 调用TEI服务进行批量嵌入
- 生成768维向量表示
- 添加指令前缀（E5模型需要"passage: "前缀）

**步骤4：向量存储**

将嵌入向量存入Qdrant：

- 创建集合（Collection）定义向量维度
- 配置距离度量（余弦相似度）
- 建立索引优化搜索性能
- 存储原始文本和元数据作为payload

### 阶段二：在线服务（Query Pipeline）

**步骤1：查询嵌入**

用户提交查询后，系统首先生成查询向量：

- 对查询文本进行预处理
- 添加E5查询前缀（"query: "）
- 调用TEI生成嵌入向量

**步骤2：语义检索**

在Qdrant中搜索相似文档：

- 执行近似最近邻（ANN）搜索
- 返回Top-K最相关文档
- 支持过滤（如按鸡尾酒类型、难度筛选）
- 支持混合搜索（结合关键词匹配）

**步骤3：上下文构建**

将检索结果组织成LLM可用的格式：

- 拼接相关文档片段
- 添加来源标注
- 控制上下文长度（避免超出模型限制）
- 重排序优化（可选）

**步骤4：回答生成**

调用Ollama生成最终回答：

- 构建提示模板（包含系统指令、上下文、用户问题）
- 调用本地LLM生成回答
- 流式返回（提升用户体验）
- 添加引用信息（显示数据来源）

## 智能体工作流：Agentic RAG

项目名称中的"agentic-wf"暗示了系统不仅仅是简单的RAG，而是融入了智能体（Agent）能力。

### 什么是Agentic RAG？

传统RAG是单次检索-生成流程。Agentic RAG引入了智能体的决策能力：

- **查询理解**：分析用户意图，判断是否需要多步检索
- **工具调用**：根据需要调用不同工具（搜索、计算、验证等）
- **迭代优化**：基于中间结果调整检索策略
- **自我修正**：检测并纠正错误信息

### 鸡尾酒场景的智能体能力

在鸡尾酒知识问答中，智能体能力体现在：

**多轮检索**

复杂查询可能需要多次检索：

- 用户问："有哪些适合夏天喝的低酒精鸡尾酒？"
- 智能体先检索"夏季鸡尾酒"，再检索"低酒精"，最后综合结果

**推理能力**

基于检索信息进行推理：

- 用户问："我有伏特加和柠檬汁，能做什么？"
- 智能体检索原料组合，推理可能的鸡尾酒配方

**澄清交互**

当查询不明确时主动询问：

- 用户问："推荐一款经典鸡尾酒"
- 智能体询问："您偏好什么基酒？甜口还是干口？"

## REST API设计

项目提供RESTful API，支持多种集成方式。

### 核心端点

**语义搜索**

```
POST /api/search
{
  "query": "清爽的夏日鸡尾酒",
  "filters": {
    "alcohol_level": "low",
    "season": "summer"
  },
  "top_k": 5
}
```

返回最相关的鸡尾酒文档，包含相似度分数。

**对话问答**

```
POST /api/chat
{
  "message": "莫吉托怎么做？",
  "session_id": "user_123",
  "stream": true
}
```

返回基于RAG生成的回答，支持流式输出。

**原料推荐**

```
POST /api/recommend
{
  "ingredients": ["伏特加", "柠檬汁"],
  "style": "refreshing"
}
```

基于可用原料推荐可制作的鸡尾酒。

## 部署与运维

项目采用容器化部署，便于扩展和维护。

### Docker Compose编排

系统包含多个服务：

- **API服务**：Python FastAPI应用
- **Qdrant服务**：向量数据库
- **TEI服务**：嵌入推理服务
- **Ollama服务**：大模型推理服务

通过Docker Compose统一管理，一键启动。

### 数据同步

系统支持增量数据更新：

- 定时从Cosmos DB同步新数据
- 自动重新计算嵌入
- 无缝更新向量索引

### 监控与日志

- 请求延迟监控
- 检索质量指标（点击率、相关性反馈）
- 生成质量监控（幻觉检测）
- 错误日志和告警

## 应用场景与价值

该系统可应用于多种场景：

### 网站搜索增强

为cezzis.com提供智能搜索，用户可以用自然语言查询：

- "适合女生的粉色鸡尾酒"
- "用朗姆酒调制的经典饮品"
- "不需要摇壶的简单配方"

### 调酒助手

作为虚拟调酒师，回答用户问题：

- 配方查询和步骤指导
- 原料替换建议
- 口味搭配推荐
- 历史和文化背景介绍

### 内容创作辅助

帮助编辑生成鸡尾酒相关内容：

- 自动生成饮品描述
- 推荐相关主题文章
- 创建个性化推荐列表

## 技术亮点与学习价值

该项目展示了现代RAG系统的最佳实践：

### 模块化设计

数据摄取、向量存储、推理服务分离，便于独立扩展和替换组件。

### 本地优先

使用Ollama和TEI，所有推理在本地完成，保护数据隐私，降低API成本。

### 生产就绪

包含完整的错误处理、日志记录、监控指标，可直接用于生产环境。

### 可扩展架构

易于扩展到其他垂直领域（如美食、旅游、医疗等），只需替换数据源和领域知识。

## 结语

cezzis-com-ingestion-agentic-wf是一个优秀的RAG系统实现案例，展示了如何将现代AI技术（向量数据库、嵌入模型、大语言模型）整合为实用的知识服务。对于希望构建类似系统的开发者，该项目提供了清晰的架构参考和实现思路。随着RAG技术的不断成熟，这类领域特定的智能问答系统将在各行各业得到广泛应用。
