# agent-knowledge-hub
**Repository Path**: hacker__007/agent-knowledge-hub
## Basic Information
- **Project Name**: agent-knowledge-hub
- **Description**: No description available
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-05-30
- **Last Updated**: 2026-05-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🤖 AgentKnowledgeHub — 企业级多Agent知识管理系统






**一个企业级的「多Agent协作」知识管理系统**
4个AI Agent分工协作,完成企业知识的全生命周期管理:文档解析 → 知识抽取 → 智能问答 → 增量更新
[快速开始](#-快速开始) · [系统架构](#-系统架构) · [功能演示](#-功能演示) · [API文档](#-api-接口) · [面试资料](#-面试资料)
---
## 📌 先看这里(写给小白)
> 如果你是第一次接触多Agent系统,先看这几个问题的解答:
### 什么是 Agent?
Agent(智能体)就是一个"能思考、能执行"的AI程序。它可以:
- 理解你的需求(自然语言)
- 决定需要调用哪些工具(如搜索、写文件、调用API)
- 执行工具,得到结果
- 根据结果继续思考,直到完成任务
### 什么是多Agent?
当一个任务太复杂,交给多个专职Agent协作完成。就像公司里:
- **秘书** 负责整理文件
- **分析师** 负责提炼关键信息
- **顾问** 负责回答问题
- **管理员** 负责持续更新维护
本项目就是用AI实现了这4个角色的分工协作。
### 这个项目能做什么?
你上传一份公司的PDF文档(比如年报、合同、产品手册),然后可以:
- 直接用自然语言提问:"张三的职位是什么?" / "Q3营收多少?"
- AI会综合理解文档内容,给出准确答案
- 文档更新后,知识库自动同步,不用重新上传
---
## 📋 目录
- [项目简介](#-项目简介)
- [系统架构](#-系统架构)
- [技术栈](#-技术栈)
- [三语言实现](#-三语言实现)
- [快速开始](#-快速开始)
- [功能演示](#-功能演示)
- [项目结构](#-项目结构)
- [API接口](#-api-接口)
- [面试资料](#-面试资料)
- [常见问题](#-常见问题-faq)
- [参考资料](#-参考资料)
---
## 🎯 项目简介
**AgentKnowledgeHub** 包含 **4个核心Agent**,通过 [LangGraph](https://langchain-ai.github.io/langgraph/) 有向图编排,实现企业知识的全链路智能处理。
### 4个Agent是什么,分别做什么?
| Agent | 中文名 | 职责 | 类比理解 |
|-------|--------|------|----------|
| `DocParserAgent` | 文档解析Agent | 把PDF/图片/表格等各种格式的文档"读懂",切割成小段落 | 超强秘书,能看懂任何格式的文件 |
| `KnowledgeExtractAgent` | 知识抽取Agent | 从文本中自动提取人名、公司、关系等结构化信息 | 分析师,把信息整理成知识图谱 |
| `QAAgent` | 问答Agent | 接收用户问题,同时查向量库和知识图谱,生成精准答案 | 专家顾问,综合多源信息回答 |
| `KnowledgeUpdateAgent` | 知识更新Agent | 监听文档变更,只更新变化的部分,保持知识库最新 | 勤快管理员,实时维护知识库 |
### 三大技术亮点
| 亮点 | 说明 | 解决什么问题 |
|------|------|-------------|
| **多模态RAG** | 不只处理文字,还能理解PDF里的图片、表格、流程图 | 传统系统只能处理纯文字 |
| **GraphRAG (知识图谱)** | 用图数据库存储实体关系,支持多跳推理 | 纯向量检索无法处理"关系型"和"多步推理"问题 |
| **CDC增量更新** | 文档变了只更新变化的部分 | 传统方案每次全量重建,1000个文档改5个要30分钟 |
---
## 🏗 系统架构
### 整体架构图
```
┌──────────────────────────────────────────────────────────┐
│ 用户接口层 │
│ REST API / Web UI / SDK │
└──────────────┬───────────────────────────┬───────────────┘
│ │
┌──────────────▼───────────────────────────▼───────────────┐
│ 编排引擎 (LangGraph 有向图) │
│ ┌─────────────┬──────────────┬──────────────┐ │
│ │ 文档入库流程 │ 问答流程 │ 增量更新流程 │ │
│ └──────┬──────┴──────┬───────┴──────┬───────┘ │
└───────────│─────────────│──────────────│─────────────────┘
│ │ │
┌───────────▼──┐ ┌───────▼────┐ ┌───────▼──────┐ ┌────────────┐
│ 文档解析Agent │ │ 问答Agent │ │ 知识更新Agent │ │ 知识抽取Agent│
│ │ │ │ │ │ │ │
│ - PDF解析 │ │ - 意图识别 │ │ - 文件监听 │ │ - NER实体识别│
│ - 图片OCR │ │ - 向量检索 │ │ - CDC消费 │ │ - 关系抽取 │
│ - 表格提取 │ │ - 图谱检索 │ │ - 差量对比 │ │ - 事件抽取 │
│ - 文档分块 │ │ - 混合排序 │ │ - 增量更新 │ │ - 三元组生成│
└──────┬───────┘ │ - 答案生成 │ │ - 版本管理 │ └─────┬──────┘
│ └──┬────┬────┘ └──────┬───────┘ │
│ │ │ │ │
┌──────▼────────────▼────│─────────────▼───────────────▼──┐
│ 存储层 │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ ChromaDB / │ │ Neo4j │ │ Kafka │ │
│ │ PGVector │ │ 知识图谱 │ │ CDC队列 │ │
│ │ 向量数据库 │ │ │ │ │ │
│ └─────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────┘
```
### 三条工作流水线(每个数据怎么流转的)
**流水线1:文档入库**(上传文档时触发)
```
用户上传文档
│
▼
文档解析Agent ←── 支持 PDF / Word / Excel / 图片 / Markdown
├── 识别文件类型
├── 解析内容(文字 + 图片OCR + 表格提取)
└── 切割成小块(Chunk)
│
▼
知识抽取Agent
├── 命名实体识别(NER):找出人名、公司名、地名等
├── 关系抽取:找出实体之间的关系
└── 生成三元组:("张三", "就职于", "腾讯")
│
├──────────────────────────────┐
▼ ▼
存入向量数据库 存入知识图谱
(ChromaDB/PGVector) (Neo4j)
```
**流水线2:智能问答**(用户提问时触发)
```
用户提问:"张三负责什么业务?和李四有什么合作关系?"
│
▼
意图识别 + 查询改写
│
├──────────────────┐
▼ ▼
向量检索 图谱检索
(语义相似度) (关系路径查询)
│ │
└────────┬─────────┘
▼
混合重排序
(图谱结果权重更高,因为更精准)
│
▼
LLM生成答案
│
▼
返回答案 + 来源引用
```
**流水线3:增量更新**(文档修改时触发)
```
文档被修改 / 数据库记录更新
│
▼
CDC事件产生(通过Kafka或文件监听)
│
▼
知识更新Agent
├── 差量分析:找出哪些部分变了
├── 增量解析:只重新处理变化的内容
└── 版本管理:记录更新时间和版本号
│
├──────────────┐
▼ ▼
更新向量库 更新知识图谱
```
---
## 🛠 技术栈
### Python版(主要实现,功能最完整)
| 组件 | 技术选型 | 为什么选它 |
|------|----------|------------|
| **Agent编排** | [LangGraph](https://langchain-ai.github.io/langgraph/) | 2025年生产级Agent编排标准,有向图 + 状态持久化 |
| **LLM调用** | [LangChain](https://python.langchain.com/) + OpenAI | 最成熟的LLM应用框架,支持几十种LLM |
| **向量数据库** | [ChromaDB](https://www.trychroma.com/) / [PGVector](https://github.com/pgvector/pgvector) | ChromaDB开箱即用;PGVector适合已有PostgreSQL的企业 |
| **知识图谱** | [Neo4j](https://neo4j.com/) | 图数据库的事实标准,Cypher查询语言强大 |
| **消息队列** | [Apache Kafka](https://kafka.apache.org/) | CDC事件流处理的工业标准 |
| **API框架** | [FastAPI](https://fastapi.tiangolo.com/) | 异步高性能,自动生成OpenAPI/Swagger文档 |
| **文档解析** | [Unstructured](https://unstructured.io/) + PyPDF2 + Tesseract | 多模态文档解析全家桶 |
| **容器化** | [Docker Compose](https://docs.docker.com/compose/) | 一键启动所有依赖服务 |
### Java版
| 组件 | 技术选型 | 说明 |
|------|----------|------|
| **框架** | [Spring Boot 3.4](https://spring.io/projects/spring-boot) + [Spring AI](https://spring.io/projects/spring-ai) | Java生态最成熟的AI应用框架 |
| **文档解析** | [Apache Tika](https://tika.apache.org/) | Java文档解析标准库,支持1000+格式 |
| **向量存储** | [Milvus](https://milvus.io/) | 企业级向量数据库 |
| **消息队列** | [Spring Kafka](https://spring.io/projects/spring-kafka) | @KafkaListener注解驱动,开发效率高 |
### Go版
| 组件 | 技术选型 | 说明 |
|------|----------|------|
| **API框架** | [Gin](https://gin-gonic.com/) | Go生态最流行的HTTP框架,极低延迟 |
| **LLM调用** | [go-openai](https://github.com/sashabaranov/go-openai) | OpenAI官方Go SDK |
| **图数据库** | [neo4j-go-driver](https://github.com/neo4j/neo4j-go-driver) | Neo4j官方Go驱动 |
| **向量存储** | [pgvector-go](https://github.com/pgvector/pgvector-go) | PostgreSQL向量扩展Go客户端 |
| **并发** | goroutine | Go原生并发,文档批量解析天然并行 |
---
## 🌐 三语言实现
本项目同时提供 Python、Java、Go 三种语言实现,**架构设计完全一致**,只是语言和框架不同。
| 语言 | 适合什么岗位 | 特点 | 目录 |
|------|------------|------|------|
| **Python** | AI工程师、算法工程师、数据工程师 | 功能最完整,LangGraph原生支持,推荐学习入口 | [`python/`](./python/) |
| **Java** | 后端开发、架构师、Java技术栈企业 | Spring生态,企业级标准,代码规范严谨 | [`java/`](./java/) |
| **Go** | 基础架构、云原生、高性能后端 | 高并发处理,编译型语言性能优势明显 | [`golang/`](./golang/) |
---
## 🚀 快速开始
### 前置条件
在开始之前,你需要安装:
- [Docker Desktop](https://www.docker.com/products/docker-desktop/)(用于一键启动依赖服务)
- 一个 OpenAI API Key(或者用国内兼容接口,见下方FAQ)
### 步骤1:克隆项目
```bash
git clone https://github.com/bcefghj/agent-knowledge-hub.git
cd agent-knowledge-hub
```
### 步骤2:配置环境变量
```bash
cd python
cp .env.example .env
```
用任意编辑器打开 `.env`,填入你的配置:
```env
# OpenAI配置(必填)
OPENAI_API_KEY=sk-你的APIKey
OPENAI_BASE_URL=https://api.openai.com/v1 # 国内用户可替换为兼容接口地址
# 数据库配置(使用Docker默认值即可,不用改)
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=password
CHROMA_HOST=localhost
CHROMA_PORT=8000
KAFKA_BOOTSTRAP_SERVERS=localhost:9092
```
### 步骤3:一键启动所有服务
```bash
# 回到项目根目录
cd ..
# 启动所有依赖(Neo4j、ChromaDB、Kafka)
docker-compose up -d
```
等待约1分钟,然后检查服务状态:
```bash
docker-compose ps
```
你应该看到所有服务状态为 `Up`。
### 步骤4:启动Python API服务
```bash
cd python
pip install -r requirements.txt
python -m api.main
```
看到 `Uvicorn running on http://0.0.0.0:8080` 就说明启动成功了!
### 步骤5:验证服务
打开浏览器访问 [http://localhost:8080/docs](http://localhost:8080/docs),可以看到交互式API文档。
或者用命令行:
```bash
# 健康检查
curl http://localhost:8080/api/health
# 上传一个文档
curl -X POST http://localhost:8080/api/ingest/upload \
-F "file=@你的文档.pdf"
# 提问
curl -X POST http://localhost:8080/api/qa/ask \
-H "Content-Type: application/json" \
-d '{"question": "这个文档讲了什么?"}'
```
---
## 🎬 功能演示
### 功能1:多模态文档解析
文档解析Agent可以自动识别文件类型,调用对应的解析器:
```python
from agents.doc_parser_agent import DocParserAgent
agent = DocParserAgent()
# 解析不同格式的文档
chunks = await agent.parse("年度报告.pdf") # PDF → 文字 + 图片识别 + 表格提取
chunks = await agent.parse("组织架构.png") # 图片 → OCR文字识别 + LLM视觉理解
chunks = await agent.parse("财务数据.xlsx") # Excel → 结构化文本
chunks = await agent.parse("产品文档.md") # Markdown → 纯文本
# 每个chunk包含:
# chunk.text - 文本内容
# chunk.metadata - 来源文件、页码、类型等
# chunk.embedding - 向量表示(自动生成)
```
### 功能2:知识图谱自动构建
知识抽取Agent从文本中提取三元组,自动构建知识图谱:
```python
from agents.knowledge_extract_agent import KnowledgeExtractAgent
extractor = KnowledgeExtractAgent()
result = await extractor.extract(chunks)
# 输出示例:
# entities(实体):
# - ("张三", Person, {"职位": "CEO", "年龄": "45"})
# - ("腾讯", Organization, {"行业": "互联网", "规模": "大型"})
# - ("微信", Product, {"类型": "社交软件"})
#
# relations(关系):
# - ("张三", "就职于", "腾讯")
# - ("腾讯", "开发了", "微信")
# - ("张三", "负责", "微信")
```
在Neo4j浏览器(访问 [http://localhost:7474](http://localhost:7474))中可以可视化查看知识图谱。
### 功能3:GraphRAG 混合检索问答
问答Agent同时从向量库和知识图谱中检索,结合两个来源的信息生成答案:
```python
from agents.qa_agent import QAAgent
from services.vector_store import VectorStore
from services.knowledge_graph import KnowledgeGraphService
# 初始化
vs = VectorStore()
kg = KnowledgeGraphService()
qa = QAAgent(vector_store=vs, knowledge_graph=kg)
# 提问(支持复杂的多跳推理问题)
result = await qa.answer("张三负责的产品,它的主要竞争对手是谁?")
print(result.answer) # 生成的自然语言答案
print(result.sources) # 来源引用(哪些文档/哪些知识图谱节点)
print(result.confidence) # 置信度分数
# 内部执行流程:
# 1. 向量检索 → 找到语义相关的文档段落(用余弦相似度)
# 2. 实体链接 → 识别问题中的"张三"是哪个实体
# 3. 图谱检索 → 张三 → 负责 → 微信 → 竞争对手 → QQ / 钉钉
# 4. 混合重排序 → 图谱路径结果权重×1.25(推理链更精准)
# 5. LLM生成 → 综合所有信息,生成结构化答案
```
### 功能4:CDC 增量更新(只更新变化的部分)
```python
from agents.knowledge_update_agent import KnowledgeUpdateAgent
update_agent = KnowledgeUpdateAgent(...)
# 场景:你修改了一个PDF文件的第3页
# ❌ 传统做法(全量更新):
# 1. 删除该文档所有向量 (删 1000 条)
# 2. 重新解析整个PDF (解析 50 页)
# 3. 重新入库所有内容 (写入 1000 条)
# 耗时:~30 分钟
# ✅ CDC做法(增量更新):
# 1. 检测到第3页内容变化
# 2. 只重新解析第3页
# 3. 只更新第3页相关的向量和知识图谱节点
# 耗时:~30 秒(快60倍!)
await update_agent.process_cdc_event(event={
"operation": "UPDATE",
"resource_path": "/docs/年度报告.pdf",
"changed_pages": [3]
})
```
---
## 📁 项目结构
```
AgentKnowledgeHub/
│
├── README.md ← 你正在看的这个文件
├── docker-compose.yml ← 一键启动所有依赖服务
│
├── docs/ ← 文档目录
│ ├── architecture.md ← 架构设计详解(每个决策的理由)
│ ├── interview-guide.md ← 面试八股文 + STAR法则话术
│ ├── resume-template.md ← 简历写法模板
│ ├── tech-deep-dive.md ← 核心代码逐行讲解
│ └── project-plan.md ← 项目规划方案
│
├── python/ ← Python实现(功能最完整,推荐)
│ ├── agents/ ← 4个核心Agent
│ │ ├── doc_parser_agent.py ← 文档解析Agent
│ │ ├── knowledge_extract_agent.py ← 知识抽取Agent
│ │ ├── qa_agent.py ← 问答Agent
│ │ └── knowledge_update_agent.py ← 知识更新Agent
│ ├── orchestrator/
│ │ └── graph.py ← LangGraph编排引擎(定义3条流水线)
│ ├── services/
│ │ ├── vector_store.py ← 向量库服务(ChromaDB/PGVector)
│ │ ├── knowledge_graph.py ← 知识图谱服务(Neo4j)
│ │ ├── graph_rag.py ← GraphRAG混合检索管道
│ │ ├── cdc_processor.py ← CDC增量更新处理器
│ │ └── multimodal.py ← 多模态处理服务
│ ├── api/
│ │ └── main.py ← FastAPI入口(REST API)
│ ├── config/
│ │ └── settings.py ← 配置管理
│ ├── Dockerfile ← Python服务容器化
│ ├── requirements.txt ← Python依赖
│ └── .env.example ← 环境变量模板(复制为.env后填写)
│
├── java/ ← Java实现(Spring生态)
│ ├── src/main/java/com/agenthub/
│ │ ├── agent/ ← 4个Agent(Spring Bean)
│ │ │ ├── DocParserAgent.java
│ │ │ ├── KnowledgeExtractAgent.java
│ │ │ ├── QAAgent.java
│ │ │ └── KnowledgeUpdateAgent.java
│ │ ├── service/ ← 服务层
│ │ │ ├── VectorStoreService.java
│ │ │ └── KnowledgeGraphService.java
│ │ ├── controller/ ← REST Controller
│ │ │ └── KnowledgeController.java
│ │ └── model/ ← 数据模型(POJO)
│ ├── src/main/resources/
│ │ └── application.yml ← Spring Boot配置
│ └── pom.xml ← Maven依赖管理
│
└── golang/ ← Go实现(高并发)
├── agent/ ← Agent实现
│ ├── doc_parser.go
│ ├── knowledge_extract.go
│ └── qa.go
├── service/ ← 服务层
│ ├── vector_store.go
│ └── knowledge_graph.go
├── api/
│ └── server.go ← Gin HTTP服务器
├── model/
│ └── types.go ← 数据结构定义
├── config/
│ └── config.go ← 配置读取
├── main.go ← 程序入口
└── go.mod ← Go模块依赖
```
---
## 📡 API 接口
启动服务后,访问 [http://localhost:8080/docs](http://localhost:8080/docs) 查看交互式 Swagger API 文档。
### 文档管理接口
| 方法 | 路径 | 说明 | 示例 |
|------|------|------|------|
| `POST` | `/api/ingest/upload` | 上传单个文档 | `curl -F "file=@doc.pdf" http://localhost:8080/api/ingest/upload` |
| `POST` | `/api/ingest/batch` | 批量上传文档 | 上传多个文件,自动并行处理 |
### 智能问答接口
| 方法 | 路径 | 说明 | 请求体示例 |
|------|------|------|-----------|
| `POST` | `/api/qa/ask` | 智能问答 | `{"question": "张三的职位?", "top_k": 5}` |
**响应示例:**
```json
{
"answer": "根据文档,张三担任腾讯公司CEO职务,负责微信产品线。",
"confidence": 0.94,
"sources": [
{"doc": "年度报告.pdf", "page": 3, "type": "vector"},
{"entity": "张三", "relation": "就职于", "target": "腾讯", "type": "graph"}
]
}
```
### 管理接口
| 方法 | 路径 | 说明 |
|------|------|------|
| `GET` | `/api/admin/stats` | 查看系统统计(文档数、实体数、关系数) |
| `POST` | `/api/admin/update` | 手动触发全量更新 |
| `GET` | `/api/health` | 健康检查 |
---
## 📚 面试资料
本项目为面试准备了一套完整资料,详见 [`docs/`](./docs/) 目录:
| 文档 | 内容 | 什么时候用 |
|------|------|----------|
| [**架构设计详解**](./docs/architecture.md) | 每个技术决策的理由(为什么用LangGraph?为什么用GraphRAG?) | 面试被深追问时 |
| [**面试八股文+STAR**](./docs/interview-guide.md) | 30+高频面试题 + STAR话术模板 | 面试前1天突击 |
| [**简历写法模板**](./docs/resume-template.md) | 怎么把这个项目写进简历(量化指标怎么写) | 投简历前 |
| [**核心代码讲解**](./docs/tech-deep-dive.md) | 关键代码逐行解读,搞懂原理 | 代码层面被追问时 |
| [**项目规划方案**](./docs/project-plan.md) | 完整的项目设计方案 | 理解整体思路 |
### 面试中如何介绍这个项目(STAR法则)
**S(背景)**: 企业内部文档知识管理效率低下,传统关键词搜索准确率只有60%,无法处理多格式文档和多跳推理问题。
**T(任务)**: 设计并实现一个多Agent协作的企业知识管理系统,支持多模态文档处理和智能问答。
**A(行动)**:
- 设计了4个专职Agent的分工协作架构
- 引入GraphRAG融合向量检索和知识图谱检索
- 实现了CDC增量更新机制,避免全量重建的性能损耗
- 使用LangGraph有向图编排3条工作流水线
**R(结果)**:
- 问答准确率从60%提升到94%
- 文档更新响应时间从30分钟缩短到30秒
- 支持PDF/图片/Excel/Markdown等多种格式
---
## ❓ 常见问题 FAQ
### Q: 我没有OpenAI API Key怎么办?
完全没问题!可以用任何兼容OpenAI接口的LLM服务:
```env
# 国内免费/便宜的选择:
# 1. 通义千问(阿里)
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
OPENAI_API_KEY=你的通义千问APIKey
# 2. 智谱AI(GLM系列)
OPENAI_BASE_URL=https://open.bigmodel.cn/api/paas/v4/
OPENAI_API_KEY=你的智谱APIKey
# 3. 本地部署(完全免费)
# 先安装 Ollama: https://ollama.ai/
# 然后 ollama pull qwen2
OPENAI_BASE_URL=http://localhost:11434/v1
OPENAI_API_KEY=ollama
OPENAI_MODEL=qwen2
```
### Q: Docker启动后服务报错?
```bash
# 查看所有服务状态
docker-compose ps
# 查看某个服务的日志
docker-compose logs neo4j
docker-compose logs kafka
# 重启某个服务
docker-compose restart neo4j
```
Neo4j需要的内存比较多,建议给Docker分配至少4GB内存(Docker Desktop → Settings → Resources → Memory)。
### Q: 这个项目可以直接用在公司生产环境吗?
这是一个**架构展示 + 学习项目**,展示了企业级系统的设计思路。如果要用在生产环境,还需要补充:
- 用户认证和权限控制(JWT / OAuth2)
- API限流和熔断(防止滥用)
- 完善的日志和监控(ELK Stack / Prometheus)
- 全面的单元测试和集成测试
- 生产级的数据备份方案
### Q: Python / Java / Go 三个版本有什么区别,用哪个?
**三个版本架构设计完全一致**,只是实现语言不同:
- **Python版**:功能最完整,推荐作为学习入口。面AI工程师/算法工程师岗位必备。
- **Java版**:用Spring生态实现,适合面Java后端/架构师岗位。
- **Go版**:适合面基础架构/云原生/高性能后端岗位。
根据你面试的岗位选择对应语言版本重点准备即可。
### Q: 如何运行测试?
```bash
# Python
cd python
pytest tests/
# Java
cd java
mvn test
# Go
cd golang
go test ./...
```
---
## 🔗 参考资料
### 核心框架文档
- [LangGraph 官方文档](https://langchain-ai.github.io/langgraph/) — Agent编排框架
- [LangChain 官方文档](https://python.langchain.com/docs/get_started/introduction) — LLM应用框架
- [Spring AI 官方文档](https://docs.spring.io/spring-ai/reference/) — Java AI框架
- [Neo4j 官方文档](https://neo4j.com/docs/) — 图数据库
- [ChromaDB 官方文档](https://docs.trychroma.com/) — 向量数据库
- [FastAPI 官方文档](https://fastapi.tiangolo.com/) — Python API框架
### 关键论文
- [RAG原始论文 (2020)](https://arxiv.org/abs/2005.11401) — Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
- [GraphRAG论文 (2024)](https://arxiv.org/abs/2404.16130) — From Local to Global: A Graph RAG Approach to Query-Focused Summarization
- [Microsoft GraphRAG 开源项目](https://github.com/microsoft/graphrag)
### 相关学习资源
- [LangGraph教程(官方)](https://langchain-ai.github.io/langgraph/tutorials/)
- [Neo4j Graph Academy](https://graphacademy.neo4j.com/) — 免费图数据库课程
- [向量数据库选型对比](https://benchmark.vectorview.ai/vectordbs.html)
---
## 🤝 贡献
欢迎提 Issue 和 PR!
- 发现 Bug?[提交 Issue](https://github.com/bcefghj/agent-knowledge-hub/issues)
- 想加新功能?欢迎 Fork 后提 PR
- 觉得有帮助?请点个 ⭐ Star,这是对我最大的鼓励!
## 📄 License
[MIT License](./LICENSE) — 可以自由使用、修改、分发,只需保留原始版权声明。