零基础手把手教你用Python构建RAG系统:从原理到完整代码实战

基于检索增强的生成式AI:使用 Python + LangChain 构建 RAG 系统 随着大模型在各类应用场景中的广泛落地,单纯的生成式模型(如 GPT)在知识更新、上下文理解等方面也暴露出局限。检索增强生成(Retrieval‑Augmented Generation,RAG)通过将外部知识库与生成模型结合,既能保证回答的准确性,又能动态扩展知识面。本文将手把手教你使用 Python、LangChain、Pinecone 和 OpenAI API 完整构建一个 RAG 问答系统。 阅读详情

最近,检索增强生成(Retrieval-Augmented Generation,简称 RAG)在人工智能和大模型领域中崭露头角,成为一种极具潜力的新范式。

RAG 将信息检索与文本生成相结合,通过引入外部知识源来提升大模型的表现。这种方法已在问答系统、对话系统以及内容生成等多种应用中展现出令人期待的成果。

在这篇文章中,作者将带你深入了解 RAG 的工作原理,并使用 Python 和 ollama 从零构建一个简单的 RAG 系统。通过这个项目,你将掌握 RAG 系统的核心组成部分,并学会如何利用基础的编程概念实现它。可以说实用满满。

一、什么是RAG

我们先从一个没有使用 RAG 的简单聊天机器人说起:

这个聊天机器人可以根据训练数据回答常见问题,但它无法访问最新的信息或特定领域的知识。

举个现实例子:你问 ChatGPT——“我妈妈叫什么名字?”

它当然回答不了,因为它无法访问外部信息,比如你的家庭成员资料。

要解决这个问题,我们需要给模型补充外部知识。比如在这个例子里,我们可以提供一份“家庭成员名单”作为外部知识来源。

RAG 系统的两个核心组成部分:

  • 检索模型(Retrieval Model):从外部知识源(例如数据库、搜索引擎或知识库)中找出与问题最相关的信息。
  • 生成模型(Language Model):在检索到的信息基础上,生成最终的自然语言回答。

RAG 的实现方式有多种,比如 Graph RAG、Hybrid RAG、Hierarchical RAG 等,我们会在文章结尾简单介绍。

二、构建一个极简的RAG系统

下面我们来搭建一个简单的 RAG 系统,它能从预定义的数据集中检索信息,并基于检索结果生成回答。这个系统包括三个主要部分:

  • Embedding 模型:一种预训练语言模型,用来把输入文本转换成向量,即能表示语义的数值形式。这些向量可以用来在数据集中查找相似内容。
  • 向量数据库:用来存储知识及其对应的向量。常见的向量数据库包括 Qdrant、Pinecone、pgvector 等,但这里我们将从零实现一个简单的内存版数据库。
  • 聊天机器人:根据检索结果生成回答的语言模型,可以是 Llama、Gemma 或 GPT 等。

三、索引阶段

构建 RAG 系统的第一步是索引。在这个阶段,我们需要把数据集(或文档)拆分成更小的片段(chunks),并为每个片段计算一个向量表示,方便后续快速检索。

不同应用场景下,片段大小会有所不同:

  • 文档检索系统中,一个片段可以是一段文字或一句话;
  • 对话系统中,一个片段可以是一轮对话。

索引完成后,每个片段和它对应的向量都会被存入向量数据库中。下图展示了索引阶段后,数据库中数据的大致结构示例:

文本片段向量表示
意大利和法国生产了全球超过40%的葡萄酒[0.1, 0.04, -0.34, 0.21, …]
印度的泰姬陵完全由大理石建成[-0.12, 0.03, 0.9, -0.1, …]
全球90%的淡水储备在南极洲[-0.02, 0.6, -0.54, 0.03, …]
……

这些向量表示之后可以用来根据用户的查询检索相关信息。

你可以把它想象成 SQL 语句里的 WHERE 条件,但不同的是,这里不是精确匹配文本,而是根据向量之间的语义相似度来查找最相关的片段。

为了比较两个向量的相似度,我们可以使用余弦相似度(cosine similarity)、欧几里得距离(Euclidean distance) 或其他距离度量方法。

在这个示例中,我们将使用余弦相似度。下面是向量 A 和向量 B 之间的余弦相似度公式:

如果你对上面的公式还不太熟悉,也不用担心——我们会在下一节中亲手实现它。

四、检索阶段

