LangChain 实战案例:使用 RAG 技术搭建商品快速查询系统

Agent、RAG、LangChain这三者有什么关系? 我还是那句话“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。1、大模型全套的学习路线学习大型人工智能模型,人工智能大模型学习路线图L1~L7所有阶段。 阅读详情

前言

为了能够实现向量数据库的构建与应用,我们首先需要知道几个小的背景和流程:

  • 之所以我们要有向量数据库,其主要的原因就是大语言模型的上下文是有局限的,对于一些很长的文章来说很难完整的读完。但是假如读不完的话很可能又会遗漏一些重要的信息。因此我们可以借助向量数据库把整个文章保存起来,然后根据向量的近似程度来找到最相关的片段提供给大语言模型让其进行回复,这样就既兼顾了阅读全文,又兼顾了文章太长的问题。

img

  • 那这个向量数据库里的向量是怎么产生的呢?其实就是先把文章进行拆分成一块块,然后放入到一个Embedding模型里。Embedding模型将文本转化为向量,这些向量捕捉了文本的语义信息。不同的文本通过Embedding转换后,如果它们的内容相似,它们对应的向量也会非常相近。

img

  • 在把每一块的文本内容转为向量后,这些向量会被存储到向量数据库中,每个向量都与原始的文档片段关联在一起。这样,当有新的查询(query)输入时,查询也会被转化为一个向量,并与数据库中的向量进行比对。在比对过程中,系统会计算查询向量与所有存储向量的相似度,选出最相似的n个向量。这些相似的向量对应的文档块就是最相关的答案,通过这种方式可以快速返回与查询内容相关的文本片段。

img

  • 最后在找到这些最相关的片段后,这些片段并不会直接返回到用户的界面,而是被传递到大语言模型中。由于每个文档片段已经被转化为向量,大语言模型可以通过这些相关片段来理解查询的上下文,进而生成回答或做出处理。通过这种方式,LLM能够有效地利用检索到的相关信息,从而更好地回答用户的查询。

img

以上就是对RAG的一些简介,假如希望对创建一个完整的 RAG 系统有更多了解,可以参考我之前基于吴恩达DeepLearning.AI里“LangChain:Chat with your data”写的课程来了解更多信息!

前期准备

根据上面的信息我们其实已经对RAG系统有一个简单的了解了,那么下面我们就可以来更深入的看看如何利用一份简单的商品文档来利用VectorstoreIndexCreator进行构建属于我们自己的数据库问答系统。

商品名称描述尺寸与规格特点
女士 Campside 牛津鞋这款超舒适的全鞋款牛津鞋,采用超软帆布材质,厚实的内垫和高质量的制作工艺,从穿上它的第一刻起就能体验到它的舒适感。重量:每双约1磅1盎司;材料:软帆布,EVA内垫,抗菌除臭技术。适合日常穿着,舒适透气;经典设计,适合搭配各种服装。
可回收 Waterhog 狗垫,菱形编织款这款超耐用的回收材料 Waterhog 狗垫,专为保护地板免受溅水与污垢而设计,采用美国制造的优质材料。尺寸:小号(18"x28"),中号(22.5"x34.5")。抗污抗水,适合各种环境;由94%回收材料制成,环保且耐用。
婴儿女孩 Coastal Chill 游泳衣(两件式)这款亮色的两件式游泳衣适合幼儿,搭配有趣的印花和褶边设计,四向弹性、氯水抗性面料保持衣物形状并避免起球。UPF 50+,提供最高级别的防晒保护,阻挡98%的有害紫外线。专为幼儿设计,提供舒适的穿着体验,确保安全合身,具有极佳的抗紫外线性能。
EcoFlex 3L 防水裤采用TEK O2技术的防水裤,保证在各种天气和活动下保持干爽,尤其适合滑雪和户外活动使用。材料:100%尼龙;机器洗涤。高透气性,适合四季穿着,设计有内部防水裤腿和全拉链设计,便于穿脱。
男女运动休闲鞋这款多功能、舒适的运动鞋,适合各类户外活动和日常穿着,采用透气网面和防水翻毛皮,提供舒适和耐用的体验。鞋垫采用EVA材料,鞋底使用TPU橡胶;适合各种活动。防水透气,舒适设计,适合徒步、跑步等多种运动,特别适合户外使用。

大家可以创建一个名为“商品详情.csv”的文件,并将下面的内容放进去即可完成数据库的创建。

