26.RAG 实战:从向量数据库到 GraphRAG

GraphRAG、Corrective RAG与Self-RAG:企业级RAG进阶实战指南 RAG(检索增强生成)作为当前知识密集型AI应用的核心范式,其基础实现常因语义漂移、关系断裂和错误传播三大结构性缺陷,在真实业务中频繁失效。要提升可靠性,需超越简单向量检索,转向具备图谱推理能力的GraphRAG、支持事实与逻辑双校验的Corrective RAG,以及赋予模型元认知能力的Self-RAG。这三类进阶方案并非替代关系,而是分别解决跨文档关联建模、生成结果可信验证、模糊查询主动拒答等关键工程问题。它们已在金融风控、医疗辅助决策、工业维修知识库等高要求场景中验证有效性,并支撑起低幻觉、可解释、可 阅读详情

RAG 实战:从向量数据库到 GraphRAG

《大模型知识与部署》系列 · No.26 / 35(应用生态篇开篇)
适合人群:AI 工程师、后端开发、应用架构师
阅读时间:约 28 分钟


在这里插入图片描述

写在前面

前 25 篇我们走完了从模型架构到部署运维的完整链路。从这一篇开始,进入应用生态篇(第 26-30 篇)——把模型变成产品。

第一站是 RAG(Retrieval-Augmented Generation,检索增强生成)。

为什么先讲 RAG?因为这是 2026 年大模型应用最普遍的形态:

ChatGPT 类对话      ──  10% 应用
RAG 知识问答        ──  60% 应用 ⭐
Agent 自动化        ──  20% 应用
多模态特定场景      ──  10% 应用

如果你做过相关工作,下面这些问题应该不陌生:

  • 我有 1TB 公司文档,怎么让大模型"知道"它们?
  • 向量检索老是召回不准,是 embedding 不行还是切片不对?
  • Pinecone / Weaviate / Milvus / Qdrant 怎么选?
  • GraphRAG 真的比传统 RAG 强吗?什么场景用?
  • 用户问的明明文档里有,为什么模型说"我不知道"?
  • RAG + 长上下文已经够用了,为什么还要 GraphRAG / Self-RAG?

读完本文你将能:

  1. 设计完整的 RAG 系统(文档 → 切片 → 索引 → 检索 → 生成)
  2. 选对 embedding 模型和向量库
  3. 用 hybrid 检索 + rerank 把召回准确率提到 90%+
  4. 理解 GraphRAG / Adaptive RAG / Agentic RAG 等进阶方案
  5. 跑通一个端到端 RAG 服务

我们开始。


一、为什么 RAG 是大模型应用的「地基」

1.1 RAG 解决了什么问题

大模型本身有 4 个天生缺陷:

  1. 知识有截止日期——训练数据有 cut-off
  2. 不知道私有知识——你公司内部文档它没见过
  3. 会幻觉——一本正经地胡说
  4. 不能追溯——无法说明答案来源

RAG 用「先检索再生成」的方式同时解决这 4 个:

用户问题 → 检索相关文档 → 把文档作为上下文 → LLM 基于上下文回答

效果:

  • ✅ 实时知识(文档可以随时更新)
  • ✅ 私有知识(你自己的文档库)
  • ✅ 减少幻觉(基于事实生成)
  • ✅ 可追溯(指明引用来源)

1.2 RAG vs 长上下文 vs 微调

第 5 篇 + 第 15 篇我们已经讨论过 RAG vs 长上下文。再加上微调,这是当下三大"知识注入"路径:

方案适用成本时效性
微调风格 / 格式 / 推理能力高低(要重训)
长上下文单次 / 跨文档分析中(API 贵)高
RAG大规模知识 / 高频查询低极高

核心认知:

RAG 不是为了"省 token",是为了"管理无限大的知识库"。

公司知识库可能 100 GB+,1M 上下文也装不下——RAG 是唯一选择。

1.3 RAG 在 2026 年的演进

2023 朴素 RAG     ──  文档 → 切片 → embedding → 余弦检索 → 喂 LLM
2024 Advanced     ──  + 多路召回 + Rerank + Query 改写
2025 GraphRAG     ──  + 知识图谱 + 实体关系
2026 Agentic RAG  ──  + LLM 主动决策 + 多步检索 + 自反思

每一代都解决了上一代的痛点。这一篇我们从基础到前沿都讲透。


二、RAG 的完整流程

2.1 端到端架构

┌────────────────────────────────────────────────────┐
│                  离线索引阶段                       │
│  原始文档 → 解析 → 切片 → embedding → 写入向量库   │
└────────────────────────────────────────────────────┘
                          ↓
┌────────────────────────────────────────────────────┐
│                  在线查询阶段                       │
│  用户问题 → embedding → 检索 → rerank → LLM 生成    │
└────────────────────────────────────────────────────┘

2.2 关键技术栈

环节主流工具
文档解析unstructured, MinerU, Nougat, LlamaParse
切片LangChain TextSplitter, LlamaIndex Parser
EmbeddingBGE, GTE, OpenAI Embedding, Voyage AI
向量库Milvus, Qdrant, Weaviate, Chroma, Pinecone
RerankBGE-Reranker, Cohere Rerank, Voyage Rerank
LLMvLLM 自部署 / Claude / GPT API
编排LangChain, LlamaIndex, DSPy

接下来我们逐个深入。


三、文档处理:90% 的问题在这一步

业内有个共识:RAG 效果差,多半是文档处理没做好。

3.1 文档解析的挑战

不同格式的文档难度天差地别:

格式难度主流工具
纯文本 / Markdown⭐任何 splitter
HTML⭐⭐trafilatura, BeautifulSoup
PDF(扫描版)⭐⭐⭐⭐⭐MinerU, Nougat, PaddleOCR
PDF(原生)⭐⭐⭐pdfplumber, PyMuPDF
Word / PPT⭐⭐python-docx, unstructured
Excel⭐⭐⭐pandas, openpyxl
表格 / 公式 / 图⭐⭐⭐⭐⭐MinerU, Nougat
PDF 解析的坑

PDF 是企业最常见也最难处理的格式。常见问题:

  • 多栏布局 → 文字顺序错乱
  • 表格 → 解析出来是凌乱数字
  • 图片中文字 → 需要 OCR
  • 公式 → 需要 LaTeX 重建
  • 页眉页脚 → 污染正文

推荐工具组合:

# 高质量 PDF 解析
from mineru import MinerU       # 国产开源,结构化输出

result = MinerU.process("complex.pdf")
# 输出:
# {
#   "blocks": [{"type": "text", "content": "..."}, 
#              {"type": "table", "content": "...", "html": "..."},
#              {"type": "formula", "latex": "..."}],
#   "page_info": [...]
# }

LlamaParse(商业服务)和 MinerU(开源)是 2026 年 PDF 解析的两大主流。

3.2 切片策略

切片(chunking)是 RAG 的核心决策之一。切得太大召回不准、太小语义破碎。

策略 1:固定大小切片(最朴素)
from langchain.text_splitter import RecursiveCharacterTextSplitter

splitter = RecursiveCharacterTextSplitter(
    chunk_size=512,
    chunk_overlap=64,         # 重叠保持上下文
    separators=["\n\n", "\n", "。", "!", "?", ",", " ", ""],
)
chunks = splitter.split_text(document)

优点:实现简单,性能稳定
缺点:可能把一个完整句子切两半

策略 2:语义切片

按语义边界切(段落、章节):

from langchain.text_splitter import MarkdownHeaderTextSplitter

headers = [("#", "Header 1"), ("##", "Header 2")]
splitter = MarkdownHeaderTextSplitter(headers_to_split_on=headers)

优点:上下文完整
缺点:chunk 大小不均匀,长 chunk 可能召回不准

策略 3:层级切片(推荐)

把文档同时按多个粒度切:

原文档
├── L1: 大段(2000 tokens)── 完整上下文
│   ├── L2: 中段(500 tokens)── 检索单位
│   │   ├── L3: 小句(100 tokens)── 精确召回

检索时用 L3 精确召回,但返回 L2 给 LLM(带上下文)。

LlamaIndex 实现:

from llama_index.core.node_parser import HierarchicalNodeParser

parser = HierarchicalNodeParser.from_defaults(
    chunk_sizes=[2048, 512, 128]
)
nodes = parser.get_nodes_from_documents(docs)
策略 4:基于 LLM 的语义切片

让 LLM 自己决定在哪里切——效果最好但成本最高:

def llm_chunk(text):
    prompt = f"把下面文本按主题切成不超过 500 字的段落...\n{text}"
    return llm(prompt).split("---")

适合关键知识库 + 离线处理。

3.3 切片质量评估

如何判断切片好不好?三个指标:

指标怎么测
覆盖率真实问题 → 答案是否在某个 chunk 内
召回率检索 top-K chunks 是否包含正确答案
冗余度chunk 之间是否大量重复