如下图所示,当用户Input Query 时,系统会先将这个查询转换成一个 Query Vector,然后将其与向量数据库中的所有向量进行比较,以找到最相关的文本片段(chunks)。

Vector Database返回的结果会包含与查询最相关的前 N 个片段,接下来 Chatbot 会基于这些片段生成最终的回答。

五、开始写代码吧

在这个示例中,我们将用 Python 实现一个简单版本的 RAG 系统。

为了运行模型,我们会使用 ollama —— 一款命令行工具,可以直接运行来自 Hugging Face 的模型。

使用 ollama,你不需要连接服务器或云服务,就能在自己的电脑上本地运行模型。

我们将使用以下两个模型:

  • Embedding 模型:hf.co/CompendiumLabs/bge-base-en-v1.5-gguf

  • 语言模型(Language Model):hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF

至于数据集,我们会用一份关于 cat 的简单事实列表。在索引阶段,每一条事实都会被当作一个独立的文本片段。

六、下载 ollama 和模型

首先,从官方网站 ollama.com 安装 ollama。

安装完成后,打开终端,运行以下命令来下载所需的模型:

ollama pull hf.co/CompendiumLabs/bge-base-en-v1.5-gguf
ollama pull hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF

如果你看到下面这个输出结果,那说明你的安装成功了:

pulling manifest
...
verifying sha256 digest
writing manifest
success

在继续之前,为了在 Python 中使用 ollama,我们还需要安装 ollama 的 Python 包:

pip install ollama

七、加载数据集

接下来,创建一个 Python 脚本,并将数据集加载到内存中。这个数据集包含了一系列关于 cat 的事实,每条事实将在索引阶段作为一个片段使用。

你可以从这里下载示例数据集。下面是一个加载数据集的示例代码:

dataset = []
with open('cat-facts.txt', 'r') as file:
dataset = file.readlines()
print(f'Loaded {len(dataset)} entries')

八、实现向量数据库

现在,我们来实现向量数据库。

我们将使用 ollama 的 embedding 模型,将每个片段转换为向量表示,然后将片段及其对应的向量存入到一个列表中。

下面是一个计算给定文本向量表示的示例函数:

import ollama
EMBEDDING_MODEL = 'hf.co/CompendiumLabs/bge-base-en-v1.5-gguf'
LANGUAGE_MODEL = 'hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF'
# Each element in the VECTOR_DB will be a tuple (chunk, embedding)
# The embedding is a list of floats, for example: [0.1, 0.04, -0.34, 0.21, ...]
VECTOR_DB = []
def add_chunk_to_database(chunk):
embedding = ollama.embed(model=EMBEDDING_MODEL, input=chunk)['embeddings'][0]
VECTOR_DB.append((chunk, embedding))

在这个示例中,为了简单起见,我们将数据集中的每一行都视为一个片段。

for i, chunk in enumerate(dataset):
add_chunk_to_database(chunk)
print(f'Added chunk {i+1}/{len(dataset)} to the database')

九、实现检索函数

接下来,我们来实现检索函数。该函数接收一个查询,并根据余弦相似度返回与查询最相关的前 N 个片段。

可以理解为:两个向量的余弦相似度越高,它们在向量空间中就越接近,也就意味着它们在语义上越相似。

下面是一个计算两个向量余弦相似度的示例函数:

def cosine_similarity(a, b):
dot_product = sum([x * y for x, y in zip(a, b)])
norm_a = sum([x ** 2 for x in a]) ** 0.5
norm_b = sum([x ** 2 for x in b]) ** 0.5
return dot_product / (norm_a * norm_b)

现在,我们来实现检索函数:

def retrieve(query, top_n=3):
query_embedding = ollama.embed(model=EMBEDDING_MODEL, input=query)['embeddings'][0]
# temporary list to store (chunk, similarity) pairs
similarities = []
for chunk, embedding in VECTOR_DB:
similarity = cosine_similarity(query_embedding, embedding)
similarities.append((chunk, similarity))
# sort by similarity in descending order, because higher similarity means more relevant chunks
similarities.sort(key=lambda x: x[1], reverse=True)
# finally, return the top N most relevant chunks
return similarities[:top_n]

十、生成阶段

在这一阶段,聊天机器人将根据上一步检索到的知识生成回答。具体做法是:将相关片段加入到提示语(prompt)中,然后将提示语作为聊天机器人的输入。

