本文详细介绍了如何构建生产就绪的RAG(检索增强生成)系统,从基础组件(索引、检索、生成)到高级技术(查询转换、智能路由、多表示索引、自校正代理流等),全面涵盖RAG生态系统的每个环节。文章提供了丰富的代码示例和评估方法,帮助读者从零开始构建并优化高效、准确的RAG应用。


大多数团队在基于自身数据构建生产就绪的RAG系统时,会经历多轮实验,并依赖于多个不同的组件,每个组件都需要自己的设置、调优和细致处理。这些组件包括:

  1. 查询转换(Query Transformations): 重写用户问题,使其更有效地进行检索。
  2. 智能路由(Intelligent Routing): 将查询导向正确的数据源或专用工具。
  3. 索引(Indexing): 创建多层知识库。
  4. 检索与重排序(Retrieval and Re-ranking): 过滤噪音并优先处理最相关的上下文。
  5. 自校正代理流(Self-Correcting Agentic Flows): 构建能够评估和改进自身工作的系统。
  6. 端到端评估(End-to-End Evaluation): 客观衡量整个流程的性能。

以及更多……

我们将学习并编写RAG生态系统的每个部分的代码,并辅以可视化以便于理解,从基础知识到高级技术。

目录分为以下几个部分

理解基本RAG系统[1]
  • 索引阶段[2]
  • 检索[3]
  • 生成[4]
高级查询转换[5]
  • 多查询生成[6]
  • RAG-Fusion[7]
  • 分解[8]
  • 回溯提示[9]
  • HyDE[10]
路由与查询构建[11]
  • 逻辑路由[12]
  • 语义路由[13]
  • 查询结构化[14]
索引策略[15]
  • 多表示索引[16]
  • 分层索引(RAPTOR)知识树[17]
  • Token级精度(ColBERT)[18]
检索与生成[19]
  • 专用重排序[20]
  • 使用AI代理进行自校正[21]
  • 长上下文的影响[22]
手动RAG评估[23]
  • 核心指标:我们应该衡量什么?[24]
  • 使用LangChain从头构建评估器[25]
使用框架进行评估[26]
  • 使用deepeval进行快速评估[27]
  • 使用grouse的另一个强大替代方案[28]
  • 使用RAGAS进行评估[29]
总结[30]

理解基本RAG系统

在我们了解RAG的基础知识之前,我们需要设置用于跟踪和其他任务的环境变量,例如我们将使用的LLM API提供商。

import os

您可以从LangSmith官方文档获取您的LangSmith API密钥,以便在整个博客中跟踪我们的RAG产品。对于LLM,我们将使用OpenAI API,但您可能已经知道,LangChain也支持各种LLM提供商。

核心RAG管道是任何高级系统的基础,理解其组件非常重要。因此,在深入了解高级组件的细节之前,我们首先需要理解RAG系统如何工作的核心逻辑,但如果您已经了解RAG系统的工作原理,可以跳过此部分。

基本RAG系统

基本RAG系统

这个最简单的RAG可以分解为三个组件:

  • 索引(Indexing):以结构化格式组织和存储数据,以实现高效搜索。
  • 检索(Retrieval):根据查询或输入搜索并获取相关数据。
  • 生成(Generation):使用检索到的数据创建最终响应或输出。

让我们从头开始构建这个简单的管道,看看每个部分是如何工作的。

索引阶段

在我们的RAG系统能够回答任何问题之前,它需要知识来获取。为此,我们将使用WebBaseLoader直接从Lilian Weng关于LLM驱动代理的优秀博客文章中提取内容。

索引阶段

索引阶段

import bs4

bs_kwargs参数帮助我们只针对相关的HTML标签(post-contentpost-title等),从一开始就清理我们的数据。

现在我们有了文档,我们面临第一个挑战。由于上下文窗口限制,将大量文档直接输入LLM效率低下,而且通常不可能。

这就是为什么**分块(chunking)**是关键一步。我们需要将文档分解成更小、语义上有意义的部分。

RecursiveCharacterTextSplitter是完成这项工作的推荐工具,因为它会智能地尝试保持段落和句子的完整性。