实操:准备 100 个真实业务 Q&A,跑评估,召回率应 > 85%。


四、Embedding 与向量库

4.1 Embedding 模型选型

主流 Embedding 模型(2026 中):

模型维度中文英文价格备注
BGE-M3 (智源)1024⭐⭐⭐⭐⭐⭐⭐⭐⭐开源中文首选 ⭐
BGE-large-zh1024⭐⭐⭐⭐⭐⭐⭐开源通用稳定
GTE-large-zh (阿里)1024⭐⭐⭐⭐⭐⭐⭐开源增长快
OpenAI text-embedding-3-large3072⭐⭐⭐⭐⭐⭐⭐⭐⭐$0.13/1M通用主流
Voyage 31024⭐⭐⭐⭐⭐⭐⭐⭐⭐$0.12/1M闭源最强
Cohere Embed v41536⭐⭐⭐⭐⭐⭐⭐⭐⭐$0.10/1M商业可用
nomic-embed-text768⭐⭐⭐⭐⭐⭐⭐开源Ollama 内置

关键选择维度:

  1. 语言:中文用 BGE-M3,英文为主用 OpenAI / Voyage
  2. 维度:高维度 = 高质量但慢,1024 维是平衡点
  3. 成本:自部署 BGE 系列免费
部署 BGE-M3 服务
# 用 sentence-transformers 自部署
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("BAAI/bge-m3", device="cuda")
embeddings = model.encode(
    ["大模型推理优化", "RAG 检索增强"],
    normalize_embeddings=True,   # 归一化,便于余弦计算
)

或者用 vLLM / Infinity 服务化:

# Infinity(高性能 embedding 服务)
docker run -p 7997:7997 \
    michaelf34/infinity:latest \
    --model-id BAAI/bge-m3

4.2 向量库横评

向量库类型优势适合
Milvus开源国产、扩展性强中大规模 ⭐
Qdrant开源Rust 实现快中小规模 ⭐
Weaviate开源内置混合检索中型
Chroma开源极简易用开发 / 小规模
Pinecone商业 SaaS托管省心不想运维
pgvectorPostgreSQL 扩展已有 PG小规模
Elasticsearch老牌全文检索集成方便与 ES 共存
推荐选择
  • 个人 / Demo:Chroma 或 Qdrant
  • 中型业务:Qdrant 或 Weaviate
  • 大型业务:Milvus 或 Pinecone
  • 已有 ES / PG:直接用现成的

4.3 Milvus 实战

from pymilvus import MilvusClient

client = MilvusClient(uri="http://localhost:19530")

# 1. 创建 collection
client.create_collection(
    collection_name="docs",
    dimension=1024,
    metric_type="COSINE",
    index_type="HNSW",   # 高性能近似检索
    index_params={"M": 16, "efConstruction": 256},
)

# 2. 插入数据
client.insert("docs", [
    {"id": 1, "vector": [0.1, 0.2, ...], "text": "...", "source": "doc1.pdf"},
    {"id": 2, "vector": [...], "text": "...", "source": "doc2.pdf"},
])

# 3. 检索
results = client.search(
    collection_name="docs",
    data=[query_embedding],
    limit=10,
    output_fields=["text", "source"],
)
索引算法选择
算法特点适合
FLAT暴力检索,精确< 10 万条
IVF_FLAT倒排索引中等规模
HNSW图索引,高速主流首选 ⭐
IVF_PQ量化压缩极大规模
DiskANN磁盘索引百亿级

HNSW 是 99% 场景的最佳选择——速度 + 质量平衡好。


五、检索策略升级

5.1 朴素 RAG:基线版本

def naive_rag(question, top_k=5):
    # 1. 问题 embedding
    q_vec = embed(question)
    
    # 2. 向量检索
    chunks = vector_db.search(q_vec, top_k=top_k)
    
    # 3. 拼成 prompt
    context = "\n\n".join([c.text for c in chunks])
    prompt = f"基于以下文档回答问题:\n{context}\n\n问题:{question}"
    
    # 4. LLM 生成
    return llm(prompt)

痛点:

  • 召回率低(语义匹配不全)
  • 缺乏精排
  • 问题不清晰时检索差

5.2 Hybrid 检索(向量 + 关键词)

向量检索擅长语义,关键词检索擅长精确。两者互补:

def hybrid_search(question, top_k=10):
    # 1. 向量检索
    vec_results = vector_db.search(embed(question), top_k=20)
    
    # 2. BM25 关键词检索
    bm25_results = elasticsearch.search(question, top_k=20)
    
    # 3. 融合(RRF - Reciprocal Rank Fusion)
    fused = reciprocal_rank_fusion([vec_results, bm25_results])
    
    return fused[:top_k]

def reciprocal_rank_fusion(rankings, k=60):
    scores = {}
    for ranking in rankings:
        for rank, doc in enumerate(ranking):
            scores[doc.id] = scores.get(doc.id, 0) + 1 / (k + rank)
    return sorted(scores.items(), key=lambda x: -x[1])

实测收益:召回率从 75% → 88%。

5.3 Rerank(重排)

向量检索粗排出 50 条,用 cross-encoder 精排出最相关的 5 条:

from FlagEmbedding import FlagReranker

reranker = FlagReranker("BAAI/bge-reranker-v2-m3", use_fp16=True)

def rerank(question, candidates):
    pairs = [[question, c.text] for c in candidates]
    scores = reranker.compute_score(pairs, normalize=True)
    sorted_idx = sorted(range(len(scores)), key=lambda i: -scores[i])
    return [candidates[i] for i in sorted_idx[:5]]

为什么 rerank 这么强:

  • Embedding:双塔结构(Q 和 D 独立编码,最后算相似度)—— 快但粗
  • Rerank:cross-encoder(Q 和 D 拼一起送入)—— 慢但准

典型流程:

向量检索 50 条 → Rerank → top 5 → LLM

实测收益:精度从 75% → 92%。

5.4 Query 改写

用户问题往往不适合直接检索。三种改写:

1. HyDE(Hypothetical Document Embeddings)
def hyde(question):
    # 让 LLM 先编一个"假设答案"
    hypothetical = llm(f"写一段回答这个问题的文档:{question}")
    # 用假设答案做检索(比原问题准)
    return vector_db.search(embed(hypothetical))
2. Step-back Prompting
def stepback(question):
    # 抽取更通用的问题
    general = llm(f"把这个问题改写得更通用:{question}")
    # 两路检索 + 合并
    return combine(search(question), search(general))
3. Multi-query
def multi_query(question, n=5):
    # 让 LLM 生成 n 个改写版本
    queries = llm(f"用 {n} 种不同方式重写问题:{question}").split("\n")
    # 每个查询独立检索 + 去重融合
    return rrf_merge([search(q) for q in queries])

5.5 GraphRAG:当下最热

GraphRAG(Microsoft 2024)解决传统 RAG 的两个问题:

  1. 跨文档推理弱:传统 RAG 只能召回相关 chunk
  2. 全局问题答不好:“这家公司有哪些产品” 这种问题需要看遍所有文档

核心思路:

离线阶段:
1. 用 LLM 从文档抽取实体 + 关系
2. 构建知识图谱
3. 用社区检测算法(如 Leiden)聚类
4. 每个社区生成摘要

在线阶段:
- 局部问题:向量检索(传统 RAG)
- 全局问题:检索相关社区 + 摘要回答

实测对比:

问题类型传统 RAGGraphRAG
局部查询88%89%
跨文档推理52%84% ⭐
全局总结31%78% ⭐

代价:

  • 离线索引成本高(要让 LLM 处理所有文档)
  • 实现复杂

适合:知识库较稳定 + 需要复杂推理的场景。

5.6 Agentic RAG / Self-RAG

2025-2026 的新方向——让 LLM 自己决定检索策略。

Self-RAG 流程:

1. LLM 判断「是否需要检索」
2. 如需要 → 检索 → 评估检索质量
3. 质量差 → 重新生成 query → 再检索
4. 质量好 → 基于检索生成答案
5. 自评答案是否引用了检索内容
6. 没引用 → 重生成

Agentic RAG 流程:

LLM Agent 拿到问题
  ├─ 子问题 1 → 检索 A 库
  ├─ 子问题 2 → 检索 B 库 + 搜索引擎
  ├─ 子问题 3 → 调用工具
  └─ 合并 → 最终答案

这其实就是 Agent + RAG 的融合,下一篇我们会专门讲 Tool Use。


六、生产实战:端到端 RAG 服务

6.1 完整架构