例如,可以这样构建一个提示语:

input_query = input('Ask me a question: ')
retrieved_knowledge = retrieve(input_query)
print('Retrieved knowledge:')
for chunk, similarity in retrieved_knowledge:
print(f' - (similarity: {similarity:.2f}) {chunk}')
instruction_prompt = f'''You are a helpful chatbot.
Use only the following pieces of context to answer the question. Don't make up any new information:
{'\n'.join([f' - {chunk}' for chunk, similarity in retrieved_knowledge])}
'''

然后,我们使用 ollama 来生成回答。在这个示例中,我们将把 instruction_prompt 作为系统消息使用:

stream = ollama.chat(
model=LANGUAGE_MODEL,
messages=[
{'role': 'system', 'content': instruction_prompt},
{'role': 'user', 'content': input_query},
],
stream=True,
)
# print the response from the chatbot in real-time
print('Chatbot response:')
for chunk in stream:
print(chunk['message']['content'], end='', flush=True)

十一、整合全部步骤

完整代码可以在此文件(https://huggingface.co/ngxson/demo_simple_rag_py/blob/main/demo.py)中找到。

运行代码的方法:将其保存为 demo.py 文件,然后执行以下命令:

python demo.py

现在,你可以向聊天机器人提问,它会根据从数据集中检索到的知识生成回答。

Ask me a question: tell me about cat speed
Retrieved chunks: ...
Chatbot response:
According to the given context, cats can travel at approximately 31 mph (49 km) over a short distance. This is their top speed.

十二、改进空间

到目前为止,我们已经用一个小数据集实现了一个简单的 RAG 系统,但它仍然存在不少局限:

  • 无法处理多主题问题:当问题同时涉及多个主题时,系统往往给不出理想答案。这是因为当前的系统只根据“查询与片段的相似度”检索信息,而没有考虑查询的上下文。一个改进思路是——让聊天机器人根据用户输入生成自己的查询语句,再用这个生成的查询去检索知识;或者使用多个查询来获取更全面的信息。

  • 检索结果排序不够精准:当前返回的是余弦相似度最高的前 N 个片段,但这不一定是最优结果,尤其当每个片段信息量很大时。改进方式是使用重排序模型,在初步检索结果的基础上再次根据相关性进行排序。

  • 数据库可扩展性不足:我们现在的数据库是基于内存的,当数据量变大时就难以扩展。可以改用更高效的向量数据库,比如 Qdrant、Pinecone、pgvector 等。

  • 分片策略过于简单:目前我们是以“句子”为一个片段。对于更复杂的任务,可能需要使用更精细的分块技术来拆分数据集,甚至在入库前对每个片段进行预处理(如去噪、摘要、关键词提取等)。

  • 语言模型规模有限:示例中使用的语言模型只有 10 亿参数(1B),对于更复杂的任务,可能需要使用更大的模型来生成更高质量的回答。

十三、其他类型的 RAG

在实际应用中,RAG 的实现方式多种多样。以下是几种常见类型:

  • Graph RAG(图结构 RAG):将知识源表示为图结构,节点代表实体,边表示实体之间的关系。模型可以在图中“漫游”以检索相关信息。目前这一方向的研究非常活跃,可以参考相关的 Graph RAG 论文合集。

  • Hybrid RAG(混合 RAG):结合知识图谱(Knowledge Graph, KG)与向量数据库技术,以提升问答系统的表现。

  • Modular RAG(模块化 RAG):这种 RAG 超越了传统的“检索—生成”两步流程,引入了路由、调度和融合机制,从而形成一个灵活可重组的框架。它支持多种 RAG 模式(线性、条件、分支、循环等),能更好地应对复杂、知识密集型任务。

如何学习大模型 AI ?

我国在AI大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着Al技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国Al产业的创新步伐。加强人才培养,优化教育体系,国际合作并进,是破解困局、推动AI发展的关键。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

2025最新大模型学习路线

明确的学习路线至关重要。它能指引新人起点、规划学习顺序、明确核心知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。

对于从来没有接触过AI大模型的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线。

在这里插入图片描述

针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。

大模型经典PDF书籍

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路!

在这里插入图片描述

配套大模型项目实战

所有视频教程所涉及的实战项目和项目源码等
在这里插入图片描述

博主介绍+AI项目案例集锦

MoPaaS专注于Al技术能力建设与应用场景开发,与智学优课联合孵化,培养适合未来发展需求的技术性人才和应用型领袖。

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

为什么要学习大模型?

2025人工智能大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

在这里插入图片描述

适合人群

  • 在校学生:包括专科、本科、硕士和博士研究生。学生应具备扎实的编程基础和一定的数学基础,有志于深入AGI大模型行业,希望开展相关的研究和开发工作。
  • IT行业从业人员:包括在职或失业者,涵盖开发、测试、运维、产品经理等职务。拥有一定的IT从业经验,至少1年以上的编程工作经验,对大模型技术感兴趣或有业务需求,希望通过课程提升自身在IT领域的竞争力。
  • IT管理及技术研究领域人员:包括技术经理、技术负责人、CTO、架构师、研究员等角色。这些人员需要跟随技术发展趋势,主导技术创新,推动大模型技术在企业业务中的应用与改造。
  • 传统AI从业人员:包括算法工程师、机器视觉工程师、深度学习工程师等。这些AI技术人才原先从事机器视觉、自然语言处理、推荐系统等领域工作,现需要快速补充大模型技术能力,获得大模型训练微调的实操技能,以适应新的技术发展趋势。
    在这里插入图片描述

课程精彩瞬间

大模型核心原理与Prompt:掌握大语言模型的核心知识,了解行业应用与趋势;熟练Python编程,提升提示工程技能,为Al应用开发打下坚实基础。

在这里插入图片描述
RAG应用开发工程:掌握RAG应用开发全流程,理解前沿技术,提升商业化分析与优化能力,通过实战项目加深理解与应用。 在这里插入图片描述

Agent应用架构进阶实践:掌握大模型Agent技术的核心原理与实践应用,能够独立完成Agent系统的设计与开发,提升多智能体协同与复杂任务处理的能力,为AI产品的创新与优化提供有力支持。

在这里插入图片描述

模型微调与私有化大模型:掌握大模型微调与私有化部署技能,提升模型优化与部署能力,为大模型项目落地打下坚实基础。 在这里插入图片描述

顶尖师资,深耕AI大模型前沿技术

实战专家亲授,让你少走弯路
在这里插入图片描述

一对一学习规划,职业生涯指导

  • 真实商业项目实训
  • 大厂绿色直通车

人才库优秀学员参与真实商业项目实训
以商业交付标准作为学习标准,具备真实大模型项目实践操作经验可写入简历,支持项目背调 在这里插入图片描述
大厂绿色直通车,冲击行业高薪岗位

在这里插入图片描述

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

在这里插入图片描述

【人工智能】DeepSeek 与 RAG 技术:构建知识增强型问答系统的实战 本文深入探讨了如何利用 DeepSeek R1 模型结合检索增强生成(RAG)技术,构建一个高效的知识增强型问答系统。RAG 技术通过结合信息检索与生成模型的优势,能够显著提升问答系统的准确性和上下文相关性。文章详细介绍了 DeepSeek R1 的技术架构、RAG 系统的设计与实现,包括环境搭建、知识库构建、检索模块优化以及生成模块的细化调优。提供了大量 Python 代码示例,涵盖数据预处理、向量嵌入、检索与生成全流程,并辅以中文注释和数学公式解释关键算法原理。文章旨在为开发者提供一个从理论到实践的完整 阅读详情

相关推荐

1.43 NativeRAG实战:无需复杂框架,用Python实现基础RAG系统

本文介绍了如何用纯Python实现基础的RAG(检索增强生成)系统,避免使用复杂框架。文章首先展示了NativeRAG的架构流程,包括文档处理、向量化、存储和检索等环节。然后详细讲解了核心实现代码:1)文档处理器实现文本加载和分块;2)基于TF-IDF的简易向量化器;3)向量存储和检索系统,使用余弦相似度计算匹配度。这种轻量级实现有助于深入理解RAG的核心原理,适合学习和小规模应用场景。