from langchain.text_splitter import RecursiveCharacterTextSplitter

chunk_size=1000表示我们创建1000个字符的块,chunk_overlap=200确保它们之间存在一定的连续性,这有助于保留上下文。

我们的文本现在已经分块,但它仍然只是文本。为了执行相似性搜索,我们需要将这些块转换为数值表示,称为嵌入(embeddings)。然后,我们将这些嵌入存储在**向量存储(vector store)**中,这是一种专门用于高效搜索向量的数据库。

Chroma向量存储和OpenAIEmbeddings使这变得异常简单。下面一行代码同时处理嵌入和索引。

from langchain_community.vectorstores import Chroma

随着我们的知识被索引,我们现在可以开始提问了。

检索

向量存储是我们的图书馆,而**检索器(retriever)**是我们的智能图书管理员。它接收用户的查询,对其进行嵌入,然后从向量存储中获取语义上最相似的块。

检索阶段

检索阶段

从我们的vectorstore创建检索器只需一行代码。

# Create a retriever from the vector store

让我们测试一下。我们将提出一个问题,看看我们的检索器能找到什么。

# Retrieve relevant documents for a query

如您所见,检索器成功地从博客文章中提取了最相关的块,该块直接讨论了“任务分解”。这段上下文正是LLM形成准确答案所需的。

生成

我们有了上下文,但我们需要一个LLM来阅读它并形成一个对人类友好的答案。这是RAG中的**“生成(Generation)”**步骤。

生成步骤

生成步骤

首先,我们需要一个好的提示模板。这指示LLM如何表现。我们可以从LangChain Hub中提取一个预优化的模板,而不是自己编写。

from langchain import hub

上述函数将在通过相似性搜索获取文档后对其进行重新排序,但我们尚未初始化它,所以现在就来做。

# Use a slightly different prompt for RAG-Fusion

最终的链条保持不变,但现在它接收到的是更智能排序的上下文。RAG-Fusion是一种强大、低成本的方法,可以提高检索质量。

学习资源📚

  1. AI大模型学习路线图:为你提供清晰的学习路径,助你系统地掌握AI大模型知识。
  2. 100套AI大模型商业化落地方案:学习如何将AI大模型技术应用于实际商业场景,实现技术的商业化价值。
  3. 100集大模型视频教程:通过视频教程,你将更直观地学习大模型的技术细节和应用方法。
  4. 200本大模型PDF书籍:丰富的书籍资源,供你深入阅读和研究,拓宽你的知识视野。
  5. LLM面试题合集:准备面试,了解大模型领域的常见问题,提升你的面试通过率。
  6. AI产品经理资源合集:为你提供AI产品经理的实用资源,帮助你更好地管理和推广AI产品。

👉获取方式: 😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费

在这里插入图片描述

分解(Decomposition)

有些问题过于复杂,无法一步回答。例如,**“LLM驱动代理的主要组件是什么,它们如何交互?”**这实际上是两个问题合二为一。

递归回答

递归回答

分解技术使用LLM将复杂查询分解为一组更简单、独立的子问题。然后我们可以回答每个子问题并综合出最终答案。

我们将从为此目的设计的提示开始。

# Decomposition prompt

LLM成功地分解了我们的复杂问题。现在,我们可以单独回答这些问题并结合结果。一种有效的方法是回答每个子问题,并使用生成的问答对作为上下文来综合出最终的、全面的答案。

# RAG prompt

通过分解问题,我们构建了一个比其他方式更详细、更有条理的答案。

回溯提示(Step-Back Prompting)

有时,用户的查询过于具体,而我们的文档包含回答该问题所需的更通用、更基础的信息。

回溯提示

回溯提示

例如,用户可能会问:“警察乐队的成员可以合法逮捕吗?”

直接搜索可能会失败。回溯技术使用LLM“退一步”,形成一个更普遍的问题,例如“警察乐队的权力职责是什么?”然后我们检索特定问题和普遍问题的上下文,为最终答案提供更丰富的上下文。

我们可以使用少量示例来教LLM这种模式。