┌─────────────────────────────────────────────┐
│ 数据采集层                                   │
│   爬虫 / 上传 / 同步 → 文档队列               │
├─────────────────────────────────────────────┤
│ 文档处理层                                   │
│   MinerU / Unstructured → 切片 → 元数据      │
├─────────────────────────────────────────────┤
│ 索引层                                       │
│   BGE-M3 Embedding + Milvus + ES (BM25)     │
├─────────────────────────────────────────────┤
│ 检索层                                       │
│   Hybrid Search + RRF + BGE Reranker        │
├─────────────────────────────────────────────┤
│ 生成层                                       │
│   vLLM + Qwen3-32B (or Claude)              │
├─────────────────────────────────────────────┤
│ 服务层                                       │
│   FastAPI + 流式输出 + 缓存                  │
└─────────────────────────────────────────────┘

6.2 核心代码(用 LlamaIndex)

"""
端到端 RAG 服务(生产级简化版)
依赖:pip install llama-index llama-index-vector-stores-milvus
"""
from llama_index.core import VectorStoreIndex, StorageContext, Settings
from llama_index.core.node_parser import SentenceSplitter
from llama_index.vector_stores.milvus import MilvusVectorStore
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.llms.openai_like import OpenAILike
from llama_index.core.postprocessor import SentenceTransformerRerank

# 1. 全局配置
Settings.embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-m3")
Settings.llm = OpenAILike(
    model="qwen3-32b",
    api_base="http://vllm:8000/v1",
    api_key="dummy",
)
Settings.node_parser = SentenceSplitter(chunk_size=512, chunk_overlap=64)

# 2. 向量库
vector_store = MilvusVectorStore(
    uri="http://milvus:19530",
    collection_name="docs",
    dim=1024,
    overwrite=False,
)
storage_context = StorageContext.from_defaults(vector_store=vector_store)

# 3. 索引(首次构建)
from llama_index.core import SimpleDirectoryReader
documents = SimpleDirectoryReader("./docs").load_data()
index = VectorStoreIndex.from_documents(
    documents,
    storage_context=storage_context,
    show_progress=True,
)

# 4. 查询引擎 + Rerank
reranker = SentenceTransformerRerank(
    model="BAAI/bge-reranker-v2-m3",
    top_n=5,
)

query_engine = index.as_query_engine(
    similarity_top_k=30,             # 召回 30 条
    node_postprocessors=[reranker],  # rerank 到 5 条
    streaming=True,
)

# 5. 查询
response = query_engine.query("我们的产品有哪些主要功能?")
for chunk in response.response_gen:
    print(chunk, end="", flush=True)

# 6. 查看来源
for node in response.source_nodes:
    print(f"\n来源:{node.node.metadata}")

6.3 工程化要点

1. 异步处理

文档解析慢,要异步:

from celery import Celery

@celery.task
def process_document(doc_path):
    text = parse_document(doc_path)
    chunks = splitter.split(text)
    embeddings = embed_model.encode(chunks)
    milvus.insert(...)
2. 增量更新
def upsert_document(doc_id, content):
    # 删除旧版本
    milvus.delete(filter=f"doc_id == '{doc_id}'")
    # 插入新版本
    chunks = split(content)
    milvus.insert([{
        "doc_id": doc_id,
        "version": new_version,
        "vector": embed(c),
        "text": c
    } for c in chunks])
3. 多租户隔离
# 用 partition 隔离不同租户
milvus.search(
    collection_name="docs",
    data=[q_vec],
    filter=f"tenant_id == '{user.tenant_id}'",
    output_fields=["text"],
)
4. 监控指标
指标阈值
检索延迟 (p99)< 100ms
召回率> 85%
答案引用源覆盖率> 90%
LLM 拒答率< 5%
5. 评估体系
# 用 RAGAS 评估 RAG 质量
from ragas import evaluate
from ragas.metrics import (
    faithfulness,        # 答案是否基于检索内容
    answer_relevancy,    # 答案是否相关
    context_precision,   # 检索准确率
    context_recall,      # 检索召回率
)

scores = evaluate(
    dataset=test_dataset,
    metrics=[faithfulness, answer_relevancy, context_precision, context_recall],
)

七、避坑清单 + 下一篇预告

7.1 RAG 5 大常见坑

坑 1:用错 chunk 大小

症状:召回不准 / 答非所问。

对策:

  • 一般 500 tokens 是平衡点
  • 业务文档(FAQ):300-400
  • 技术文档:500-800
  • 长篇报告:层级切片
坑 2:embedding 模型语言不匹配

症状:中文检索效果差。

对策:

  • 中文为主:BGE-M3
  • 中英混合:BGE-M3 / Voyage 3
  • 不要用纯英文模型做中文
坑 3:召回不做 rerank