商品名称,描述,尺寸与规格,特点
女士 Campside 牛津鞋,这款超舒适的全鞋款牛津鞋,采用超软帆布材质,厚实的内垫和高质量的制作工艺,从穿上它的第一刻起就能体验到它的舒适感。,重量:每双约1磅1盎司;材料:软帆布,EVA内垫,抗菌除臭技术。,适合日常穿着,舒适透气;经典设计,适合搭配各种服装。
可回收 Waterhog 狗垫,菱形编织款,这款超耐用的回收材料 Waterhog 狗垫,专为保护地板免受溅水与污垢而设计,采用美国制造的优质材料。,"尺寸:小号(18""x28""),中号(22.5""x34.5"")。",抗污抗水,适合各种环境;由94%回收材料制成,环保且耐用。
婴儿女孩 Coastal Chill 游泳衣(两件式),这款亮色的两件式游泳衣适合幼儿,搭配有趣的印花和褶边设计,四向弹性、氯水抗性面料保持衣物形状并避免起球。,UPF 50+,提供最高级别的防晒保护,阻挡98%的有害紫外线。,专为幼儿设计,提供舒适的穿着体验,确保安全合身,具有极佳的抗紫外线性能。
EcoFlex 3L 防水裤,采用TEK O2技术的防水裤,保证在各种天气和活动下保持干爽,尤其适合滑雪和户外活动使用。,材料:100%尼龙;机器洗涤。,高透气性,适合四季穿着,设计有内部防水裤腿和全拉链设计,便于穿脱。
男女运动休闲鞋,这款多功能、舒适的运动鞋,适合各类户外活动和日常穿着,采用透气网面和防水翻毛皮,提供舒适和耐用的体验。,鞋垫采用EVA材料,鞋底使用TPU橡胶;适合各种活动。,防水透气,舒适设计,适合徒步、跑步等多种运动,特别适合户外使用。

下面就让我一步步的带领大家快速的进行构建。

借助 VectorstoreIndexCreator 直接进行查询

导入模型

首先第一步也是最关键的一步就是要把我们需要的大模型以及嵌入模型。这里我们还是选用的是ChatTongyi 这个大模型,并且使用同样是阿里云打造的DashScopeEmbeddings() 作为我们的向量模型。由于两者是同一个企业的,因此我们也只需要用同一个api_key即可(具体可参考第一篇文章)。

import os
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_community.embeddings import DashScopeEmbeddings

# 设置 API 密钥(输入自己的api_key)
os.environ["DASHSCOPE_API_KEY"] = 'YOUR_API_KEY'

# 初始化通义千问模型
llm = ChatTongyi()
embeddings = DashScopeEmbeddings()

导入数据

下面我们就需要把文档作为背景数据库传入到langchain的loader之中。在 Langchain 中,loader 是一个非常重要的概念,主要用于 数据加载 和 数据预处理。它负责从不同的数据源(如文件、数据库、Web 页面等)加载数据并进行初步的处理,以便后续的文本处理、向量化、嵌入或其他任务。比如说我们现在传入的是一个CSV文件,因此用的也就是langchain中的CSVLoader,假如是其他类型的文件,比如PDF文件可能就会用到我们的PyMuPDFLoader。

from langchain_community.document_loaders import CSVLoader

# 确保文件的路径准确无误
file = 'D:\langchain\llm_development\商品详情.csv'
loader = CSVLoader(
    file_path=file,
    encoding='utf-8'  # 备选方案:使用 latin-1 编码
)

构建向量数据库索引

再然后我们就需要使用 Langchain 的工具将数据加载器(loader)中加载的数据通过嵌入(embeddings)转化为向量,然后存储到一个内存中的向量存储(DocArrayInMemorySearch)中。

VectorstoreIndexCreator 是 Langchain 提供的一个类,专门用于创建一个向量数据库索引。它将数据加载器中提取的文本数据通过嵌入模型转化为向量,然后将这些向量存储到一个向量数据库中(也就是下面介绍的DocArrayInMemorySearch),以便后续进行高效的相似度搜索或查询。

DocArrayInMemorySearch 是 一个内存型向量存储。它通过 DocArray(一个支持高效向量化操作的数据结构)来管理和查询向量数据。因为它是一个内存中的存储,所以适合处理较小规模的索引数据。在数据量较大时,我们可能需要使用更具持久化能力的存储解决方案,如 FAISS 或 Pinecone 等。