from langchain_core.prompts import ChatPromptTemplate, FewShotChatMessagePromptTemplate

现在,我们可以简单地定义回溯方法的链条,所以我们来做。

# Define a chain to generate step-back questions using the prompt and an OpenAI model

这是一个重要的回溯问题。它将范围扩大到通用软件工程,这可能会引入基础文档,然后可以与LLM代理的特定上下文结合。现在我们可以构建一个同时使用两者的链条。

from langchain_core.runnables import RunnableLambda

这是我们运行此回溯提示链与我们的查询时获得的输出。

####### OUTPUT OF STEP BACK ###########
HyDE

最后这种技术是最巧妙的。检索的核心问题是用户的查询可能使用与文档不同的词(“词汇不匹配”问题)。

HyDE

HyDE

HyDE(假设文档嵌入)提出了一种激进的解决方案:首先,让LLM生成一个_假设的_答案。这个虚假文档虽然在事实上不正确,但语义丰富,并使用我们期望在真实答案中找到的语言。

然后我们嵌入这个假设文档,并使用其嵌入来执行检索。结果是,我们找到了与理想答案语义上非常相似的真实文档。

让我们从创建一个用于生成这个假设文档的提示开始。

# HyDE prompt

这段文字是一个完美的、教科书式的答案。现在,我们使用它的嵌入来查找真实文档。

# Retrieve documents using the HyDE approach

通过使用假设文档作为诱饵,HyDE帮助我们精确地找到了知识库中最相关的块,展示了我们RAG工具包中的另一个强大工具。

路由与查询构建

我们的RAG系统变得越来越智能,但在现实世界中,知识并非存储在单一、统一的库中。

我们通常有多个数据源:不同编程语言的文档、内部维基、公共网站或带有结构化元数据的数据库。

路由与查询转换

路由与查询转换

将每个查询发送到每个源效率极低,并可能导致嘈杂、不相关的结果。

这就是我们的RAG系统需要从一个简单的图书管理员演变为一个智能总机操作员的地方。它需要能够首先_分析_传入的查询,然后将其_路由_到正确的目的地或为检索_构建_更精确、结构化的查询。本节深入探讨了实现这一点的技术。

逻辑路由(Logical Routing)

路由是一个分类问题。给定用户的查询,我们需要将其分类到几个预定义类别中的一个。虽然传统的机器学习模型可以做到这一点,但我们可以利用我们已有的强大推理引擎:LLM本身。

逻辑路由

逻辑路由

通过向LLM提供清晰的模式(一组可能的类别),我们可以要求它为我们做出分类决策。

我们将首先使用Pydantic模型定义LLM输出的“契约”。此模式明确告诉LLM查询的可能目的地。

from typing importLiteral

定义好模式后,我们现在可以构建路由器链。我们将使用提示来向LLM提供指令,然后使用.with_structured_output()方法确保其响应与我们的RouteQuery模型完美匹配。

# Initialize our LLM

现在,让我们测试我们的路由器。我们将向它传递一个明显是关于Python的问题,并检查输出。