症状:top-5 chunk 不是真正最相关的。

对策:召回 30-50 条 → rerank 到 5 条。

坑 4:单路检索

症状:用户用关键词查询时效果差。

对策:向量 + BM25 hybrid,永远比单路好。

坑 5:不评估

症状:感觉不太对但不知道哪里差。

对策:用 RAGAS / TruLens 等工具量化评估每个环节。

7.2 下一篇预告

  • 第 27 篇:Function Calling / Tool Use - 让大模型「动」起来 —— RAG 让模型"知道知识",Tool Use 让模型"做事"。我们会讲清楚标准协议、主流实现、Agent 基础。
  • 之后是 Agent 框架(28 篇)、多模态(29 篇)、Prompt 工程(30 篇)。

结语:RAG 是大模型应用的「地基中的地基」

读完本文你应该明白:

  • RAG 不是为省 token,是为管理无限知识库
  • 80% 的 RAG 问题在文档处理和切片——花时间在这里
  • BGE-M3 是中文 embedding 首选
  • Hybrid 检索 + Rerank 让召回准确率 75% → 92%
  • GraphRAG 适合跨文档推理 + 全局总结
  • 生产级 RAG = LlamaIndex / LangChain + Milvus + BGE + vLLM

下一篇我们继续:

  • 第 27 篇:Function Calling / Tool Use —— 让模型不只是"会聊",还能"会做"。

我们下篇见。


📮 关于「码海寻道」
这里是一个聚焦 AI 工程化、大模型部署、后端架构实战的技术专栏。
写最一线的踩坑经验,做最务实的技术拆解。

如果这篇文章对你有启发,欢迎点赞、转发、关注。我们下篇见。

MiniMax H3 + ComfyUI 工作流搭建指南:从整合包到视频生成 AI视频生成正成为内容创作的新基础设施,而ComfyUI作为可视化工作流引擎,将复杂的模型推理过程拆解为节点与连线,让本地视频生成变得可复用、可批量。理解这一原理后,用户无需编写代码,只需掌握模型加载、提示词控制、采样与解码的基本链路,即可搭建出稳定的视频生产管线。MiniMax H3作为前沿视频生成模型,在ComfyUI中通过权重文件和自定义节点落地,配合整合包可大幅降低环境配置门槛。从硬件评估、目录结构到节点连接与参数调优,本文系统性梳理了从零跑通一条视频生成工作流的完整路径,帮助用户在批量素材生成、风 阅读详情

相关推荐

(2024,DDPM,DDIM,流匹配,SDE,ODE)扩散:基础教程

本文的目标是尽可能简单地教授扩散。第一节介绍扩散的基本原理。第二节和第三节展示如何构建随机和确定性扩散采样器。第四部分介绍了密切相关的流匹配,可看作是扩散的推广。​第五节,强调实践中最重要的一些设计选择,包括采样器、噪声时间表和参数化方法。

qq_44681809的博客 1万+

【学习笔记】RAG 实战:从向量数据库到 GraphRAG(26/35)

本文系统介绍了检索增强生成(RAG)技术及其在大模型应用中的关键作用。主要内容包括: RAG的定位、完整RAG流程、关键技术、生产级实现及避坑指南。

tpriwwq的专栏 461

LabVIEW工程密码保护机制与移除技术详解

LabVIEW作为工业自动化领域广泛使用的图形化编程工具,其密码保护机制涉及文件加密与权限控制等核心技术。从技术实现来看,现代版本采用AES-128加密结合SHA-256哈希校验,而经典版本使用XOR加密配合Base64编码。理解这些加密原理对于工程维护、灾难恢复等合法场景至关重要。在实际应用中,密码移除工具需要处理不同版本的文件结构差异,包括解析XML描述区的Protection标签、动态识别版本并应用对应解密策略。这类技术在工业设备维护、教学研究等场景具有重要价值,但必须注意遵守法律边界,确保拥有合法的

weixin_34161083的博客 385

一文读懂传统RAG、多模态RAG、Agentic RAG与GraphRAG

RAG已经不是什么新鲜的概念了,自2023年发展至今也有两年时间了,从最早的传统RAG进化到如今各类更智能的RAG,今天给大家简单介绍下现在用的最多的这四种RAG。

2301_81888214的博客 422

基于Unity引擎利用OpenCV和MediaPipe的面部表情和人体运动捕捉系统

增加了模型的绑定,利用Mediapipe这个强大的库可以实现识别面部表情的捕捉和人体结构运动的捕捉,基于以上的特性加入到Unity的人物模型中,实现实时的面部表情和人体运行的捕捉