yonggeit的博客 3937

手把手教你用Python构建RAG知识库系统(完整代码)

随着大语言模型(LLM)的普及,越来越多的开发者希望将自己的私有知识库与 AI 结合,打造专属的智能问答系统。RAG(Retrieval-Augmented Generation,检索增强生成)正是解决这一问题的核心技术。本文将从零开始,手把手带你用 Python 构建一个完整的 RAG 知识库系统,包含文档处理、向量化、检索和生成全流程,所有代码均可直接运行。文档处理:支持多格式,合理设置 chunk_size 和 overlap向量化:国内推荐使用 BGE 本地模型,避免 API 依赖检索优化。

从零开始的1生活 472

RAG技术详解:从原理到实战,构建高效检索增强生成系统

检索增强生成(RAG)是一种将外部知识库与大语言模型(LLM)结合的架构范式,旨在解决LLM的静态知识局限和幻觉问题。其核心原理是通过向量化技术将文档转换为语义向量,并利用向量数据库实现高效相似性检索,从而为LLM提供实时、准确的上下文信息。该技术的核心价值在于显著提升模型回答的准确性、可信度和可追溯性,同时支持动态知识更新。在应用场景上,RAG广泛应用于智能客服、企业知识库、文档分析等需要处理私有或实时数据的领域。本文以Python、LangChain和Chroma为例,深入解析了RAG的完整实现流程,包

