支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


用 LangGraph 打造了一个迷你 RAG:150 行代码跑通知识库问答

发布日期:2025-07-18 17:56:29 浏览次数: 1542
作者:AISpace研习所

微信搜一搜,关注“AISpace研习所”

推荐语

用150行代码实现RAG系统,深入理解检索增强生成的核心机制,告别黑箱操作!

核心内容:
1. 使用LangChain+LangGraph从零搭建RAG系统
2. 详解文档嵌入、向量存储、重排序等核心模块
3. 提供15行代码快速测试方案,轻松上手实践

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

你是不是厌倦了在低代码平台上,拖拉拽一通操作搭建RAG系统?是不是想深入学习RAG,自己实现RAG的每一个步骤?今天我们将用最精简的方式,带你从零实现一个完整的RAG系统!通过LangChain+LangGraph实战,深入拆解RAG的每个核心模块,告别"黑箱"操作,真正理解检索增强生成的运行机制。

速览 MiniRAG

体积:不到 150 行核心代码

向量存储:PGVector,一个 Docker 命令搞定

嵌入 & 重排:直接调用 SiliconFlow API,无需本地 GPU

编排:LangGraph 工作流,像拼乐高一样搭链路

RAG流程图

MiniRAG流程图

项目结构

├── .env                    # 环境变量配置
├── README.md               # 项目说明
├── demo_embedding.py       # 文档嵌入示例
├── demo_minirag.py         # 问答系统示例
├── src/
│   ├── config.py           # 配置加载
│   ├── embedding.py        # 嵌入逻辑
│   ├── prompts.py          # 提示词模板
│   ├── reranker.py         # 重排序逻辑
│   └── workflow.py         # 工作流定义

麻雀虽小,五脏俱全

模块
说明
对应文件
文档读取 & 分块
支持 4 种格式,自动按 1024token 切片
src/embedding.py
向量存储
PGVector 存储嵌入
Docker 容器
检索 & 重排
先用向量召回 Top-10 * n,再用 Reranker 取 Top-5
src/reranker.py
提示词模板
自带中文模板,可自定义 system prompt
src/prompts.py
工作流
LangGraph 可视化 DAG,方便加日志、重试
src/workflow.py

15行代码快速测试

文档嵌入,运行demo_embedding.py

from src.embedding import load_and_chunk
load_and_chunk(
    file_path = r"E:\vanna_technical_article.md",
    separator = "\n\n"
    chunk_size = 1024
    chunk_overlap = 80
)

知识问答,运行demo_minirag.py

from src.workflow import MiniRag
minirag = MiniRag()
query = "怎么使用Vanna实现chatBI"
chunks = []
for chunk in minirag.invoke(query):
    chunks.append(chunk)
print(chunks)
Demo结果
(完)


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询