BIgbossyii的博客 1万+

低电压高效率能源管理芯片BQ25570的基本用法及应用电路实例

BQ25570是一款低电压、高效率、集成了可编程功率追踪(MPPT)功能、BOOST升压功能和BUCK降压功能的综合型能源管理电路。冷启动工作电压为330mV,热启动工作电压为100mV。主要应用于温差发电片TEG、压电、摩擦发电和太阳能板的能量收集,也可以用于人体可穿戴自取能传感设备的能量管理。本文主要介绍了BQ25570相关参数计算、MPPT功能验证、工作逻辑和应用场景,并设计了一版测试电路,给出了不同应用需求的电路配置建议。

weixin_49213602的博客 3430

一文读懂传统RAG、多模态RAG、Agentic RAG与GraphRAG,大模型入门到精通,收藏这篇就足够了!

RAG已经不是什么新鲜的概念了,自2023年发展至今也有两年时间了,从最早的传统RAG进化到如今各类更智能的RAG,今天给大家简单介绍下现在用的最多的这四种RAG。

huang9604的博客 965

从圆形到椭圆:CenterNet中高斯热图半径的自适应优化策略

本文深入探讨了CenterNet目标检测模型中高斯热图生成策略的优化,针对传统圆形高斯核在处理长宽比差异大目标时的局限性,提出了自适应椭圆高斯核的解决方案。通过数学推导和代码实战,详细阐述了如何根据目标边界框尺寸动态计算椭圆长短轴半径,生成更贴合目标几何形状的热图监督信号,从而有效提升模型,尤其是对无人机、车辆等不规则目标的定位精度。

alice7model的博客 981

GraphRAG 全流程实战指南:从入门到业务落地

GraphRAG 就像是一个自动化知识工厂,帮你从无结构文本中提炼出有结构的图谱和洞察。只要你配置得当,它可以无缝集成到你任何AI相关的业务系统中。

2401_82469710的博客 1247

从理论到实践:使用Sigrity SystemSI完成DDR4信号完整性仿真全流程解析

本文详细解析了使用Sigrity SystemSI完成DDR4信号完整性仿真的全流程,从核心挑战到实战操作。文章深入探讨了DDR4信号完整性问题,介绍了SystemSI工具链的演进与分工,并提供了从前期准备到高级技巧的详细指南,帮助工程师有效解决DDR4设计中的信号完整性问题。

weixin_30505225的博客 500

【unity实战】Cinemachine虚拟相机实战,使用InputSystem+Cinemachine+CharacterController复刻各种主流游戏的相机控制

这里主要是探讨如何使用InputSystem+Cinemachine+CharacterController复刻各种主流游戏的相机控制,我们主要专注Cinemachine实战效果,所以并不会深入讨论Cinemachine和CharacterController比较细节的参数介绍。注意:前面为了测试方便,我还是先用的旧的输入系统代替InputSystem【推荐100个unity插件之10】Unity最全的最详细的Cinemachine(虚拟相机系统)介绍,详细案例讲解,快速上手。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3731

向量数据库 vs 知识图谱:GraphRAG 的崛起

Knowledge graphs 和 vector databases 常被定位为彼此竞争的技术,但这种框架忽略了问题的本质。

2401_82469710的博客 1163

解锁PyCharm+Deepseek:本地部署AI编程超能力

在本次探索中,我们成功地在 PyCharm 中实现了 DeepSeek 的本地化部署,这一过程虽然涉及多个步骤,但每一步都为我们开启 AI 编程大门奠定了基础。从安装最新版 PyCharm,确保我们拥有一个功能强大且兼容性良好的开发环境,到注册 DeepSeek 账号并获取 API Key,这是连接我们与强大 AI 能力的关键纽带。接着,在 PyCharm 中安装 Continue 插件并进行精细配置,让 DeepSeek 能够深度融入我们的编程流程。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 5541

GraphRAG 全流程实战指南:从入门到业务落地,大模型入门到精通,收藏这篇就足够了!

GraphRAG(Graph Retrieval-Augmented Generation)是微软研究团队发布的开源项目,它是一种“图增强的检索生成系统”。

2401_82469710的博客 1347

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

通用知识库搭建与知识图谱构建全指南(RAG + GraphRAG 实战)