weixin_34319374的博客 1400

RAG入门实践:手把手Python实现搭建本地知识问答系统

向量数据库是AI时代的“数据配对专家”,用向量化思维解决非结构化数据的存储和检索难题,尤其适合需要。

Arbboter的专栏 7709

用 LangChain 手搓 RAG 系统:从原理到实战

在当今信息爆炸的时代,如何高效地从海量数据中获取有价值的信息并生成准确、自然的回答,成为了人工智能领域的重要课题。检索增强生成(Retrieval-Augmented Generation,RAG)系统应运而生,它结合了信息检索(IR)和自然语言生成(NLG)技术,能够在生成回答时利用外部知识库的信息,显著提高回答的准确性和可靠性。RAG 系统的核心思想是:首先通过检索模块从知识库中查找与用户问题相关的文档或段落,然后将这些检索到的信息输入到生成模型中,生成最终的回答。

shuizhudan223的博客 1330

综述:从零构建RAG系统全面指南(含代码)

尽管大语言模型具备出色的推理能力和广泛的通用知识,但它们在检索精确信息、获取最新数据或提供可验证的回答时常常遇到困难。检索增强生成(Retrieval-Augmented Generation,RAG)应运而生,这一创新性方法通过将大语言模型与外部知识源相结合,有效提升了其性能。本文将深入探讨RAG的概念、重要性,并使用Python和流行的开源库从零开始构建一个完整的RAG系统。

llm_way的博客 866

从零到一:Python构建企业级RAG系统完整实战指南(附完整源码)

RAG技术正处于快速发展期,从基础的文档问答到复杂的多模态智能助手,应用场景不断扩展。通过本项目的学习,你已经掌握了RAG系统的核心技术,具备了构建生产级AI应用的基础能力。🎯用户体验优先:技术服务于业务需求⚡性能与精度平衡:在速度和准确性间找到最佳点🔄持续迭代优化:基于用户反馈不断改进🛡️安全与隐私:保护用户数据和系统安全🚀立即实践:在自己的项目中应用RAG技术🤝社区参与:加入AI技术社区,分享经验📈持续学习:关注最新的RAG技术发展💡创新思考:探索RAG在新场景下的应用可能。

小一的专栏 1293

AI原生应用实战:使用Python实现检索增强生成(RAG)系统

知识截止到训练日期(如GPT-4截止2024年4月)、无法访问私有数据。检索增强生成(Retrieval-Augmented Generation,简称RAG)正是解决这两个问题的「特效药」:通过「先检索后生成」的流程,让LLM能动态调用最新/私有知识库,生成更可靠的回答。本文将覆盖RAG系统的核心组件、实现步骤与实战案例。用「写论文」的故事类比RAG核心流程拆解「检索模块」「生成模块」「知识拼接」三大核心组件用Python代码实现从「知识库构建→向量检索→LLM生成」的完整流程。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1401

RAG是什么?手把手教你从零构建RAG系统全面指南(含代码)

尽管大语言模型具备出色的推理能力和广泛的通用知识,但它们在检索精确信息、获取最新数据或提供可验证的回答时常常遇到困难。检索增强生成(Retrieval-Augmented Generation,RAG)应运而生,这一创新性方法通过将大语言模型与外部知识源相结合,有效提升了其性能。本文将深入探讨RAG的概念、重要性,并使用Python和流行的开源库从零开始构建一个完整的RAG系统。

大模型研究中心 2361

