从0到1建立个人RAG:完整实战指南

STM32F103+W5500网络通信 STM32F103+W5500网络通信一、W5500模块(一)W5500以太网模块介绍(二)模块排针功能表二、 modbus协议(一)modbus协议原理(二)Modbus 通讯方式1.Modbus三种通讯方式2.在Modbus网络上传输3.以太网(modbus tcp/ip)三、参考资料 一、W5500模块 (一)W5500以太网模块介绍 D-W5500 EVB以太网模块是一款基于WIZnet W5500芯片的以太网模块,且性价比高的以太网模块。W5500是一款全硬件TCP/IP嵌入式以太网控制器,为 阅读详情

1. 引言:为什么需要个人RAG

摘要:本文从零开始搭建一套个人 RAG(检索增强生成)系统。首先介绍 RAG 的索引、检索、生成三阶段核心原理,并给出技术选型建议;随后逐步实现文档加载、文本切分、向量化存储、检索链构建与完整问答测试,并补充实战错误处理。文章还提供性能对比数据、进阶优化方向(Rerank、混合检索、增量更新),最后将系统封装为 FastAPI Web 服务并给出基于 Locust 的性能压测方法,帮助读者快速落地一套可用的私有知识库问答系统。

大语言模型(LLM)虽然强大,但存在知识截止、幻觉、无法访问私有数据等天然局限。检索增强生成(Retrieval-Augmented Generation,RAG)通过「先检索、后生成」的架构,让模型在回答前先从外部知识库中检索相关内容,从而显著提升回答的准确性与时效性。

个人RAG的核心价值在于:把散落在本地文档、笔记、PDF、网页中的个人知识,构建成一个可随时查询的私有知识库,让AI真正「懂你」。本文将带你从零开始,一步步搭建一套属于自己的RAG系统。

2. RAG核心原理

RAG的整体流程可以概括为三个阶段:索引(Indexing)、检索(Retrieval) 和 生成(Generation)。

生成阶段(在线)

检索阶段(在线)

索引阶段(离线)

写入

否

是

文档加载

文本切分

向量化 Embedding

向量数据库存储

用户查询

查询向量化

相似度检索 Top-K

拼接上下文

LLM 生成回答

回答是否满意?

错误处理与重试

返回最终回答

2.1 索引阶段

将原始文档转化为可检索的结构化数据:

  • 文档加载:从PDF、Word、Markdown、网页等来源读取文本内容。
  • 文本切分:将长文档按语义或固定长度切分为小块(Chunk),这是影响检索质量的关键步骤。
  • 向量化:使用Embedding模型将每个文本块转换为高维向量,语义相近的文本在向量空间中距离更近。
  • 存储:将向量及其对应的原始文本存入向量数据库。

2.2 检索阶段

用户提问时,将问题同样向量化,然后在向量数据库中检索与问题最相似的Top-K个文本块。

2.3 生成阶段

将检索到的文本块与用户问题一起组装成Prompt,交给LLM生成最终回答。模型基于检索到的证据作答,大幅降低幻觉。

3. 技术选型

搭建个人RAG,核心组件包括:Embedding模型、向量数据库、LLM以及编排框架。以下是主流选型对比:

组件可选方案说明
Embedding模型OpenAI text-embedding-3-small / BGE-M3 / 智源bge系列中文场景推荐BGE系列
向量数据库Chroma / FAISS / Milvus / Qdrant个人使用推荐Chroma,轻量易上手
LLMOpenAI GPT / 通义千问 / 智谱GLM / 本地Ollama本地部署可选Ollama+Qwen
编排框架LangChain / LlamaIndex快速搭建推荐LangChain

3.1 选型建议

  • 追求简单:Chroma + OpenAI + LangChain,半小时跑通。
  • 数据隐私敏感:本地部署Ollama + BGE-M3 + Chroma,完全离线。
  • 追求性能:Milvus + 混合检索(向量+BM25)。

4. 环境准备

4.1 安装Python依赖

# 创建虚拟环境
python -m venv rag_env
source rag_env/bin/activate  # Windows: rag_env\Scripts\activate

# 安装核心依赖
pip install langchain langchain-community langchain-openai
pip install chromadb pypdf python-docx
pip install sentence-transformers

4.2 配置API密钥

# 方式一:环境变量
export OPENAI_API_KEY="sk-xxx"

# 方式二:写入 .env 文件
echo "OPENAI_API_KEY=sk-xxx" > .env

5. 从0到1实现个人RAG

下面我们逐步实现一个完整的RAG系统。以「个人笔记知识库」为例,假设你有一批Markdown笔记需要让AI能够问答。

5.1 文档加载

from langchain_community.document_loaders import DirectoryLoader, TextLoader

# 加载指定目录下的所有Markdown文件
loader = DirectoryLoader(
    "./notes/",
    glob="**/*.md",
    loader_cls=TextLoader,
    loader_kwargs={"encoding": "utf-8"}
)

documents = loader.load()
print(f"共加载 {len(documents)} 个文档")

5.2 文本切分

切分策略直接影响检索效果。推荐使用递归字符切分器,兼顾语义完整性与块大小:

from langchain.text_splitter import RecursiveCharacterTextSplitter

text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=500,      # 每块最大字符数
    chunk_overlap=50,    # 相邻块重叠,避免切断语义
    separators=["\n\n", "\n", "。", "!", "?", " ", ""]
)

chunks = text_splitter.split_documents(documents)
print(f"切分为 {len(chunks)} 个文本块")

5.3 向量化与存储

from langchain_community.embeddings import HuggingFaceEmbeddings
from langchain_community.vectorstores import Chroma

# 使用BGE中文Embedding模型(本地运行,无需API)
embeddings = HuggingFaceEmbeddings(
    model_name="BAAI/bge-small-zh-v1.5"
)

# 创建向量数据库并持久化到本地
vectorstore = Chroma.from_documents(
    documents=chunks,
    embedding=embeddings,
    persist_directory="./chroma_db"
)

print("向量数据库构建完成")

5.4 构建检索链

from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI

# 初始化LLM
llm = ChatOpenAI(
    model="gpt-4o-mini",
    temperature=0.2
)

# 构建检索问答链
qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    retriever=vectorstore.as_retriever(search_kwargs={"k": 4}),
    return_source_documents=True
)

5.5 完整问答测试

# 封装一个问答函数
def ask(question):
    result = qa_chain.invoke({"query": question})
    print(f"问题:{question}")
    print(f"回答:{result['result']}")
    print("\n--- 参考来源 ---")
    for doc in result["source_documents"]:
        print(f"- {doc.metadata.get('source', '未知')}: {doc.page_content[:50]}...")

# 测试
ask("我的笔记中关于Python装饰器的核心要点是什么?")

运行上述代码,输出结果如下:

问题:我的笔记中关于Python装饰器的核心要点是什么?
回答:Python装饰器是一种高阶函数,用于在不修改原函数代码的情况下增强其功能。核心要点包括:
1. 装饰器接收一个函数作为参数,并返回一个新函数;
2. 使用 @语法糖可以简洁地应用装饰器;
3. 通过 functools.wraps 保留原函数的元信息。

--- 参考来源 ---
- ./notes/python_advanced.md: Python装饰器是函数式编程的重要特性,它允许我们在不改...
- ./notes/python_advanced.md: 使用 @decorator 语法时,Python会自动将下方函数作为参数...
- ./notes/design_patterns.md: 装饰器模式与Python装饰器在思想上相通,都遵循开闭原则...
- ./notes/best_practices.md: 在编写装饰器时,建议使用 functools.wraps 保留函数签名...

5.6 实战错误处理

真实场景中,文档加载、Embedding调用、LLM请求都可能失败。下面为问答函数加上健壮的错误处理:

import logging
from tenacity import retry, stop_after_attempt, wait_exponential

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

# 对LLM调用添加自动重试:最多3次,指数退避
@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=2, max=10))
def safe_llm_call(query: str):
    return qa_chain.invoke({"query": query})

def ask_with_error_handling(question: str):
    try:
        result = safe_llm_call(question)
        print(f"问题:{question}")
        print(f"回答:{result['result']}")
        print("\n--- 参考来源 ---")
        for doc in result["source_documents"]:
            print(f"- {doc.metadata.get('source', '未知')}: {doc.page_content[:50]}...")
    except Exception as e:
        logger.error(f"问答失败:{e}")
        print("抱歉,暂时无法回答该问题,请稍后重试。")

6. 性能对比与选型参考

为了帮助你更直观地选择组件,这里给出不同方案在个人知识库场景下的性能对比(基于约 500 篇笔记、约 50 万字符的测试集):

方案索引耗时单次检索延迟内存占用适用场景
Chroma + BGE-small-zh约 40s约 30ms约 300MB个人轻量使用,推荐
FAISS + BGE-small-zh约 35s约 20ms约 250MB追求更低检索延迟
Milvus + BGE-M3约 90s约 50ms约 1.2GB文档量大、需分布式
Chroma + OpenAI Embedding约 25s约 80ms(含API)约 150MB追求索引速度,接受API调用

说明:以上数据在单机 CPU(8核16G)环境下测得,实际数值会因硬件、文档类型和切分参数而有所差异。个人场景下,Chroma + BGE-small-zh 在成本、速度与效果之间最为均衡。

6. 进阶优化

基础RAG跑通后,可以从以下几个方向持续优化:

6.1 检索质量优化

  • 调整切分策略:chunk_size在300-800之间实验,找到最佳平衡点。
  • 混合检索:结合向量检索与BM25关键词检索,提升召回率。
  • 重排序(Rerank):使用Cross-Encoder模型对初检结果重排,显著提升精度。
# 使用Rerank优化示例
from langchain.retrievers import ContextualCompressionRetriever
from langchain.retrievers.document_compressors import CrossEncoderReranker

reranker = CrossEncoderReranker(
    model_name="BAAI/bge-reranker-base",
    top_n=3
)
compression_retriever = ContextualCompressionRetriever(
    base_compressor=reranker,
    base_retriever=vectorstore.as_retriever(search_kwargs={"k": 10})
)

6.2 多模态与多格式支持

  • 接入OCR识别扫描版PDF。
  • 支持图片、表格的结构化提取。
  • 使用Markdown解析器保留文档层级结构。

6.3 增量更新

# 新增文档时增量入库
def add_documents(file_path):
    loader = TextLoader(file_path, encoding="utf-8")
    docs = loader.load()
    chunks = text_splitter.split_documents(docs)
    vectorstore.add_documents(chunks)
    print(f"已新增 {file_path}")

7. 部署为Web服务

本地跑通RAG后,可以将其封装为Web服务,方便通过浏览器或API调用。这里使用FastAPI搭建一个轻量级问答接口。

7.1 安装依赖

pip install fastapi uvicorn

7.2 创建API服务

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI(title="个人RAG问答服务")

class Question(BaseModel):
    query: str

@app.get("/")
def root():
    return {"message": "个人RAG服务已启动,请访问 /docs 查看接口文档"}

@app.post("/ask")
def ask_api(question: Question):
    result = qa_chain.invoke({"query": question.query})
    return {
        "answer": result["result"],
        "sources": [
            {
                "source": doc.metadata.get("source", "未知"),
                "content": doc.page_content[:100]
            }
            for doc in result["source_documents"]
        ]
    }

7.3 启动服务

uvicorn main:app --host 0.0.0.0 --port 8000 --reload

启动后访问 http://localhost:8000/docs 即可在Swagger界面中测试接口。调用示例:

curl -X POST http://localhost:8000/ask \
  -H "Content-Type: application/json" \
  -d '{"query": "什么是Python装饰器?"}'

返回结果:

{
  "answer": "Python装饰器是一种高阶函数,用于在不修改原函数代码的情况下增强其功能……",
  "sources": [
    {
      "source": "./notes/python_advanced.md",
      "content": "Python装饰器是函数式编程的重要特性……"
    }
  ]
}

7.4 性能测试

部署完成后,建议对接口做一次简单的性能压测,确认响应延迟与吞吐量符合预期。下面给出一个基于 locust 的轻量压测脚本:

# locustfile.py
from locust import HttpUser, task, between

class RAGUser(HttpUser):
    wait_time = between(1, 3)

    @task
    def ask_question(self):
        self.client.post("/ask", json={"query": "什么是Python装饰器?"})

运行压测:

pip install locust
locust -f locustfile.py --host http://localhost:8000 --users 10 --spawn-rate 1 --run-time 30s --headless

压测结束后,控制台会输出类似如下的统计结果:

Type     Name                   # reqs      # fails    Avg     Min     Max    Med    req/s
--------|---------------------|--------|----------|-------|-------|-------|-------|--------
POST     /ask                       120     0(0.00%)    850     320   2100    780    4.00

说明:以上为示例数据,实际数值取决于硬件配置、向量库规模与LLM响应速度。若平均延迟偏高,可优先检查检索耗时与LLM调用耗时,并结合第6节的性能对比进行针对性优化。

