你是不是厌倦了在低代码平台上,拖拉拽一通操作搭建RAG系统?是不是想深入学习RAG,自己实现RAG的每一个步骤?今天我们将用最精简的方式,带你从零实现一个完整的RAG系统!通过LangChain+LangGraph实战,深入拆解RAG的每个核心模块,告别"黑箱"操作,真正理解检索增强生成的运行机制。
体积:不到 150 行核心代码
向量存储:PGVector,一个 Docker 命令搞定
嵌入 & 重排:直接调用 SiliconFlow API,无需本地 GPU
编排:LangGraph 工作流,像拼乐高一样搭链路
RAG流程图:
├── .env # 环境变量配置
├── README.md # 项目说明
├── demo_embedding.py # 文档嵌入示例
├── demo_minirag.py # 问答系统示例
├── src/
│ ├── config.py # 配置加载
│ ├── embedding.py # 嵌入逻辑
│ ├── prompts.py # 提示词模板
│ ├── reranker.py # 重排序逻辑
│ └── workflow.py # 工作流定义
麻雀虽小,五脏俱全
src/embedding.py | ||
src/reranker.py | ||
src/prompts.py | ||
src/workflow.py |
文档嵌入,运行demo_embedding.py
fromsrc.embeddingimportload_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
fromsrc.workflowimportMiniRag
minirag = MiniRag()
query ="怎么使用Vanna实现chatBI"
chunks = []
forchunkinminirag.invoke(query):
chunks.append(chunk)
print(chunks)
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |