面包屑图标 当前位置: 首页
AI资讯
热点详情

LangChain与Qwen实现RAG增强检索

AI热点日报
AI热点日报时间:2026-06-12
热点解读

基于LangChain与通义千问API构建RAG增强检索系统,通过先检索外部语料再生成答案提升准确性。流程包括数据加载、分块、词嵌入、FAISS向量存储及检索,最后将上下文与问题输入大模型生成回答。

LangChain与通义千问(Qwen)实现RAG增强检索实战指南

先说说选型理由。本教程采用的技术栈是 LangChain + 通义千问(Qwen),并通过通义千问提供的 API 进行调用。为什么不选用本地部署的开源模型?坦白讲,目前还处于探索 RAG(检索增强生成)项目的应用阶段,本地电脑配置有限,跑小模型效果不尽如人意。好在通义千问的 API 目前提供免费额度,开箱即用,对于起步阶段来说,是一个非常务实且高效的选择。

在动手之前,我们先花几分钟搞清楚——RAG 到底是什么?

RAG,全称检索增强生成,是一种利用外部知识库来增强大语言模型回答能力的技术。它的核心思路是:当用户提出问题时,系统先从一个大型语料库中检索出相关信息,再将这些信息连同问题一起交给模型生成答案。简单来说,就是让模型“先查资料,再回答问题”。这样一来,回答的准确性和全面性都能得到显著提升。

RAG 的工作流程可以拆解为以下几个关键步骤:

1. 数据获取:加载多种类型的数据,例如文本文件、PDF、网站数据、数据库,甚至接口 API 均可。

2. 数据预处理和清理:不同格式的数据混杂在一起,必须先进行清理,去除无关或冗余的部分。

3. 分块:将大块数据切割成更小的片段。原因很简单:数据块过大,搜索起来既慢又不精准,同时大模型处理上下文的能力有限,小块数据更利于后续处理。

4. 词嵌入:分块完成后,需要将文本转换成模型能够理解的数字形式,即向量嵌入。

5. 向量数据库:将生成的向量数据存储起来,方便后续进行大规模的相似性检索。

6. 检索相关内容:根据用户提出的问题,先从向量数据库中找出最相似的内容片段。

7. LLM 生成:将检索到的相关内容,连同用户的问题一并输入大语言模型,使其生成更准确、更具针对性的回答。

准备工作

通义千问 API-KEY(必需):申请流程很简单,注册账号并完成认证即可开通,整个过程只需几分钟。

LangChain 的安装

# pip安装
pip install langchain
# 如果你用的是Conda,也可以通过以下命令
# conda install langchain -c conda-forge

# pdf文档的读取和ocr识别
pip install pypdf rapidocr-onnxruntime

pip install --upgrade --quiet  dashscope

引入相关包

from langchain_community.document_loaders import PyPDFLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import FAISS
from langchain_community.embeddings import DashScopeEmbeddings

from langchain_community.llms import Tongyi
from langchain_core.prompts import PromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
import os

数据准备

第一步,自然是将 PDF 数据读取出来,然后拆分成小块。这里有几个关键参数需要留意:

chunk_size 设为 1000,表示每个片段长度控制在 1000 个字符左右。

chunk_overlap 设为 200,让前后片段之间保持 200 个字符的重叠,确保上下文信息不丢失过多。

add_start_index 设置为 True,会在每个片段开头加上起始索引,方便后续定位。

pdf_loader = PyPDFLoader('test.pdf', extract_images=True)
text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=1000, chunk_overlap=200, add_start_index=True
)
pages = pdf_loader.load_and_split()

词嵌入并保存到向量数据库

接下来,利用阿里灵积模型服务的文本嵌入模型,将刚才切好的小块数据进行向量化。完成这一步后,可以做一个简单的查询测试,返回两个最相似的数据块,确认效果。最后将索引保存到向量数据库中,方便后续复用。

embeddings = DashScopeEmbeddings(
    model="text-embedding-v1", dashscope_api_key="你申请的千问API-KEY"
)

faiss_index = FAISS.from_documents(all_splits, embeddings)
# 搜索我们的文档数据,返回两个最相似的

docs = faiss_index.similarity_search("本季度排名第一的电视剧是啥?", k=2)

# 打印输入
for doc in docs:
    print(str(doc.metadata["page"]) + ":", doc.page_content[:300])

# 保存到向量数据库中
faiss_index.sa ve_local('testpdf.faiss')

调用大语言模型生成结果

向量数据库构建完成后,将其加载回来,并转换成 Retriever 类,便于后续使用。然后配置好通义千问的大语言模型服务。

faiss_index = FAISS.load_local('testpdf.faiss', embeddings, allow_dangerous_deserialization=True)

retriever = faiss_index.as_retriever(search_kwargs={"k": 6})

os.environ["DASHSCOPE_API_KEY"] = "你申请的千问API-KEY"

llm = Tongyi()

开始构建模板

模板设计的核心思路是:将检索到的上下文和用户的问题拼接在一起,交给模型处理。如果上下文里没有相关信息,就明确让它回答“不知道”,避免模型编造答案。

template = """利用以下上下文回答最后的问题。如果不知道答案,就说不知道,不要试图编造答案。

{context}

Question: {question}

Helpful Answer:"""
custom_rag_prompt = PromptTemplate.from_template(template)

rag_chain = (
  {"context": retriever, "question": RunnablePassthrough()}
    | custom_rag_prompt
    | llm
    | StrOutputParser()
)

进行提问

rag_chain.invoke("本季度排名第一的电视剧是啥?")
热点追踪提示词
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:LangChain与Qwen实现RAG增强检索要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
来源:https://www.53ai.com/news/RAG/1063.html
ai 人工智能

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关热点
AI热点2026-07-13 21:22
Coachify AI教练助个人实现健身健康目标

Coachify这个产品,说白了就是用AI教练来帮你实现个人目标——无论是健身、饮食,还是整体健康,都能找到对应的智能教练。它提供定制化的锻炼计划、动画视频演示、AI驱动的进度追踪,以及和AI教练直接聊天的功能。简单来说,就是让一个不会累、随时在线的“教练”陪你一起变好。 什么是Coachify?

AI热点2026-07-13 21:22
年WordPress安全插件推荐与使用指南

Wordfence是WordPress常用安全插件,集防火墙、恶意软件扫描、实时监控与登录防护于一体,有效防御各类攻击。通过后台插件搜索安装激活即可使用。搭配宝塔面板的Nginx免费防火墙,可进一步增强网站防护效果。

AI热点2026-07-13 21:21
Impulse AI解锁AI强大力量轻松满足营销需求

ImpulseAI专注于营销文案生成与内容自动化,用户只需选择模板、输入上下文信息,即可快速生成引人入胜的广告语、社交媒体帖子和邮件等素材,显著提升团队效率与内容质量,助力营销活动高效落地。

AI热点2026-07-13 21:21
WordPress网站精选搜索引擎优化插件推荐与选择指南

WordPress网站若主题缺乏SEO功能,可安装专业插件优化。推荐两款国产SEO插件:SmartSEOTool简单易用,无需配置;SuperFastSEO代码精炼、功能全面,支持基础优化加速、图片压缩、缓存生成等。

延伸阅读