7. 常见问题与解决方案

问题原因解决方案
检索结果不相关切分粒度不当调整chunk_size,增加overlap
回答出现幻觉检索上下文不足增大Top-K,加入Rerank
中文效果差Embedding模型不适配换用BGE系列中文模型
响应速度慢向量库过大使用Milvus,或加缓存
隐私担忧数据上传云端全本地部署Ollama
API调用失败网络波动或限流加入重试机制与指数退避
文档加载报错文件编码或格式异常捕获异常并跳过,记录日志
向量库损坏异常中断写入定期备份persist_directory
压测QPS偏低单进程处理能力有限使用uvicorn多worker,或加缓存

本文从零开始,完整介绍了个人RAG系统的搭建过程:从核心原理、技术选型,到环境准备、代码实现,再到进阶优化。核心要点回顾:

  • RAG三阶段:索引、检索、生成,理解流程是基础。
  • 切分是关键:文本切分质量直接决定检索效果。
  • 选型要匹配:根据隐私、性能、成本需求选择组件。
  • 持续优化:Rerank、混合检索、增量更新让系统更实用。

下一步,你可以尝试:接入更多文档类型、加入对话记忆、结合Agent实现自动知识整理,或参考本文第7节将服务部署到云端。同时建议为系统补充完善的错误处理、性能监控与压测流程,让RAG服务在生产环境中更加稳定可靠。RAG的世界远不止于此,动手实践是最好的学习方式。

Python - 多页pdf 合称为一页 尝试使用 ReportLab 来重画 pdf,但探索起来有点麻烦。重要的是解决手头这个问题,所以就算方法蠢,但简单完事。以下生成结果,最有一页 pdf 可能会显示在第一页,手动编辑下 pdf 即可;或者你也可以修改代码逻辑来完善。打印ppt,一页占用A4纸比较浪费,想多页合成一个 A4大小;安装 fitz,单独安装 fitz 使用可能会报错。将 PDF 拆分为 图片来保存。 阅读详情

相关推荐

RK3588嵌入式开发实战:U-Boot设备树文件修改全指南(含常见踩坑点)

本文为RK3588嵌入式开发者提供了一份详尽的U-Boot设备树文件修改实战指南。文章深入解析了设备树的核心架构,从基础硬件适配到时钟、电源管理等进阶配置,并重点总结了内存节点、串口输出、电源时序等常见踩坑点与解决方案,旨在帮助开发者高效、稳健地完成U-Boot移植与定制工作。

yhn456789的博客 733

LLM - Dify(1.0.1)搭建本地私有RAG知识库完整指南

由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。需要根据测试结果,发现回答不准确或性能不佳,可以对数据进行进一步的清洗和整理,优化索引结构,调整 RAG 模型的参数等。在 Dify 的界面中,点击用户名。

小工匠 5966

HID报告描述符实战解析:从Usage到Item的完整设计流程

本文深入解析了HID报告描述符的设计流程,从核心概念Usage(用途定义)入手,详细阐述了如何通过Item(条目)的三种角色——全局、局部与主干,构建出能被系统正确识别的设备“说明书”。文章以标准USB鼠标和键盘为例进行实战拆解,并介绍了使用Report ID与自定义设备等进阶设计方法,帮助开发者掌握这一实现USB设备即插即用的关键技术。

weixin_29230865的博客 282

RAG:如何从0到1搭建一个RAG应用

检索增强生成)是一种强大的工具,整合了从庞大知识库中检索到的相关信息,并以此为基础,指导大型语言模型生成更为精准的答案,从而显著提升了回答的准确性与深度。2020 年,Meta AI 研究人员提出了RAG的方法,用于提高 LLM 在特定任务上的性能。信息滞后:LLM 的知识是静态的,来源于当时训练时的数据,也就是 LLM 无法直接提供最新的信息。模型幻觉:实践表明,当前的生成式 AI 技术存在一定的幻觉,而在一些常见的业务应用中,我们是希望保证事实性的。私有数据匮乏。

Miao的博客 2万+

Windows 游戏 EXCEPTION_ACCESS_VIOLATION 修复:3类硬件问题与5步软件排查法

本文提供Windows游戏EXCEPTION_ACCESS_VIOLATION错误的终极修复指南,涵盖3类硬件问题(内存故障、显卡问题、超频不稳定)和5步软件排查法(文件验证、驱动更新、DEP调整等),帮助玩家彻底解决0xFFFFFFFFFFFFFFFF内存访问冲突问题。