from langchain.indexes import VectorstoreIndexCreator
from langchain_community.vectorstores import DocArrayInMemorySearch

index = VectorstoreIndexCreator(
    vectorstore_cls=DocArrayInMemorySearch,
    embedding=embeddings
).from_loaders([loader])

基于向量数据库完成对话

然后我们就可以基于这里面有的数据完成对话了,比如说我就问一下这个里面有哪些商品。然后通过VectorstoreIndexCreator 创建好的index来将问题和我们创建的llm连接起来。

query ="请问这里有哪些商品?"
response = index.query(query, 
                       llm = llm)
print(response)

最后我们就可以发现其真的读取了里面的数据内容完成了问答。

这里的商品包括:

1. 男女运动休闲鞋
2. EcoFlex 3L 防水裤
3. 女士 Campside 牛津鞋
4. 婴儿女孩 Coastal Chill 游泳衣(两件式)

当然其实这个只是一个案例,我们只有放入更多的数据才能展示出这个向量数据库的价值。原课程案例里有大量的数据,但是由于课程的局限我这里就只选择几条并翻译成中文内容。

我们可以看到终端显示出了这个报错,但是大家可以忽略这部分内容的,并不会影响我们的具体使用。

C:\Users\76391\anaconda3\envs\Langchain_Learning\lib\site-packages\pydantic\_migration.py:283: UserWarning: `pydantic.error_wrappers:ValidationError` has been moved to `pydantic:ValidationError`.
warnings.warn(f'`{import_path}` has been moved to `{new_location}`.')

完整代码如下所示:

import os
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_community.document_loaders import CSVLoader
from langchain.indexes import VectorstoreIndexCreator
from langchain_community.vectorstores import DocArrayInMemorySearch
from langchain_community.embeddings import DashScopeEmbeddings

# 设置 API 密钥
os.environ["DASHSCOPE_API_KEY"] = 'YOUR_API_KEY'

# 初始化通义千问模型
llm = ChatTongyi()
embeddings = DashScopeEmbeddings()

file = 'D:\langchain\llm_development\商品详情.csv'
loader = CSVLoader(
    file_path=file,
    encoding='utf-8'# 备选方案:使用 latin-1 编码
)
index = VectorstoreIndexCreator(
    vectorstore_cls=DocArrayInMemorySearch,
    embedding=embeddings
).from_loaders([loader])

query ="请问这里有哪些商品?"
response = index.query(query, 
                       llm = llm)
print(response)

借助RetrievalQA链完成系统的快速构建

在上面代码的基础上,我们也可以通过RetrivalQA的方式完成系统的快速搭建。两者其实十分类似,只是在数据库搭建的过程可能会复杂一些。

文件及模型导入

首先第一步我们还是需要把大模型和向量数据库进行导入,并将文件也进行导入。

import os
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_community.document_loaders import CSVLoader
from langchain_community.embeddings import DashScopeEmbeddings

# 设置 API 密钥
os.environ["DASHSCOPE_API_KEY"] = 'YOUR_API_KEY'# 设置 DashScope API 密钥

# 初始化通义千问模型和嵌入模型
llm = ChatTongyi()  # 初始化 ChatTongyi 模型
embeddings = DashScopeEmbeddings()  # 初始化 DashScope 嵌入模型

# 加载商品数据
file = 'D:\langchain\llm_development\商品详情.csv'# 数据文件路径
loader = CSVLoader(
    file_path=file,  # 指定文件路径
    encoding='utf-8'# 指定文件编码
)

生成向量数据库

在我们通过CSVLoader把文件载入进来,其实这个时候我们还不能直接使用这个文档。loader 是一个 加载器的实例,用于从某个数据源加载原始数据。它本身是一个工具,不会直接执行加载操作,而是通过调用其 load() 方法来实际加载数据。在load完以后,这个数据就可以进行正常的调用和查看了,比如说我们可以docs[0]来查看这里面第一条的数据。然后我们就可以把文档数据通过 embeddings 转换为向量,然后存储到一个 DocArrayInMemorySearch 类型的数据库db中。

# 加载数据
docs = loader.load()  # 从文件加载数据,返回文档列表

# 将文档转换为向量并存入数据库
db = DocArrayInMemorySearch.from_documents(
    docs,  # 文档数据
    embeddings  # 使用嵌入模型将文档转为向量
)