RAG知识库构建系统实战:从原理到落地的完整指南

检索增强生成(RAG)通过外部知识库为大模型提供私有资料支撑,解决通用模型不懂内部文档的痛点。其核心原理是将文档切分为语义完整的文本块,经向量化后存入向量库,用户提问时基于相似度检索相关片段并组装上下文,让模型依据资料作答。这项技术无需微调即可快速搭建企业内部知识库,也是毕业设计的高价值选题。从工程实践来看,文本分块粒度、向量检索参数(如Top-k与相似度阈值)以及Prompt模板设计直接影响回答质量。本文完整拆解RAG知识库构建系统的架构与落地方案,涵盖分块策略、FAISS向量库接入、参数调优方法及常见坑

weixin_29065959的博客 241

Librepilot _64位window10环境下的搭建及一些坑的解决办法

  刚入IT行业的小菜鸟,在window上折腾了四天的librepilot地面控制站的搭建,想着这么辛苦不能白费了,看网上相关资料少得可怜,唯一一个详细教程还是在32位环境下,一大堆坑,所以把自己的经验写下来,供大家一起参考。 参考的原文是:https://www.cnblogs.com/jasonchan1202/p/7809937.html的博客,但是执行下来才发现这个博客对64位系统极其不...

weixin_41426339的博客 2727

基于DeepSeek构建RAG 系统综合指南(含代码),零基础小白收藏这一篇就够了!!

在人工智能飞速发展的当下,从海量文档中高效处理、理解和检索信息,成为众多领域的关键需求。检索增强生成(Retrieval-Augmented Generation,RAG)技术应运而生,它代表了 AI 信息处理方式的重大进步。传统语言模型仅依赖预先训练的数据,而 RAG 系统在生成回复前,会动态检索相关信息,就如同为 AI 配备了一个专属 “图书馆”,在回答问题前可随时查阅参考。

嘴巴吃糖了 1599

COMSOL新手必看:手把手教你搭建锂电池P2D模型(附完整参数设置)

本文为COMSOL新手提供了搭建锂电池P2D仿真模型的详细指南。文章从模型原理入手,逐步讲解软件设置、几何构建、关键参数配置及后处理分析,并探讨了如何将仿真结果与智能电池管理中的SOC、SOH估算相结合,为电池性能分析和BMS算法开发提供实用洞见。

transformer2023的博客 233

RAG 入门指南:从零开始构建一个 RAG 系统

在开始之前,我还是打算再次简要的介绍一下 RAG。在 Meta 的官方 Blog 上有这样一段话:这段话主要讲述了一个新的模型架构,也就是RAG (检索增强生成)的重要性和优势。\1. 构建一个能够进行研究和上下文分析的模型虽然更具挑战性,但对未来的技术进步非常关键;\2. 通过在知识密集的下游任务上微调,RAG 可以实现最先进的结果,比现有的最大的预训练序列到序列语言模型还要好;\3. 与传统的预训练模型不同,RAG 的内部知识可以轻松地动态更改或补充。

zhishi0000的博客 1905

BOM 数据模型设计