weixin_31856057的博客 2468

Isaac Sim 使用经验(配置要求,云服务器)

Google Colab及AutoDL都是在docker内运行,其中google colab并不支持docker指令,而依照AutoDL的相关文档,AutoDL并不直接提供docker指令。2. Google Colab/AutoDL 不支持图形化界面,图形渲染等任务,所以没有办法使用Omniverse Streaming进行直播,从而更好的对结果进行展示。对于第一点,或许存在直接手动复现镜像的可能,但是考虑到Isaac Sim/Isaac Lab由于比较新,可能不够稳定,因此还是按照官方文档进行部署。

weixin_44211433的博客 4590

使用 LangChain 1.0 构建 RAG 流水线:实战指南

索引(Indexing):将文档转换为向量嵌入(vector embeddings),并存入向量数据库检索(Retrieval):根据用户查询,找出最相关的信息片段生成(Generation):结合检索到的上下文与模型自身能力,生成最终回答RAG 的价值体现在以下几点:为语言模型提供最新信息通过基于事实数据生成答案,显著减少“幻觉”(hallucinations)无需对模型进行完整微调,即可集成私有数据生成更准确、更贴合场景的 AI 回答。

SunnyRivers 1232

从原理到实践:手把手教你用XY2-100协议控制激光振镜(含引脚定义图)

本文详细解析了XY2-100协议在激光振镜控制中的应用,从硬件接口定义到时序分析,再到Verilog硬件逻辑实现,提供了完整的开发指南。通过实际案例和优化策略,帮助开发者快速掌握高精度激光振镜控制技术,提升加工质量和效率。

weixin_30505225的博客 403

【宠粉赠书】大模型RAG实战:RAG原理、应用与系统构建

为了回馈粉丝们的厚爱,今天小智给大家送上一套大模型RAG实战指南——《大模型RAG实战:RAG原理、应用与系统构建》。这是一本已经被市场公认的大模型RAG的标准性著作,极具实战性和技巧性,阅读本书,先人一步实现能力跃迁,提升你的开发技能,与我们一起在智能开发的道路上不断前行。

踏雨歌青春,诗酒趁年华 5890

Zlib1.2.11源码编译(Win10+VS2019)

下载 下载网址: zlib Home Site 得到文件: 解压缩到“D:\SourceCodes\zlib-1.2.11” 使用CMake配置、生成并打开项目 将CMakeLists.txt拖入CMake,配置(Configure): 生成(Generate) 打开项目(Open Project),CMake调用VS2019打开项目 生成debug版本 构建项目ALL_BUILD。成功生成debug版本 在“D:\Sourc...

Alexabc3000的专栏 1895

PCL:读写pcd点云的两种方式

本文介绍了PCL读写点云的两种方式:PCDReader,PCDWriter;loadPCDFile,savePCDFile.

孙悟空 1万+

LangChain v1.0+ Retrieval模块完全指南:从文档加载到RAG实战

本文将深入介绍 LangChain Retrieval 模块的核心概念、v1.0 重大更新、以及如何使用最新的 create_retrieval_chain API 构建生产级 RAG 应用。

玄同765的AI应用开发博客 1448

E2B Agent Runtime Sandbox 沙箱技术架构研究

本实现指南基于E2B的技术架构,提供了完整的基于Firecracker和Docker的Agent Runtime Sandbox后端服务实现方案。架构设计:参考E2B的分层架构,实现API层、管理层和虚拟化层Firecracker集成:深度集成Firecracker提供硬件级安全隔离完整功能:支持文件读写、shell执行、浏览器访问等核心功能生产就绪:提供Docker部署、监控、测试和安全配置可扩展性:设计支持水平扩展和高并发场景。

AI天才研究院 751

RAG实战指南 Day 1:RAG系统概述及架构设计

检索增强生成(Retrieval-Augmented Generation,简称RAG)是当前大语言模型应用中最具实用价值的技术范式之一。知识更新问题:传统LLM的知识固化在模型参数中,难以实时更新事实准确性问题:模型容易产生幻觉(Hallucination),生成无依据的内容领域适应问题:需要昂贵微调才能适应特定垂直领域检索阶段:根据用户查询从知识库中检索相关文档片段增强阶段:将检索结果与原始查询组合成增强上下文生成阶段:语言模型基于增强上下文生成最终响应。

在未来等你的专栏 1184

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

