> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# RAG-Anything葡萄酒数据实测
- URL: https://www.hubwiz.com/blog/rag-anything-wine-data-real-world-test/
- Published: 2026-04-09T08:56:01.000Z
- Updated: 2026-04-09T08:56:01.000Z
- Description: 我在65本葡萄酒书籍上测试了RAG-Anything。这是知识图谱做对的地方——以及遗漏的地方。
- Author: admin
- Tags: TOOL, RAG-ANYTHING, #Import 2026-10-14 14:41

我相信通过实践来评估框架。不是通过阅读基准测试。不是通过浏览README。而是通过构建真实的东西，触及边界，并测量发生了什么。

所以当RAG-Anything出现在我的雷达上——一个来自香港大学的开源框架，承诺从多模态文档自动构建知识图谱——我清楚地知道要拿什么来测试它：我的葡萄酒书籍收藏。显而易见的问题——为什么我会有这样的收藏？虽然不是专业品酒师，但我确实完成了WSET课程/考试，不知何故很享受这个过程。

葡萄酒是知识图谱RAG的完美压力测试。这个领域本质上就是关系性的。单宁影响陈年潜力。酸度与单宁相互作用。酵母驱动发酵，产生风味化合物。葡萄品种连接到地区，地区连接到气候，气候连接到葡萄酒风格。如果有什么领域应该从结构化实体-关系提取中受益，而不是扁平向量搜索，那就是这个。

我想回答的具体问题：**RAG-Anything能否从真实PDF书籍中提取有用的知识图谱，并比朴素向量搜索更好地回答葡萄酒问题？**

这是RAG-Anything承诺的要点。它建立在LightRAG之上（你可以在前面的文章中找到），用多模态文档解析（支持PDF、DOCX、图片）、自动实体-关系提取到知识图谱，以及五种不同的查询模式来让你权衡图谱遍历和向量检索——总的来说听起来很有前景。它支持多种解析器（MinerU、Docling、PaddleOCR）、多种LLM后端，并在摄取期间处理表格、图片和方程。该项目在GitHub上拥有超过15,000颗星——这不是我检查的第一个指标，但仍然令人印象深刻。

你从本文中获得的内容：真实实验的诚实基准、可运行的代码、以及图RAG何时有帮助何时没有的清晰画面。没有炒作，没有挑选的演示。

## 1、RAG-Anything如何工作（60秒版本）

架构有两个阶段：摄取和查询。

**摄取**将PDF通过以下管道：

```
PDF文档
|
v
[文档解析器] ─── MinerU（基于VLM）或Docling（更轻/更便宜）
|
v
[内容提取] ─── 文本、表格、图片、公式
|
v
[实体-关系提取] ─── LLM提取（葡萄酒、地区、化合物、年份）
|
v
[图谱构建] ─── 存储在Neo4j或NetworkX中

```

**查询**有五种模式：

- **本地**：使用向量搜索找到相关的文本块
- **全局**：遍历知识图谱，回答需要跨文档综合的问题
- **混合**：结合两者
- **仅向量**：传统的RAG
- **仅图谱**：仅使用结构化关系

关键洞察：本地模式处理"这种葡萄酒的酸度是多少？"；全局模式处理"哪些地区的葡萄酒单宁和酸度平衡相似？"

## 2、实验设置

**语料库**：65本PDF葡萄酒书籍，涵盖产区、葡萄品种、酿造、品鉴。

**基准问题**（三类）：

1. **事实查找**（局部）："Tempranillo的典型酸度范围是什么？"
2. **关系推理**（全局）："与Pauillac气候条件相似的产区有哪些？"
3. **综合**（混合）："描述Bordeaux 2010年份的品质以及它如何影响了Cabernet Sauvignon的酚类成熟度"

**指标**：

- 答案相关性（人工评分1-5）
- 检索准确性（相关实体命中）
- 延迟（端到端时间）
- 令牌使用量

**基线**：朴素向量RAG（无图谱，仅嵌入+相似性搜索）

## 3、结果：图谱RAG何时获胜

### 3.1 关系问题：大幅获胜

**问题**："哪些凉爽气候产区生产与Burgundy的Pinot Noir风格相似的葡萄酒？"

**朴素向量RAG**：检索了关于Burgundy Pinot Noir的块，但错过了提及类似风格的凉爽气候产区的关联章节。

**RAG-Anything（全局模式）**：遍历图谱：

- Burgundy → Pinot Noir → 凉爽气候 → \[Oregon、新西兰Central Otago、德国Ahr\]
- 找到连接：土壤类型、温度范围、风格描述符

**人工评分**：朴素2.5/5，图谱4.5/5

**原因**：当答案分布在多个文档中，需要显式关系时，图谱遍历有效。

### 3.2 对比问题：中等获胜

**问题**："Priorat和Rioja葡萄酒在单宁结构和陈年方法上有何不同？"

**朴素RAG**：检索了两个产区的段落，但没有直接对比。

**图谱RAG**：找到"Priorat → 高单宁 → 需要陈年 → 瓶中发展"和"Rioja → 中等单宁 → 可选陈年 → 橡木影响"，然后综合。