微软 2024 年开源了 microsoft/graphrag,是目前 GraphRAG 事实上的标准实现。构建阶段(Indexing)切片:与 RAG 类似,把文档切成片段;LLM 建图:用 LLM 从每个片段中抽取实体和关系,写入知识图谱;社区检测(Community Detection):用图算法(如 Leiden)把图谱划分成"社区"(联系紧密的节点簇);社区摘要(Community Summaries):用 LLM 为每个社区生成一段摘要——相当于给"关系网"写"部门简介"。

ITOfDragon的博客 1224

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

代码实践!如何使用CAMEL Agents构建 GraphRAG ?

关注公众号:青稞AI,第一时间学习最新AI技术

青年AI研究员idea加油站,AI开发者的新能源充电桩。 950

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

报告下载丨2025年RAG实践手册:构建知识库和问答系统的实战指南

该手册是生成式 AI 落地的 “实操手册”,聚焦 RAG(检索增强生成)技术全流程落地。

2301_81888214的博客 991

AI + 知识图谱 = GraphRAG:为企业构建更精准的聊天机器人

在本文中,我们了解了 GraphRAG 如何为企业提供客户支持聊天机器人。我已涵盖以下关键组件:构建知识图谱、为 Cypher 查询生成构建 LLM 驱动的管道,以及利用 FalkorDB 的功能创建高效、低延迟的 GraphRAG 系统。此方法展示了现代图数据库如何有效支持智能客户服务解决方案。我还比较了 RAG 系统中图数据库与向量数据库的优劣,并演示了如何根据业务需求选择更适合的解决方案。为了进一步探索,建议您尝试创建更详细的知识图谱,以表示复杂的数据关系。

Android23333的博客 1183

5分钟了解GraphRAG和Mem0

一句话概括:基于图+向量混合存储技术的RAGGraph RAG是微软开发的一种基于图数据库的检索增强生成(Retrieval-Augmented Generation)技术,它将传统的向量检索与图数据库的语义关系相结合,提供更精准的信息检索和生成能力。Mem0通过图结构化记忆和LLM驱动的动态更新,解决了LLM的长对话一致性问题、知识图谱构建和维护问题,其核心创新包括:两阶段处理流水线• 提取阶段:实体识别(语义重要性分析) → 关系推理(隐式逻辑挖掘)

2401_85375298的博客 1111

GraphRAG为什么比传统RAG强?5个真实业务场景下的性能对比

本文通过五个真实业务场景的量化对比,深入解析了GraphRAG如何超越传统RAG。GraphRAG通过引入知识图谱层,在金融投研、医疗问答、智能客服等复杂查询中,实现了答案完整性、准确性、Token效率及可解释性的系统性提升,成为下一代企业级知识系统的核心引擎。

convnet3designer的博客 260

132页RAG实践手册:构建知识库和问答系统的实战指南

本书将系统性地介绍如何从零开始,基于RAG(Retrieval‑Augmented Generation,检索增强生成)技术,构建一个能够理解和利用个人知识库的智能聊天机器人,并将其无缝集成到你自己的网站或应用中。

瓦罗兰特顶级C位的博客 659

十分钟快速搭建一个 RAG 系统(实操笔记)

RAG,即检索增强生成。全称是 Retrieval-Augmented Generation,这是目前解决大模型知识时效性、幻觉问题、私有数据接入等难题的主流技术方案。

python1234567_的博客 738

资料分享丨2025年RAG实践手册:构建知识库和问答系统的实战指南(附132页文件下载)

《2025年RAG实践手册:构建知识库和问答系统的实战指南》由Jimmy Song撰写,系统讲解了检索增强生成(RAG)技术的核心原理与实战落地方法,从知识库构建、向量数据库搭建到检索系统实现、大模型集成等全流程展开,通过具体代码示例和操作步骤,助力开发者从零构建高效的智能问答系统,适用于个人知识管理、企业智能客服等多种场景。

Y525698136的博客 1183

【AI大模型】5分钟了解GraphRAG和Mem0,全程干货,小白也能轻松学会!!

什么是Graph RAG? 一句话概括:基于图+向量混合存储技术的RAG Graph RAG是微软开发的一种基于图数据库的检索增强生成(Retrieval-Augmented Generation)技术,它将传统的向量检索与图数据库的语义关系相结合,提供更精准的信息检索和生成能力。

嘴巴吃糖了 959
上一篇: 25.TCO 成本测算:训练与推理的完整成本模型
下一篇: 27.Function Calling 与 Tool Use:让大模型「动」起来
像风一样自由2020
博客等级 码龄10年 1654粉丝 502原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值