比如说我们就可以通过相似度搜索的方式查看和问题最相关的内容是哪一部分。

query = "这里有哪些鞋子可以买呢?"
docs = db.similarity_search(query)
docs[0]

我们发现返回的内容就是和鞋子相关的内容。

page_content='商品名称: 男女运动休闲鞋
描述: 这款多功能、舒适的运动鞋,适合各类户外活动和日常穿着,采用透气网面和防水翻毛皮,提供舒适和耐用的体验。
尺寸与规格: 鞋垫采用EVA材料,鞋底使用TPU橡胶;适合各种活动。
特点: 防水透气,舒适设计,适合徒步、跑步等多种运动,特别适合户外使用。' metadata={'source': 'D:\\langchain\\llm_development\\商品详情.csv', 'row': 4}

检索器生成及RetrievalQA链构建

接下来我们将可以刚刚创建的向量数据库db转换为一个 retriever(检索器),使得可以基于查询向量在数据库中查找相似度高的文档。retriever 会将查询转换为向量,并与数据库中的向量进行比对,从而返回最相关的文档。

虽然看着db和retriever是一个东西,但是实际上retriever 封装了从数据库获取相关文档的复杂过程,可以直接返回查询相关的文档(或者文档片段)。它把查询过程变得更加简洁和高效。因此,通过 retriever,你可以直接与数据库进行交互,得到相关文档,之后将它们传递给大语言模型,完成类似问答、总结等任务。没有 retriever 的话,你就得手动处理如何从数据库中获取文档,这增加了复杂度。

# 将数据库转换为检索器
retriever = db.as_retriever() 

最后我们就可以把llm和retriever串起来进行正常的对话啦!

# 创建一个 RetrievalQA 实例,通过 "stuff" 类型的链来处理查询。
qa_stuff = RetrievalQA.from_chain_type(
    llm=llm,  # 使用的语言模型(如 ChatGPT、通义千问等)
    chain_type="stuff",  # 链类型,"stuff" 指的是返回检索到的文档片段作为模型输入
    retriever=retriever,  # 使用的检索器,它将从数据库中获取相关的文档
    verbose=True  # 打开详细输出,便于调试
)

# 提出查询问题
query = "请问这里有哪些商品?"

# 使用创建好的 RetrievalQA 实例进行查询并获取响应
response = qa_stuff.invoke(query)

# 输出模型的响应结果
print(response)

这个时候所生成的结果如下所示:

> Entering new RetrievalQA chain...

> Finished chain.
{'query': '请问这里有哪些商品?', 'result': '这里的商品包括:\n\n1. 男女运动休闲鞋\n2. EcoFlex 3L 防水裤\n3. 女士 Campside 牛津鞋\n4. 婴儿女孩 Coastal Chill 游泳衣(两件式)'}

这样我们就完成一个RetrievalQA的搭设了,后续我们可以通过Gradio等前端界面进行正常的对话了!完整的代码如下所示:

import os
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_community.document_loaders import CSVLoader
from langchain.indexes import VectorstoreIndexCreator
from langchain_community.vectorstores import DocArrayInMemorySearch
from langchain_community.embeddings import DashScopeEmbeddings
from langchain.chains import RetrievalQA

# 设置 API 密钥
os.environ["DASHSCOPE_API_KEY"] = 'YOUR_API_KEY'

# 初始化通义千问模型
llm = ChatTongyi()
embeddings = DashScopeEmbeddings()

file = 'D:\langchain\llm_development\商品详情.csv'
loader = CSVLoader(
    file_path=file,
    encoding='utf-8'# 备选方案:使用 latin-1 编码
)
# index = VectorstoreIndexCreator(
#     vectorstore_cls=DocArrayInMemorySearch,
#     embedding=embeddings
# ).from_loaders([loader])

# # query ="请问这里有哪些商品?"
# # response = index.query(query, 
# #                        llm = llm)
# # print(response)
docs = loader.load()
db = DocArrayInMemorySearch.from_documents(
    docs, 
    embeddings
)
# query = "这里有哪些鞋子可以买呢?"
# docs = db.similarity_search(query)
# print(docs[0])
retriever = db.as_retriever()
qa_stuff = RetrievalQA.from_chain_type(
    llm=llm, 
    chain_type="stuff", 
    retriever=retriever, 
    verbose=True
)
query = "请问这里有哪些商品?"
response = qa_stuff.invoke(query)
print(response)