字段名数据类型必填说明物料编码 (Part Number)字符串是唯一标识,主键。建议包含分类前缀(如STD-GEN-CUS-物料名称 (Part Name)字符串是版本 (Revision)字符串是如AB1.0,与编码组合构成唯一实例。状态 (Status)枚举是设计中(Draft)已发布(Released)已归档(Archived)已作废(Obsoleted)类型 (Type)枚举是专用件(Custom)借用件(Borrowed)通用件(Generic)标准件(Standard)

Davina_yu的博客 1756

数字IC时序约束实战:深入解析clock_uncertainty的设置策略与后端影响

本文深入探讨数字IC设计中clock_uncertainty的设置策略及其对后端实现的影响。通过分析时钟不确定度的组成(包括clock_skew、clock_jitter和margin),并结合实际项目经验,详细介绍了在不同设计阶段(综合、布局布线、签核)的动态调整方法。文章还提供了工程化处理参数来源、跨时钟域特殊处理以及优化时序收敛的实用技巧,帮助工程师提升数字IC设计的可靠性和性能。

weixin_29284657的博客 228

大模型RAG系统全解析 ,从原理到实战,构建你的大模型检索增强生成系统

RAG系统,全称是“检索增强生成系统”,它是一种结合了信息检索和文本生成技术的 AI 系统。RAG 系统的核心思想是:不要让 LLM 单打独斗,而是给它提供相关的外部知识,让它在生成答案的时候有所依据,从而提高答案的质量和可靠性。它可以解决 LLM 在知识更新方面滞后,以及容易产生幻觉(捏造事实)等问题。在开始深构建核心检索增强生成(RAG)系统之前,我们需要首先进行一些必要的准备工作。其中一个关键步骤是配置好我们的开发环境,以便能够有效地跟踪和管理实验过程中的各种活动,并顺利执行其他相关的任务。

老皮的博客 840

STM32外部中断EXTI原理与飞控实时应用实战

外部中断(EXTI)是嵌入式系统中实现事件驱动和实时响应的核心机制,其本质是将外部电平变化转化为可调度的CPU中断事件。基于ARM Cortex-M NVIC架构,EXTI通过GPIO-EXTI-NVIC三级硬件通路实现低延迟信号捕获,具备边沿触发、优先级管理与挂起控制等关键能力。在四轴飞控、工业传感器、人机交互等对毫秒级响应有强需求的场景中,EXTI显著优于轮询方式,兼顾实时性与CPU资源效率。实际开发需严格遵循SYSCFG映射→EXTI配置→NVIC使能的时序逻辑,并规避常见陷阱如中断号误配、伪触发、低

weixin_36382073的博客 65

【强烈推荐】从零开始构建RAG系统:检索增强生成(RAG)实战指南,建议收藏学习!

我们先从一个。

大模型教程的博客 959

基于 PCL 的工业盒体点云精准分割

本文提出一种基于PCL点云库的工业盒体点云分割算法,采用由粗到精的分层策略解决传统方法在噪声、稀疏和堆叠场景下的分割问题。算法通过区域生长粗分割、RANSAC平面筛选、球面回溯补全、凹包边界提取和圆柱回溯精分割五大核心模块,充分利用盒体几何先验特征,实现高效精准的分割效果。文章详细阐述了算法流程、参数调优指南及工程化要点,指出该方法相比深度学习具有速度快、鲁棒性强、部署简单的优势。同时分析了算法在倾斜、异形目标上的局限性,并展望了结合深度学习特征的混合模型发展方向。该算法为工业自动化场景中的3D视觉检测提供

weixin_45196569的博客 172

高速特征金字塔多角度旋转模板匹配(工业零部件缺陷检测C++ Opencv版)

博主在性能较好的笔记本上测试算法全部执行效果大约为45ms,在一般配置的笔记本上博主在性能较好的笔记本上测试算法全部执行效果大约为130ms。下图即为实际检测效果。本文最后附有完整代码:Qt版和MFC版本(可直接运行)。...

认真努力,做一只会飞的毛毛虫。 5547

RAG的代码实现与实践:从零开始构建检索增强生成系统

在本篇博客中,我们从零开始构建了一个完整的RAG系统,涵盖了数据准备、索引构建、检索实现以及生成答案的全过程。通过具体的代码示例,读者可以清晰地看到RAG技术在实际应用中的实现细节。RAG技术通过结合检索和生成的优势,为语言模型提供了更准确、更可靠的知识支持。希望本文能够帮助读者更好地理解和应用RAG技术。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1187

Cadence SPB16. 6 安装流程

1.首先下载CadenceAllegroSPBorCAD16.6安装包 下载之后运行其中的setup.exe,然后先安装第一项LicenseManager 一直按next或install, 直到被询问license时,单击cancel,然后选是和finish。 2,安装Product Installtion 直接点next跳过这一步 安装完成后,点Exit退出 3.按ctrl+alt+delete打开任务管...

wangjie36的博客 5148

文档切片在 RAG 系统中的方法详解:原理、优劣与实战代码

文档切片不是一个“剪刀石头布”的游戏,而是 RAG 系统中影响最终效果的底层策略设计。选择合适的切片方法,可以显著提升你的:检索准确率上下文质量模型生成效果结合自己的数据结构与业务目标,合理选择或组合切片方式,才能打造一个真正强大、实用的 AI 检索问答系统。

Harry的博客 1999

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 【收藏必备】10分钟手搓专属Agent!讯飞星辰RPA让AI从“头脑风暴“走向“生产工具
下一篇: RAG技术全解析:检索增强生成方法与优化,程序员必学技能,建议收藏!
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值