question = """Why doesn\'t the following code work:

输出是我们的RouteQuery模型的一个实例,LLM已经

# Sort documents by their new fused scores in descending order

完美。路由器正确地将问题识别为与物理学相关,并使用了物理学教授的提示,从而得到了简洁准确的答案。这种技术非常适合创建能够根据用户需求调整其角色的专业代理。

查询结构化(Query Structuring)

到目前为止,我们一直专注于从非结构化文本中检索。但大多数真实世界的数据是_半结构化_的;它包含有价值的元数据,如日期、作者、浏览量或类别。简单的向量搜索无法利用这些信息。

查询结构化是将自然语言问题转换为结构化查询的技术,该结构化查询可以使用这些元数据过滤器进行高度精确的检索。

为了说明这一点,我们来看看YouTube视频转录中可用的元数据。

from langchain_community.document_loaders import YoutubeLoader

此文档包含丰富的元数据:view_countpublish_datelength。我们希望用户能够使用自然语言对这些字段进行过滤。为此,我们将定义另一个Pydantic模式,这次用于结构化视频搜索查询。

import datetime

这个模式是我们的目标。我们现在将创建一个链,它接受用户问题并填充此模型。

# System prompt for the query analyzer

让我们用几个不同的问题来测试它的威力。

# Test 1: A simple query

正如预期的那样,它填充了内容和标题搜索字段。现在来一个更复杂的查询。

# Test 2: A query with a date filter

这太棒了。LLM正确地解释了“2023年”,并创建了一个日期范围过滤器。我们再试一个带有时间限制的。

# Test 3: A query with a length filter

它完美地将“5分钟以下”转换为max_length_sec: 300。现在,这个结构化查询可以传递给支持元数据过滤的向量存储,从而实现远远超出简单语义搜索的极其精确和高效的检索。

高级索引策略

到目前为止,我们的索引方法一直很简单:将文档分块并嵌入。这有效,但它有一个根本性的限制。

小而集中的块对于检索精度很有用(它们包含的噪音更少),但它们通常缺乏LLM生成全面答案所需的更广泛上下文。

索引策略

索引策略

相反,大块提供了很好的上下文,但在检索中表现不佳,因为它们的核心含义被稀释了。

这就是经典的“块大小”困境。我们如何才能两全其美呢?

答案在于更高级的索引策略,这些策略将用于_检索_的文档表示与用于_生成_的文档表示分开。让我们深入探讨。

多表示索引(Multi-Representation Indexing)

多表示索引的核心思想简单而强大:我们不嵌入完整的文档块,而是为每个块创建一个更小、更集中的表示(例如摘要),并嵌入_该_表示。

多表示索引

多表示索引

在检索过程中,我们搜索这些简洁的摘要。一旦找到最佳摘要,我们使用其ID查找并检索完整的原始文档块。

这样,我们就可以在小而密集的摘要上进行精确搜索,并获得用于生成的更大父文档的丰富上下文。

首先,我们需要加载一些要处理的文档。我们将从Lilian Weng的博客中获取两篇文章。

from langchain_community.document_loaders import WebBaseLoader

接下来,我们将创建一个链来为每个文档生成摘要。

import uuid

现在是最关键的部分。我们需要一个MultiVectorRetriever,它需要两个主要组件:

  1. 一个vectorstore来存储我们摘要的嵌入。
  2. 一个docstore(一个简单的键值存储)来保存原始的完整文档。
from langchain.storage import InMemoryByteStore

我们的高级索引现在已经构建完成。让我们测试检索过程。我们将提出一个关于“代理中的记忆”的问题,看看会发生什么。

query = "Memory in agents"

如您所见,搜索找到了提及“记忆”的摘要。现在,MultiVectorRetriever将使用此摘要元数据中的doc_id自动从docstore中获取完整的父文档。

# Let the full retriever do its job

这正是我们想要的!我们搜索了简洁的摘要,但得到了完整、上下文丰富的文档,解决了块大小的困境。

分层索引(RAPTOR)知识树

理论: RAPTOR(用于树状检索的递归抽象处理)将多表示思想更进一步。RAPTOR不只是一层摘要,而是构建一个多级摘要树。它首先对小文档块进行聚类,然后对每个聚类进行摘要。

RAPTOR

RAPTOR

然后,它获取这些摘要,对它们进行聚类,并对新聚类进行摘要。这个过程重复进行,创建了一个从细粒度细节到高层概念的知识层次结构。当您查询时,您可以在此树的不同级别进行搜索,从而实现所需特定或通用程度的检索。

这是一种更高级的技术,虽然我们不会在这里实现完整的算法,但您可以在RAPTOR Cookbook中找到深入的讲解和完整的代码。它代表了结构化索引的前沿。

Token级精度(ColBERT)

理论: 标准嵌入模型为整个文本块创建一个单一向量(这称为“词袋”方法)。这可能会丢失很多细微差别。

专业化嵌入

专业化嵌入

ColBERT(基于BERT的上下文后期交互)提供了一种更细粒度的方法。它为文档中的_每个_token生成一个单独的、上下文感知的嵌入。

当您进行查询时,ColBERT也会嵌入查询中的每个token。然后,它不是比较一个文档向量与一个查询向量,而是查找每个查询token与_任何_文档token之间的最大相似度。

这种“后期交互”可以更细致地理解相关性,擅长关键词式搜索。

我们可以通过RAGatouille库轻松使用ColBERT。

# Install the required library

现在,让我们使用ColBERT独特的token级方法索引一个维基百科页面。

import requests

索引过程更复杂,因为它正在为每个token创建嵌入,但RAGatouille无缝地处理了它。现在,让我们搜索我们的新索引。

对于这个主题的深入探讨,这个演示文稿是一个极好的资源:

  • **关于长上下文的幻灯片:**长上下文对RAG的影响

手动RAG评估

我们已经构建了一个日益复杂的RAG管道,分层应用了检索、索引和生成的高级技术。但一个关键问题仍然存在:我们如何证明它确实有效?

在生产环境中,“看起来有效”是不够的。我们需要客观、可重复的指标来衡量性能,识别弱点,并指导改进。

这就是评估的作用。它是衡量我们RAG系统责任的科学。在这一部分中,我们将探讨如何通过从头开始构建我们自己的评估器来定量衡量我们系统的质量。

核心指标:我们应该衡量什么?

在深入代码之前,让我们定义一个“好”的RAG响应是什么样的。我们可以将其分解为几个核心原则:

  1. 忠实性(Faithfulness): 答案是否严格遵守所提供的上下文?忠实的答案不会捏造信息,也不会使用LLM的预训练知识来回答。这是防止幻觉的最重要指标。
  2. 正确性(Correctness): 与“真实情况”或参考答案相比,答案是否事实正确?
  3. 上下文相关性(Contextual Relevancy): 我们检索到的上下文是否与用户的问题真正相关?这评估的是我们检索器的性能,而不是生成器的性能。

让我们探讨如何衡量这些,从最透明的方法开始:自己构建评估器。

使用LangChain从头构建评估器

理解评估的最佳方式是构建它。使用基本的LangChain组件,我们可以创建自定义链,指示LLM充当公正的“法官”,根据我们在提示中定义的标准来评估我们的RAG系统的输出。这使我们能够最大程度地控制和透明。

让我们从正确性开始。我们的目标是创建一个链,它将generated_answerground_truth答案进行比较,并返回0到1之间的分数。

from langchain.prompts import PromptTemplate

现在,让我们将其封装在一个简单的函数中并进行测试。如果真实情况是“巴黎和马德里”,但我们的RAG系统只部分回答了“巴黎”怎么办?

defevaluate_correctness(question, ground_truth, generated_answer):

这是一个完美的结果。我们的法官LLM正确地推断出生成的答案只对了一半,并给出了0.5的适当分数。

接下来,让我们构建一个忠实性评估器。对于RAG来说,这可能比正确性更重要,因为它是我们防止幻觉的主要防御措施。

在这里,用来判定的LLM必须忽略答案是否事实正确,而只关心答案是否可以从给定的context中推导出来。

# The prompt template for faithfulness includes several examples (few-shot prompting)

我们在提示中提供了几个示例来指导LLM的推理,特别是对于棘手的边缘情况。让我们用“2+2”的例子来测试它,这是忠实性的经典测试。

defevaluate_faithfulness(question, context, generated_answer):

这展示了定义明确的忠实性指标的强大和精确性。即使答案6在事实上是正确的,它也无法从提供的上下文“6”中逻辑推导出来。

上下文没有说3+3等于6。我们的系统正确地将其标记为不忠实的答案,这很可能是LLM使用了自己的预训练知识而不是提供的上下文而产生的幻觉。

从头开始构建这些评估器可以深入了解我们正在衡量的内容。然而,这可能非常耗时。在下一部分中,我们将看到如何使用专门的评估框架更有效地实现相同的结果。

使用框架进行评估

在上一部分中,我们从头开始构建了自己的评估链。这是理解RAG指标核心原则的绝佳方式。

然而,为了更快、更可靠的测试,专用评估框架是首选。

使用框架进行评估

使用框架进行评估

这些库提供了预构建的、经过微调的指标,可以为我们处理评估的复杂性,使我们能够专注于分析结果。

我们将探讨三个流行的框架:deepevalgrouse和RAG专用强手RAGAS

使用deepeval进行快速评估

deepeval是一个功能强大的开源框架,旨在使LLM评估变得简单直观。它提供了一组定义明确的指标,可以轻松应用于RAG管道的输出。

工作流程包括创建LLMTestCase对象,并根据CorrectnessFaithfulnessContextualRelevancy等预构建指标对其进行衡量。

# You will need to install deepeval: pip install deepeval

deepeval的聚合视图立即为我们提供了系统性能的高级概览,使我们能够轻松发现需要改进的领域。

使用grouse的另一个强大替代方案

grouse是另一个优秀的开源选项,提供了一套类似的指标,但其独特之处在于允许深度定制“法官”提示。这对于针对特定领域微调评估标准非常有用。

# You will need to install grouse: pip install grouse-eval

deepeval一样,grouse有效地捕获了细微的错误,为我们的评估工具包提供了另一个强大的工具。

使用RAGAS进行评估

虽然deepevalgrouse是很好的通用评估器,但**RAGAS** **(检索增强生成评估)**是一个专门用于评估RAG管道的框架。它提供了一套全面的指标,可以衡量系统从检索器到生成器的每个组件。

要使用RAGAS,我们首先需要以特定格式准备评估数据。它需要每个测试用例的四个关键信息:

  • question:用户的输入查询。
  • answer:RAG系统生成的最终答案。
  • contexts:检索器检索到的文档列表。
  • ground_truth:正确的参考答案。

让我们准备一个示例数据集。

# 1. Prepare the evaluation data

接下来,我们使用Hugging Face datasets库来构建这些数据,RAGAS可以无缝集成。

# You will need to install ragas and datasets: pip install ragas datasets

现在,我们可以定义我们的指标并运行评估。RAGAS提供了几个强大的、RAG特有的开箱即用指标。

from ragas import evaluate
question answer contexts ground_truth faithfulness answer_relevancy context_recall answer_correctness
0 What is the name of the three-headed dog… The three-headed dog is named Fluffy. [A massive, three-headed dog was guarding… Fluffy 1.0 0.998 1.0 1.0
1 Who gave Harry Potter his first broomstick? Professor McGonagall gave Harry his… [First years are not allowed brooms, but… Professor McGonagall 1.0 1.0 1.0 0.954
2 Which house did the Sorting Hat initially… The Sorting Hat strongly considered… [The Sorting Hat muttered in Harry"s ear… Slytherin 1.0 0.985 1.0 1.0

我们可以看到,我们的系统高度忠实,并且很好地检索了相关上下文(faithfulnesscontext_recall是完美的)。答案也高度相关且正确,只有微小的偏差。

RAGAS使得运行这种全面的端到端评估变得异常容易,为我们提供了自信地部署和改进RAG应用程序所需的数据。

总结

那么,让我们总结一下我们为构建生产就绪的RAG系统所做的一切。

  1. 第一部分中,我们从头开始构建了一个基础RAG系统,涵盖了三个核心组件:索引我们的数据,检索相关上下文,以及生成最终答案。
  2. 第二部分中,我们转向了高级查询转换,使用了RAG-Fusion、分解和HyDE等技术来重写和扩展用户问题,以实现更准确的检索。

大模型未来如何发展?普通人能从中受益吗?

在科技日新月异的今天,大模型已经展现出了令人瞩目的能力,从编写代码到医疗诊断,再到自动驾驶,它们的应用领域日益广泛。那么,未来大模型将如何发展?普通人又能从中获得哪些益处呢?

通用人工智能(AGI)的曙光:未来,我们可能会见证通用人工智能(AGI)的出现,这是一种能够像人类一样思考的超级模型。它们有可能帮助人类解决气候变化、癌症等全球性难题。这样的发展将极大地推动科技进步,改善人类生活。

个人专属大模型的崛起:想象一下,未来的某一天,每个人的手机里都可能拥有一个私人AI助手。这个助手了解你的喜好,记得你的日程,甚至能模仿你的语气写邮件、回微信。这样的个性化服务将使我们的生活变得更加便捷。

脑机接口与大模型的融合:脑机接口技术的发展,使得大模型与人类的思维直接连接成为可能。未来,你可能只需戴上头盔,心中想到写一篇工作总结”,大模型就能将文字直接投影到屏幕上,实现真正的心想事成。

大模型的多领域应用:大模型就像一个超级智能的多面手,在各个领域都展现出了巨大的潜力和价值。随着技术的不断发展,相信未来大模型还会给我们带来更多的惊喜。赶紧把这篇文章分享给身边的朋友,一起感受大模型的魅力吧!

那么,如何学习AI大模型?

在一线互联网企业工作十余年里,我指导过不少同行后辈,帮助他们得到了学习和成长。我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑。因此,我坚持整理和分享各种AI大模型资料,包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频。在这里插入图片描述

学习阶段包括:

1.大模型系统设计
从大模型系统设计入手,讲解大模型的主要方法。包括模型架构、训练过程、优化策略等,让读者对大模型有一个全面的认识。

在这里插入图片描述

2.大模型提示词工程
通过大模型提示词工程,从Prompts角度入手,更好发挥模型的作用。包括提示词的构造、优化、应用等,让读者学会如何更好地利用大模型。

在这里插入图片描述

3.大模型平台应用开发
借助阿里云PAI平台,构建电商领域虚拟试衣系统。从需求分析、方案设计、到具体实现,详细讲解如何利用大模型构建实际应用。

在这里插入图片描述

4.大模型知识库应用开发
以LangChain框架为例,构建物流行业咨询智能问答系统。包括知识库的构建、问答系统的设计、到实际应用,让读者了解如何利用大模型构建智能问答系统。
在这里插入图片描述

5.大模型微调开发
借助以大健康、新零售、新媒体领域,构建适合当前领域的大模型。包括微调的方法、技巧、到实际应用,让读者学会如何针对特定领域进行大模型的微调。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.SD多模态大模型
以SD多模态大模型为主,搭建文生图小程序案例。从模型选择、到小程序的设计、到实际应用,让读者了解如何利用大模型构建多模态应用。
在这里插入图片描述

7.大模型平台应用与开发
通过星火大模型、文心大模型等成熟大模型,构建大模型行业应用。包括行业需求分析、方案设计、到实际应用,让读者了解如何利用大模型构建行业应用。

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

学成之后的收获👈

全栈工程实现能力:通过学习,你将掌握从前端到后端,从产品经理到设计,再到数据分析等一系列技能,实现全方位的技术提升。

解决实际项目需求:在大数据时代,企业和机构面临海量数据处理的需求。掌握大模型应用开发技能,将使你能够更准确地分析数据,更有效地做出决策,更好地应对各种实际项目挑战。

AI应用开发实战技能:你将学习如何基于大模型和企业数据开发AI应用,包括理论掌握、GPU算力运用、硬件知识、LangChain开发框架应用,以及项目实战经验。此外,你还将学会如何进行Fine-tuning垂直训练大模型,包括数据准备、数据蒸馏和大模型部署等一站式技能。

提升编码能力:大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握将提升你的编码能力和分析能力,使你能够编写更高质量的代码。

学习资源📚

  1. AI大模型学习路线图:为你提供清晰的学习路径,助你系统地掌握AI大模型知识。
  2. 100套AI大模型商业化落地方案:学习如何将AI大模型技术应用于实际商业场景,实现技术的商业化价值。
  3. 100集大模型视频教程:通过视频教程,你将更直观地学习大模型的技术细节和应用方法。
  4. 200本大模型PDF书籍:丰富的书籍资源,供你深入阅读和研究,拓宽你的知识视野。
  5. LLM面试题合集:准备面试,了解大模型领域的常见问题,提升你的面试通过率。
  6. AI产品经理资源合集:为你提供AI产品经理的实用资源,帮助你更好地管理和推广AI产品。

👉获取方式: 😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费

在这里插入图片描述

更多推荐