总结

在本节课中,我们通过使用 LangChain 快速构建了一个商品目录查询系统,并展示了如何利用 VectorstoreIndexCreator 和 RetrievalQA 来实现基于向量数据库的问答功能。相比之下,VectorstoreIndexCreator 更注重将文档数据加载后转化为向量并存储到内存数据库中,适合快速搭建小规模的查询系统;而 RetrievalQA 则通过结合检索器和语言模型,提供了更灵活的问答处理方式,能够基于实时检索结果生成更精准的回复。在下节课,我们将深入探讨如何评估模型输出的质量,了解不同模型的表现差异,并通过一些常见的评价指标来提升系统的有效性和可靠性。

如何零基础入门 / 学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

read-normal-img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

LangChain框架入门16:智能客服系统RAG应用实战 本文介绍了一个基于RAG(检索增强生成)的智能电商客服系统实现方案。系统通过商品信息文档加载、文本分割、嵌入模型转换和向量存储四个步骤完成RAG准备阶段,后续将结合大语言模型实现商品咨询的智能回复功能。系统架构支持历史记忆持久化、LCEL链式构建和RAG检索,能够根据商品知识库准确回答用户问题。文中详细展示了商品信息文档格式和RAG准备阶段的Python实现代码,包括文本分割器配置、嵌入模型选择及Weaviate向量数据库的使用方法。 阅读详情

相关推荐

LlamaIndex与LangChain构建高效RAG系统实战

检索增强生成(RAG)技术通过结合信息检索与大型语言模型,显著提升问答系统的准确性和可靠性。其核心原理是先将用户查询转化为向量表示,在知识库中检索最相关的文档片段,再交由LLM生成最终回答。这种架构特别适合处理金融、医疗等专业领域的复杂查询,能有效解决传统关键词检索在术语处理上的局限性。以LlamaIndex为代表的智能索引工具,通过多粒度文档解析和动态索引优化等机制,可实现高达47%的检索精度提升。在实际工程落地时,需要特别关注向量数据库选型、混合索引策略设计以及查询扩展等关键技术环节,这些优化手段在金融

weixin_30386713的博客 386

使用LangChain三行代码调用通义千问大模型API,详细教程

通过简单的三行代码 快速调用通义千问大模型的 API。

weixin_42121606的博客 3485

LangChain技术解析:RAG、Agent与多链并行实战

大型语言模型(LLM)作为当前AI领域的核心技术,其应用开发面临知识固化、决策能力不足等挑战。检索增强生成(RAG)通过向量数据库与实时检索机制,有效解决了模型知识更新的时效性问题,成为企业级AI应用的标配方案。智能体(Agent)系统则通过动态工具调用框架,赋予LLM环境感知与自主决策能力,在电商客服等场景展现价值。多链并行(MCP)技术进一步突破单链处理的性能瓶颈,配合负载均衡策略可显著提升系统吞吐量。本文以LangChain框架为例,深入解析如何组合运用RAG、Agent和MCP三大技术构建生产级AI

weixin_29062865的博客 265

LangChain案例-根据自己的知识库,构建聊天机器人

可以把向量存到数据库,然后我们可以生成问题的embedding,再与向量存储中的所有向量进行比较,然后选择最相似的前n个分块,最后,将这n个最相似的分块与原始的问题一起传给LLM,就可以得到答案。在提问时,我们可能会得到存储的整个文档,即使只有前一两个句子是相关的,通过压缩,我们可以从中提取最相关的片段,然后只是将最相关的片段传递给最终的语言模型。例如,把网站,数据库,youtube,或者PDF,html,JSON,Word,PPT等数据源,加载到标准的文档对象中。= word也不等于字符。

Abmaj7的博客 1248

科研党福音:如何用Zotero+Paper Agent打造你的AI论文速递系统(附详细配置教程)

本文为科研工作者提供了一套利用Zotero和开源工具Paper Agent构建自动化AI论文速递系统的详细教程。该系统能基于用户在Zotero中的文献库智能学习研究兴趣,每日自动从arXiv等平台筛选、下载并深度解读最相关的前沿论文,生成个性化日报,实现从被动接收到主动精准获取的知识工作流重塑。

kite3的博客 515

逆变器技术解析:DDSRF双解耦在正负序分离中的关键作用