RAG实战指南 Day 26:RAG系统评估指标与方法

RAG系统需要从检索、生成、性能和体验四个维度全面评估自动指标(如P@K、ROUGE)与人工评估需要结合使用不同行业(如金融、医疗)需要定制特定的评估指标。

在未来等你的专栏 1564

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

从 RAG 1.0到RAG 2.0,这次做对了什么?

RAG是目前最流行的补充生成式人工智能模型的方式,最近 RAG 的开创者提出了新的上下文语言模型 (CLM) ,他们称之为“ RAG 2.0 ”。

2301_81940605的博客 1656

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

RAG 2.0 / Agentic RAG:从原理到实战的完整指南

Agentic RAG 是传统 RAG 的升级版,通过引入智能体(Agent)实现动态决策,支持多轮检索、工具调用与复杂推理。其核心特征包括自主规划、混合检索、上下文整合与跨源信息融合,适用于复杂问答、企业知识管理与实时数据查询等场景。基于 LangGraph 等框架,可构建具备“思考-行动-观察”循环的智能体系统,显著提升问答准确性与灵活性。

FanSunshineboy的博客 476

AI大模型:从 RAG 1.0到RAG 2.0,这次做对了什么?

RAG是目前最流行的补充生成式人工智能模型的方式,最近 RAG 的开创者提出了新的上下文语言模型 (CLM) ,他们称之为“ RAG 2.0 ”。

pythonhy的博客 1011

LangChain1.0教程:使用RAG Agent和RAG Chain构建RAG智能体

本教程将通过 RAG Agent 和 RAG Chain 展示如何基于非结构化文本数据源构建一个简单的问答应用。

python1234567_的博客 839

0-1实战 大模型RAG实战

如果把大模型的应用比喻成一种没有监考老师没有规定形式的考试,提示词工程像是考试现场告诉你从什么角度用什么套路和什么方式答题,微调像是考试前拼命刷题记背答案反复记忆,而RAG则像是考试前把目录背下来,现场翻书。这一章对模型是否没什么要求,所以,可以直接上手撸。

ytt0523_com的博客 534

大模型RAG实战:全面讲解RAG技术原理、实战应用(附PDF书籍)

《大模型RAG实战指南》是一本系统讲解RAG技术的权威著作,涵盖从基础原理到高级应用的完整知识体系。全书通过三大发展阶段(初级、高级、超级RAG)剖析技术演进:从基础pipeline搭建,到召回/生成优化技巧,再到Agentic RAG、多模态RAG等前沿方向。重点解析文档切分、精准召回、优化生成等核心技术,并对比开源/商业模型方案。本书兼具理论深度与实践价值,配有丰富案例和资源包,是开发者掌握RAG系统构建的必备指南。

qingkahui24689的博客 970

从 0.x 到 1.0:LangChain 生产级 Agent 实战指南

LangChain 1.0 于 2025 年 10 月 23 日正式发布,标志着 AI Agent 开发进入生产就绪阶段。本系统梳理从 0.x 到 1.0 的演进脉络、核心架构理念及实战应用。内容概括:从 Chain 设计转向 Agent 优先,引入中间件机制、统一抽象层静态/动态模型选择、工具调用优化、结构化输出策略中间件钩子、状态管理、流式输出、错误处理本指南适合 AI 工程师、架构师及技术决策者阅读,提供从设计到落地的完整路径。文中所有代码示例均基于 Python 3.10+ 环境。

dingyuana的专栏 1594

AI Agent+RAG实战全攻略:基于LangChain 1.0,从入门到企业级落地(附完整代码)

2026年AI行业迎来AI Agent与RAG技术的黄金发展期,本文提供基于LangChain 1.0的实战指南,涵盖核心技术原理、环境搭建和企业级应用场景。重点介绍了如何通过LangChain 1.0构建AI Agent+RAG智能问答系统,包括文档加载、向量存储、混合检索等关键技术实现。文章提供完整可运行的代码示例,采用Groq免费API和Chroma向量数据库,适合开发者快速上手。实战案例模拟企业产品知识库场景,展示了从文档处理到智能问答的全流程开发,帮助开发者掌握2026年AI落地的核心技能。

Gzzz的博客 671
上一篇: GitHub Actions 自动化运维实战:从入门到落地
下一篇: AI Agent 可观测性:破解多步推理黑盒
system_error_x
博客等级 码龄3年 17粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值