在现代信息检索领域,检索增强生成(Retrieval-Augmented Generation, RAG)模型结合了信息检索与生成式人工智能的优点,从而在特定场景下提供更为精准和相关的答案。在特定场景下,例如教育等领域,用户通常需要精确且相关的信息来支持决策。传统生成模型虽然在自然语言理解和生成方面表现良好,但在专业知识的准确性上可能有所不足。RAG 模型通过将检索与生成相结合,能有效提升回答的准确性和上下文相关性。本方案为您介绍,如何使用人工智能平台 PAI 构建面向教育场景的大模型 RAG 检索增强解决方案。1.使用 PAI-Designer 构建知识库
您可以参照数据格式要求准备,使用 PAI-Designer 构建相应的检索知识库。2.使用 PAI-LangStudio 进行模版构建
您在 LangStudio 中使用预置的 RAG 模版进行定制化,创建适合具体应用的模板。3.使用 PAI-Langstudio 构建在线应用
LangStudio 提供了用户友好的界面,使用户能够轻松提交查询并获取答案。您可以使用创建好的模板构建符合业务需求的在线应用。- 已开通 PAI 后付费,并创建默认工作空间,详情请参见开通 PAI 并创建默认工作空间。【https://x.sm.cn/8bFzt3P】
- 已创建 OSS 存储空间(Bucket),用于存储训练数据。关于如何创建存储空间,详情请参见控制台创建存储空间。【https://x.sm.cn/3MQVVH7】
- 已开通 Milvus 数据库,用于构建指数库的向量存储,详情请参见快速创建 milvus 实例【https://x.sm.cn/k2ozRD】
在使用 PAI-Designer 构建知识库的过程中,您首先需要根据特定领域的需求,准备并整理好适合的数据集。这些数据往往涉及到该领域的专业内容,需确保数据的准确性和完整性。PAI-Designer 提供了一套便捷的工具和接口,帮助用户轻松导入和管理这些数据。在本解决方案中,我们以医疗为例,展示使用 CSV 作为原始数据,使用 PAI-Designer 构建知识库的的步骤。您需要确保数据格式符合 PAI-Designer 的要求,例如 CSV 格式。可以通过对领域文档进行预处理和格式化,提取其中的关键信息。以下给出教育领域的数据的示例,格式为csv,主要内容为维基百科上的生物课程内容知识点,用户可以根据需要准备自己的数据:
该示例数据集已经放置于公开的 oss bucket 中,可以使用 wget 下载,下载后请用户将数据上传到自己的 oss bucket 中,以供下一步使用:wget https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/solutions/rag/data/%E6%95%99%E8%82%B2csv.zip
1. 前往快速开始 > ModelGallery【https://x.sm.cn/3MQVVH7】,分别按场景选择大语言模型及 Embedding 分类,并部署指定的模型。本文以通义千问2.5-7B-Instruct和bge-large-zh-v1.5 通用向量模型为例进行部署。请务必选择使用指令微调的大语言模型(名称中包含“Chat”或是“Instruct”的模型),Base 模型无法正确遵循用户指令回答问题。
2.前往任务管理【https://x.sm.cn/3MQVVH7】,单击已部署的服务名称,在服务详情页签下单击查看调用信息,分别获取前面部署的 LLM 和 Embedding 模型服务的 VPC 访问地址和 Token,供后续创建连接时使用。
1. 进入LangStudio【https://x.sm.cn/4LWtzJm】,选择工作空间后,在连接管理页签下单击新建连接,进入应用流创建页面。2. 创建通用 LLM 模型服务连接。其中 base_url和api_key 分别对应「2. 部署 LLM 和 Embedding 模型」中 LLM 的 VPC 访问地址和 Token。
同「3. 创建 LLM 链接」,创建通用 Embedding 模型服务连接。其中 base_url 和 api_key 分别对应「2. 部署 LLM 和 Embedding 模型」中 Embedding 模型的 VPC 访问地址和 Token。
同「3. 创建 LLM 链接」,创建 Milvus 数据库连接。- uri:Milvus 实例的访问地址,即
http://<Milvus内网访问地址>
,Milvus 内网访问地址如下:
则 uri 为http://c-b1c5222fba****-internal.milvus.aliyuncs.com
。- token:登录 Milvus 实例的用户名和密码,即
<yourUsername>:<yourPassword>
。 - database:数据库名称,本文使用默认数据库
default。
使用 PAI-Designer 构建知识库索引工作流主要包含以下几个步骤:- 使用索引存储组件,将向量化后的文本存储到向量数据库。
您可以打开 PAI-Designer,选择 LLM 大语言模型中的检索增强生成构建自己的知识库。进入工作流后,您会看到下面的工作流,接下来依次介绍各个模块的作用以及需要填写的参数。
选择存储数据的 OSS Bucket,确保 Bucket 中已经保存好相关的文档数据(可以为 pdf/csv 格式)。对输入的文件进行分块处理,填入块大小和块重叠大小的参数,并选择 OSS Bucket 保存分块完成的数据。
使用 embedding 模型,对分块完成的数据进行向量化并存储,便于后续的检索操作。
使用先前创建的 milvus 数据库,存储已经生成的文档向量。其中向量数据库选择自己创建的数据库,为存储的文档向量取一个名称,填入集合/表名称中;相似度度量可以选择点积、余弦、欧几里得的方式;并选择一个 OSS Bucket 保存 RAG 的索引。
PAI-LangStudio 是一个人工智能应用的开发平台,采用直观的交互式环境,简化了企业级大模型应用的开发流程。在开发和设计大模型应用时,可以使用 PAI-LangStudio 进行模版构建。此外,PAI-LangStudio 配合一键部署 EAS,使得高质量应用得以迅速、无缝地部署至生产环境。以下介绍使用 PAI-LangStudio 进行模版构建的过程
1. 进入 LangStudio【https://x.sm.cn/4LWtzJm】,选择工作空间后,在应用流页签下单击新建应用流,进入应用流创建页面。2. 选择从模板新建,并在选择 RAG 模板后填入应用流名称,在 OSS Bucket 中选择存储应用流的路径。
创建应用流后会进入应用流详情界面,左图中有四个节点,分别对应了不同的功能。- rewrite_question 节点通过对用户问题的重写以提升问题质量,其中需要用户在基础配置中选择 connection为「前置准备3. 创建 LLM 连接」中创建好的连接。
- retrieve 节点通过向量数据库召回和问题相关的文档内容,Vector Store 需要用户选择「前置准备5. 创建向量数据库链接」中创建好的数据库以及在 index_name 中填入使用 「PAI-Designer 构建知识库-RAG 索引构建」中填入的集合/表名;Embedding Model 中需要用户选择「前置准备4. 创建 Embedding 模型服务连接」中创建的连接。
3.threshold_filter 节点对 retrieve 节点召回的文档进行过滤,填入的 threshold 值是对召回文档和查询问题相似度过滤的条件,threshold 越大,则过滤掉越多召回的相似度低的文档。
4.generate_answer 节点根据召回和过滤后的文档,回答问题。用户需要在基础配置中选择「前置准备3. 创建 LLM 连接」中创建好的 LLM 连接。
- 配置完上述流程后,点击启动运行时,并选择机型,配置专有网络链接,部署 RAG 应用。
2.运行时启动后,点击对话按钮,在左侧对话框中输入想问的问题,与大语言模型开始交流对话。
以下给出教育领域,使用和不使用 RAG 解决特定任务的案例对比。红色部分表示大模型回答有事实性错误,或者不够具体精确,绿色部分表示使用 RAG 得到的对应正确回复。 | 减数分裂是细胞分裂的一种特殊形式,主要发生在生殖细胞的形成过程中,它能够将一个二倍体细胞转化为四个单倍体的生殖细胞。减数分裂过程中染色体的数量会减半,从而保证后代的染色体数目与亲代相同。这一过程对于遗传多样性的维持和生物种群的稳定至关重要。 科学家们对减数分裂的研究始于19世纪末,但其确切机制直到20世纪才逐渐被揭示。以下是一些关键的发现过程: 1.1876年,Werner von Boveri:首次注意到染色体在减数分裂中的行为,并提出染色体是遗传物质的载体,为后来的研究奠定了基础。 2.1883年,Edouard Van Beneden:通过研究果蝇的卵母细胞,首次观察到了染色体在减数分裂过程中的分离现象,这是减数分裂的一个重要特征。 3.1890年,Theodor Boveri:进一步研究了海胆卵母细胞的减数分裂过程,发现了染色体的独立性,并提出了染色体携带遗传信息的概念。 4.1902年,Theodor Boveri 和 Walter Sutton:分别独立地提出了染色体理论,即染色体在遗传中起着重要作用,这为遗传学的发展提供了重要的理论基础。 5.1910年,Thomas Hunt Morgan:利用果蝇作为实验材料,进行了大量的遗传学实验,证明了基因位于染色体上,并且在减数分裂过程中,基因随染色体的行为而行为,这一发现极大地推动了遗传学领域的发展。 620世纪中期:随着分子生物学技术的发展,科学家们开始探索减数分裂的具体分子机制,包括同源重组、交叉互换等过程。 综上所述,减数分裂的研究是一个长期且复杂的过程,涉及多位科学家的贡献。从最初的观察到后来深入的分子机制研究,这一过程反映了生物学研究从宏观到微观的发展趋势。
|
| 减数分裂现象的发现是一个渐进的过程,涉及到多位科学家的贡献。以下是减数分裂被发现和理解的过程概述: 1.奥斯卡·赫特维希(Oscar Hertwig):1876年,赫特维希在海胆的卵细胞中发现了并描述了减数分裂的现象。他在观察中注意到,海胆卵细胞内的染色体数量在分裂过程中减少了一半,这一现象后来被称为减数分裂。 2.爱德华·凡·贝内登(Edouard Van Beneden):1883年,比利时动物学家爱德华·凡·贝内登在蛔虫卵中观察到类似的现象,并进一步在染色体级别上描述了减数分裂的过程。 3.奥古斯特·魏斯曼(August Weismann):1890年,魏斯曼指出,若要在进化过程中维持细胞中染色体数量的稳定性,需要将双倍体细胞转变为四个单倍体细胞的过程。他的这一发现对于理解减数分裂在遗传学中的重要性起到了关键作用。 4.J.B. Farmer 和 J.E.S. Moore:1905年,这两位科学家首次使用“meiosis”(减数分裂)一词来命名这一现象,这个词来源于希腊文的“μείωσις”(意为“减少”)。自此,“meiosis”成为了减数分裂的科学名称。通过这些科学家的研究和发现,人们逐渐认识到减数分裂在生命科学中的重要地位,它对于维持物种染色体数目恒定和遗传多样性起着至关重要的作用。
|
问题:请指出下面关于光合作用起源论述的错误点。
论述:地球上的光合作用起源于太古宙早期,当时的自养生物主要依靠叶绿素作为光捕获色素的中心,专注于吸收可见光谱中的绿色波长。通过这一过程,它们能够分解水分子固定二氧化碳,将其转化为碳水化合物。在这一代谢过程中,氧气作为副产品被释放出来。作为生态系统的基石,光合自养生物通过产生有机物质,为异养生物(包括消费者和分解者)提供了食物来源,进而通过食物链将能量传递给生态系统中更高营养级的其他生物。
| 该论述中存在一些不准确的地方: 1.叶绿素吸收光谱:叶绿素主要吸收蓝光和红光,而对绿色光反射较多,因此植物叶片呈现绿色,并非主要吸收绿色波长。这一点在论述中表述有误。 2.叶绿素的多样性:除了叶绿素a外,还存在多种其他类型的叶绿素(如叶绿素b、叶绿素c等),以及藻胆素(如藻蓝素、细菌紫红质等),它们共同参与了不同环境下的光捕获。论述过于简化,忽略了叶绿素的多样性和复杂性。 3.光合作用的起源时间:虽然光合作用被认为起源于太古宙早期,但具体的起始时间仍有争议,最早的证据可能来自约35亿年前的微生物化石。论述中提到“太古宙早期”是合理的,但具体的时间点需要更精确。 4.光合作用的起源方式:关于光合作用的起源,目前科学界普遍接受的是“原始蓝藻起源说”,即最早的光合生物是蓝细菌。然而,论述中直接指出“自养生物主要依靠叶绿素作为光捕获色素的中心”较为笼统,没有明确指出是哪一类生物首先进行了光合作用。 5.光合作用的产物:光合作用产生的主要产物是葡萄糖等碳水化合物,但论述中提到的“碳水化合物”泛指所有含碳的有机物,不够精确。 综上所述,该论述在细节上存在一定的简化和不准确之处。
|
| 关于光合作用起源的部分,论述中存在以下几个错误或需要澄清的地方: 1.时间起点的描述: 论述提到“地球上的产氧光合作用始于太古宙中期”,这可能不够准确。实际上,最新的科学研究表明,产氧光合作用(oxygenic photosynthesis)可能始于大约24亿年前的古元古代,而非太古宙中期。太古宙主要涵盖了38亿年到25亿年前的地质年代。 2.光合自营者的具体描述: 论述中说“进行此类光合作用的自营生物(即光合自营者,比如各种植物、绿藻、红藻和蓝绿菌)主要依赖卟啉衍生物——叶绿素作为反应中心的感光色素”,这在时间上是不准确的。叶绿素主要出现在更晚近的生物中,最早的光合作用生物并不一定使用叶绿素。例如,光合作用最早可能是在蓝细菌中起源,它们使用的是不同的感光色素,比如细菌叶绿素。 3.光合作用的进化路径: 论述提到“以视黄醛为基础的光合作用很可能在古太古代就已经出现,是地球史上最早的一种利用日光生产有机物的生化现象”,这与目前的理论存在冲突。目前的研究普遍认为,最早的光合作用可能依赖的是类胡萝卜素等其他色素,而不是视黄醛。视黄醛为基础的光合作用主要见于后来的一些微生物,如某些紫细菌。 综上所述,上述论述在时间描述、参与生物种类以及具体的进化路径等方面存在一定的不准确之处。为了更准确地描述光合作用的起源,应当参考最新的科学研究成果。
|