# 附录 B：工具与技术生态

本附录汇集上下文工程领域的常用工具、框架、数据集与测评基准。

***

## 开发框架

### 编排与构建

#### LangChain

**简介**：最流行的 LLM 应用开发框架之一，提供全面的 [RAG](/context_engineering_guide/di-er-bu-fen-he-xin-ji-shu-yu-ce-le/05_select/5.1_rag_principles.md) 支持。

**特点**：

* 丰富的组件和集成
* 活跃的社区
* 详细的文档

**官网**：[LangChain](https://langchain.com)

#### LlamaIndex

**简介**：专注于数据索引和检索的 LLM 框架。

**特点**：

* 多种索引结构
* 灵活的检索策略
* 支持 Graph RAG

**官网**：[LlamaIndex](https://llamaindex.ai)

#### Haystack

**简介**：端到端 NLP 框架，支持构建完整的 RAG 管道。

**特点**：

* 生产级就绪
* 可视化管道编辑
* 评估工具集成

**官网**：[Haystack](https://haystack.deepset.ai)

### 智能体框架

#### LangGraph

**简介**：LangChain 体系下基于图的有状态多智能体编排框架。

**特点**：

* 精细的循环控制
* 强大的状态持久化能力

#### AutoGen

**简介**：微软推出的多智能体对话框架。

**特点**：

* 强大的代码执行能力
* 灵活的群聊模式

***

## 向量数据库

### Pinecone

**类型**：全托管云服务

**特点**：开箱即用、免运维、快速启动

### Weaviate

**类型**：开源/云服务

**特点**：功能丰富、GraphQL API、支持混合搜索

### Milvus

**类型**：开源

**特点**：高性能、可扩展、适合大规模部署

### Qdrant

**类型**：开源

**特点**：Rust 实现、高性能、轻量级

### Chroma

**类型**：开源

**特点**：嵌入式、简单易用、适合原型开发

### PostgreSQL：pgvector

**类型**：开源扩展

**特点**：与现有 PG 基础设施集成、生态成熟

### Oracle 数据库 23ai

**类型**：商业/云服务

**特点**：原生 AI 向量搜索、企业级安全与高可用

### MySQL：8.0+ / HeatWave

**类型**：开源/云服务

**特点**：全球最流行的开源数据库原生支持向量

***

## 嵌入模型

### 商业服务

| 服务类型    | 模型（示例）  | 特点         |
| ------- | ------- | ---------- |
| 商用嵌入服务  | 通用嵌入模型  | 质量高、易集成    |
| 商用嵌入服务  | 多语言嵌入模型 | 多语言支持、覆盖面广 |
| 云厂商嵌入服务 | 平台内嵌入能力 | 便于与现有云生态集成 |

### 开源模型

| 模型类型                  | 维度（常见量级） | 特点       |
| --------------------- | -------- | -------- |
| BGE 系列                | 千级       | 中文优秀、多语言 |
| E5 系列                 | 千级       | 指令式嵌入    |
| sentence-transformers | 变化       | 丰富选择     |

***

## 评估与基准

### 评估工具

#### RAGAS

**简介**：评估 RAG 系统质量的自动化框架。

**指标**：忠实度 (Faithfulness)、答案相关性 (Answer Relevancy)、上下文召回率 (Context Recall)。

#### TruLens

**简介**：RAG 应用的监控和评估平台，提供 RAG 三元组 (Triad) 可视化。

#### DeepEval

**简介**：LLM 应用的评估框架。

### 性能基准测试

* **Needle In A Haystack**: 长上下文召回能力的标准测试套件。
* **Massive Text Embedding Benchmark (MTEB)**: 文本嵌入模型的权威排行榜。

***

## 公共数据集

### RAG 训练与测试

* **MS MARCO**: 微软的大规模阅读理解数据集，检索任务的黄金标准。
* **HotpotQA**: 多跳推理问答数据集，用于测试复杂 RAG 能力。

### 长上下文

* **LongBench**: 多任务长文本理解基准（包含了摘要、QA、代码补全）。

***

## 可观测性

### LangSmith

LangChain 配套的追踪和监控平台。

### Weights & Biases

机器学习实验跟踪，支持 LLM 应用。

### Arize

模型监控和可观测性平台。

***

## MCP 相关

### MCP SDK

官方提供的 MCP 协议开发工具包。

### 预构建 MCP 服务

* 文件系统服务
* 数据库服务
* 网页爬取服务
* 各种 API 集成

***

## 选型矩阵

### 向量数据库选型对比

| 维度        | Pinecone | Weaviate | Milvus | Qdrant   | pgvector |
| --------- | -------- | -------- | ------ | -------- | -------- |
| **部署模式**  | 全托管云     | 自托管/云    | 自托管/云  | 自托管/云    | PG 扩展    |
| **扩展性**   | 自动       | 中等       | 高（云原生） | 中等       | 依赖 PG    |
| **混合检索**  | 支持       | 原生支持     | 支持     | 支持       | 需额外配置    |
| **生态成熟度** | 高        | 中高       | 高      | 中        | 高（PG 生态） |
| **运维复杂度** | 低        | 中        | 中高     | 中        | 低（已有 PG） |
| **适合规模**  | 中小       | 中        | 大规模    | 中        | 中小       |
| **成本模式**  | 按用量      | 开源免费     | 开源免费   | 开源免费     | 开源免费     |
| **特别优势**  | 零运维      | GraphQL  | GPU 加速 | Rust 高性能 | 业务数据共存   |

### 编排框架选型对比

| 维度         | LangChain    | LlamaIndex | Haystack        |
| ---------- | ------------ | ---------- | --------------- |
| **核心定位**   | 通用 LLM 编排    | 数据索引与检索    | 端到端 NLP 管道      |
| **RAG 支持** | 全面           | 深度优化       | 生产级             |
| **智能体能力**  | LangGraph 扩展 | 基础支持       | 基础支持            |
| **学习曲线**   | 中等           | 中等         | 较低              |
| **社区活跃度**  | 非常高          | 高          | 中               |
| **可视化工具**  | LangSmith    | 内置         | Pipeline Editor |
| **适合场景**   | 通用构建         | 知识密集型      | 生产部署            |

*注：以上对比为能力概览（2026-03），具体版本能力以各项目官方文档为准。*

***

## 快速选型建议

| 场景   | 推荐选择（示例组合）              |
| ---- | ----------------------- |
| 快速原型 | 编排框架 + 轻量向量存储           |
| 生产部署 | 编排框架 + 生产级向量数据库         |
| 企业集成 | 融合数据库 (Oracle/PG/MySQL) |
| 研究实验 | 开源模型 + 开源数据库            |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/context_engineering_guide/fu-lu/tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