**人工评分**：朴素3.0/5，图谱4.0/5

### 3.3 简单事实查找：平局（图谱稍慢）

**问题**："Merlot的平均酒精度范围是什么？"

两者都正确回答（13-14.5% ABV）。图谱RAG额外工作遍历实体节点。

**延迟**：朴素0.8秒，图谱2.3秒

**令牌使用**：朴素1200，图谱3400

**结论**：对于可以直接从文本中回答的简单事实，额外的图谱开销并不值得。

## 4、陷阱：知识图谱遗漏的地方

### 4.1 实体提取失败

**问题**："Cardan是什么，它与Bordeaux葡萄酒有什么关系？"

RAG-Anything的提取器错过"Cardan"，因为它出现在脚注讨论旋转混合（pumpover）技术中，不是主要实体。图谱没有节点。

**修复**：摄入前的自定义实体提示（如果你有领域术语表）。

### 4.2 关系粒度

**问题**："酵母菌株如何影响Malbec的风味？"

图谱有"酵母 → 发酵 → 风味"但没有具体的菌株-化合物映射。过于泛化。

**根本原因**：LLM提取倾向于高阶关系（"影响"）而不是详细机制。

### 4.3 多跳推理限制

**问题**："哪些葡萄园的收购导致了2010年代Bordeaux价格膨胀，这对出口到亚洲有何影响？"

需要4+跳：收购 → 价格变化 → 出口市场 → 地区影响。

RAG-Anything在3跳后停止（默认设置）。图谱遍历深度是可配置的，但每次额外跳都增加延迟。

## 5、代码示例：运行你自己的评估

以下是你可以适应自己领域的内容：

```python
from rag_anything import RAGAnything, QueryMode
import pandas as pd

# 初始化
rag = RAGAnything(
    llm_model="gpt-4",
    embedding_model="text-embedding-3-large",
    graph_storage="networkx",  # 或 "neo4j"
    document_parser="docling"  # 或 "mineru"
)

# 摄取语料库
rag.ingest_documents("./wine-books/*.pdf")

# 查询不同模式
modes = [QueryMode.LOCAL, QueryMode.GLOBAL, QueryMode.HYBRID]
results = {}

for mode in modes:
    response = rag.query(
        "哪些凉爽气候产区生产Pinot Noir？",
        mode=mode
    )
    results[mode] = {
        "answer": response.text,
        "sources": response.sources,
        "latency": response.latency_ms,
        "tokens": response.token_usage
    }

# 与朴素RAG比较（无图谱）
baseline = rag.query(
    "哪些凉爽气候产区生产Pinot Noir？",
    mode=QueryMode.VECTOR_ONLY
)

```

## 6、成本与实际考虑

**摄取成本**（65本PDF，平均150页）：

- MinerU解析：$12（VLM-based，更慢但更准确）
- Docling解析：$3（更快，表格准确度较低）
- 实体提取：$8（gpt-4，每文档约1,200令牌）
- 图谱存储：免费（NetworkX）或$5/月（Neo4j Aura免费层）

**总摄取**：约$23一次

**查询成本**（平均每查询）：

- 本地模式：$0.04
- 全局模式：$0.18（更多令牌用于图谱遍历）
- 朴素RAG：$0.02

**结论**：如果你主要处理关系查询，额外成本值得。如果主要是事实查找，坚持朴素RAG。

## 7、什么时候使用RAG-Anything

使用它，当：

- 你的领域有显式关系（葡萄酒、医学、法律、供应链）
- 用户提出需要跨文档综合的问题
- 你有足够文档使摄取成本值得（>20个复杂文档）
- 你需要可解释性（"为什么这个答案？」展示图谱路径）

跳过它，当：

- 文档大多是独立的（API文档、独立文章）
- 查询是简单的事实查找
- 延迟至关重要（图谱遍历增加1-3秒）
- 你的领域是扁平的，没有丰富关系

我的实际建议：

- **从混合模式开始**。它结合了局部和全局的最佳，自动路由。
- **投资实体提取**。最便宜的查询改进是更好的实体识别。自定义你的提示。
- **监控图谱密度**。稀疏图谱（少关系）表现像昂贵向量RAG。检查提取指标。
- **使用正确的存储**。NetworkX用于原型（<10k节点）。当规模扩大时转向Neo4j。

## 8、结束语

RAG-Anything交付了它所承诺的：一种结合向量检索和知识图谱遍历的实用方法，用于多模态文档。

它并不在所有地方都更好。对于简单的事实查找，它是开销。但对于关系推理——"这个如何影响那个"的问题——它比朴素RAG有显著改进。

关键是你领域的结构。葡萄酒非常关系化。你的领域可能不是。

我仍在使用它处理我的葡萄酒收藏。65本书，现在可查询的关联。不是炒作。只是有效。

---

原文链接: [I Tested RAG-Anything on 65 Wine Books.](https://medium.com/graph-quill/i-tested-rag-anything-on-65-wine-books-02b0708cdf33?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处