本文深入解析了DDSRF双解耦技术在逆变器正负序分离中的关键作用。通过建立正反旋转坐标系并利用交叉反馈解耦网络,DDSRF能快速、精准地分离电网电压中的正负序分量,从而显著提升锁相环在电网不平衡条件下的精度与系统稳定性,是现代高性能并网逆变器的核心算法之一。

m3n5b7v8c9x的博客 410

成功解决pydantic.errors.PydanticImportError: `BaseSettings` has been moved to the `pydantic-settings` pa

​ 成功解决pydantic.errors.PydanticImportError: `BaseSettings` has been moved to the `pydantic-settings` package 目录 解决问题 解决思路 解决方法 解决问题 pydantic.errors.PydanticImportError: `BaseSettings` has been moved to the `pydantic-settings` package 解决思路 pydantic导入错误

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 8708

工业视觉光源频闪控制的三种核心模式与选型实战

本文深入解析工业视觉系统中光源频闪控制的三种核心模式:光源主控、相机主控与硬同步。针对高速飞拍、缺陷检测等场景,详细对比了各模式的时序原理、硬件要求与适用场景,并提供了基于产线速度与检测需求的实战选型指南,帮助工程师有效消除运动模糊、提升成像质量与系统稳定性。

weixin_29299807的博客 435

【langchain学习】文档加载器document_loaders示例

langchain文档加载器示例document_loaders

weixin_40646871的博客 3224

IAR下载Linux环境适配:入门级安装指导

详细介绍如何在Linux系统中完成iar下载与环境配置,帮助开发者快速上手IAR集成开发环境,解决常见安装问题,提升开发效率。

weixin_35754676的博客 762

点云图的学习

一。点云地图拼接 1.1 配置运行环境 首先配置安装opencv3,安装完成后如下图: 然后配置点云图工具pcl,直接使用apt即可安装,安装后如下图: 最后使用点云工具观察点云图: 1.2 原理解析 总的来说由多角度拍摄图片拼接为点云3D图,是通过相机的内参,将像素坐标转化为相机坐标,再通过外参将相机坐标转化为世界坐标系,然后将每张图片的像素绘制填充于同一个世界坐标系下面,形成点云3D图。...

ff_xun的博客 1万+

Cursor使用及接入教程(非常详细),零基础入门到精通,看这一篇就够了

Cursor使用及接入教程(非常详细),零基础入门到精通,看这一篇就够了

Python单行客的博客 1万+

App inventor2通过蓝牙控制Arduino Uno LED开关

App inventer2控制Arduino Uno LED开关 如果学会这个小程序,大部分的手机通过蓝牙控制Arduino的功能都可以实现,这个小示例是通过蓝牙模块向Arduino发送"0"和"1",而其它功能要发送其它不同的字符串内容给Arduino. 所需硬件: Arduino Uno JDY-16 蓝牙模块(我的是蓝牙4.2版本) 草帽LED(可选) 手机(我用的是安卓,苹果手机应该也可以,最近其应用商店也有App inventor(AI)伴侣) 软件: Aduino IDE或者Platfom

Firmin123456的博客 5499

LangChain实战演示:如何利用RAG技术构建高效商品查询系统

本文介绍了如何利用LangChain快速构建一个基于向量数据库的商品目录RAG(检索增强生成)问答系统。文章首先解释了RAG系统的基本原理,即通过将文本分块转化为向量存储,在查询时检索相似片段提供给大语言模型生成回答,从而解决大模型上下文限制问题。然后详细演示了两种实现方式:一是使用VectorstoreIndexCreator快速构建索引和查询系统;二是通过RetrievalQA链结合检索器和语言模型搭建更灵活的问答系统。文中提供了完整的Python代码示例,包括数据加载、向量数据库构建、查询处理等关键步

weixin_55154866的博客 894

SNAP计算哨兵二号的叶面积指数(LAI)

对于哨兵二号数据以及LANDSAT8数据,SNAP提供已经集成好的模块计算LAI。在Optical->Thematic Land Processing->Biopyhsical Processor目录下面。 对于经过Sen2Cor处理好的数据,需经过重采样才可进行计算。重采样工具在Raster->Geometric->Resampling。 如果选择Biopyhsical Processor S2_10m进行计算,需要将所有的波段都重采样为10米(哨兵二号的第二波段为10米,可据此波

gxwwww的博客 9417

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

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

快速搭建 LangChain + RAG

本文阐释 RAG 原理,对比传统方式优势,分步骤解析流程,并附案例演示。

qq_26285567的博客 1112

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Agent、RAG、LangChain:AI领域的三位一体

尽管Agent、RAG和LangChain技术在大模型应用中展现出巨大的潜力,但它们也面临一些挑战。例如,RAG技术在处理大规模数据时的效率问题,以及如何确保检索到的信息始终是最新的。此外,LangChain在不同场景下的适用性和扩展性也是开发者需要考虑的问题。通过深入解析Agent、RAG和LangChain技术,我们不仅能够更好地理解它们在大模型应用中的作用,还能预见它们在构建智能系统中的广阔前景。希望本文能够为读者提供有价值的见解,激发更多关于智能技术应用的思考与创新。

Z4400840的博客 1244

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

终于搞懂Agent、RAG、LangChain的关系了!

我们经常能听到某个大模型应用了 Agent技术、RAG技术、LangChain技术,它们似乎都和知识库、检索有关,那么这三者具体指什么,相互有什么关系呢,今天来介绍一下Agent指的是具有一定智能和自主行为能力的实体,它可以做出规划、调用工具、执行动作。它利用内置的大语言模型来做出规划,决定执行哪些步骤,每个步骤需要调用哪些工具(如 RAG),之后调用相应的工具,最终完成任务。RAG用于提升大模型回答问题的准确性。

xxue345678的博客 9533

基于LangChain与RAG的智能电商客服系统实战指南

检索增强生成(RAG)是一种将大语言模型与外部知识库结合的技术范式,其核心原理是通过向量化检索将用户查询与结构化或非结构化数据关联,再交由大语言模型生成精准回答。该技术能有效缓解大语言模型的“幻觉”问题,提升回答的事实准确性,在客服、知识问答等场景具有重要价值。本文以电商客服为应用场景,详细演示如何利用LangChain框架快速搭建一个具备多轮对话能力的智能客服系统,涵盖向量数据库构建、提示词工程优化等关键实践。文中涉及的LangChain组件与向量化检索方法,为开发者提供了可复用的工程实现路径。

weixin_34343000的博客 432

AI Agent开发实战:从LangChain框架到RAG系统的完整指南

人工智能代理(AI Agent)作为能够感知环境、自主决策并执行任务的智能系统,其核心原理基于大语言模型的推理能力与工具调用机制的深度融合。在技术价值层面,AI Agent通过自主性、反应性和持续学习能力,显著提升了自动化任务的执行效率和智能化水平。RAG(检索增强生成)技术作为关键支撑,通过检索外部知识库与语言模型结合,有效解决了模型知识时效性和准确性问题。在应用场景上,AI Agent广泛应用于文档处理、数据分析、智能问答等复杂任务场景。本文聚焦LangChain框架的实战应用,详细解析AI Agent

550

Agent、RAG与LangChain:AI领域不可或缺的‘三位一体

在人工智能领域,Agent、RAG和LangChain是三个关键技术,共同构建了智能系统的基础。Agent作为智能代理,能够自主感知环境并执行任务,如客服助手;RAG(检索增强生成)通过结合信息检索和语言生成,提升大模型回答的准确性,减少“幻觉”问题;LangChain则是一个编程框架,帮助开发者高效整合多种数据源和工具,简化应用开发。三者协同工作,能够实现智能问答、内容生成等功能,尽管面临数据处理效率和信息更新等挑战,但它们在构建智能系统中展现出巨大潜力。文末还提供了大模型学习资料,帮助读者深入理解和应用

lvaolan的博客 1009

别再只谈LangChain了!Java程序员专属:用Spring AI搭建企业级RAG,这篇实战就够了!

在生成式 AI 落地企业级场景的过程中,大语言模型(LLM)的事实准确性不足、知识更新滞后等问题始终是技术痛点。检索增强生成(RAG)技术通过 "检索外部知识库 + 模型精准生成" 的链路,成为破解这一难题的核心方案。Spring AI 作为 Java 生态的 AI 开发利器,以其模块化架构、多生态兼容特性,大幅降低了 RAG 的集成门槛。

m0_59164520的博客 1217
上一篇: DeepSeek SFT 微调:基于法律问答的模型优化实践
下一篇: 8个视觉大模型生成式预训练方法
AI大模型_学习君
博客等级 码龄3年 6137粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值