- 作者:老汪软件技巧
- 发表时间:2024-12-05 15:07
- 浏览量:
概述
在现代信息检索领域,检索增强生成(Retrieval-Augmented Generation, RAG)模型结合了信息检索与生成式人工智能的优点,从而在特定场景下提供更为精准和相关的答案。在特定场景下,例如金融等领域,用户通常需要精确且相关的信息来支持决策。传统生成模型虽然在自然语言理解和生成方面表现良好,但在专业知识的准确性上可能有所不足。RAG 模型通过将检索与生成相结合,能有效提升回答的准确性和上下文相关性。本方案为您介绍,如何使用人工智能平台 PAI 构建面向金融场景的大模型 RAG 检索增强解决方案。
使用 PAI-Designer 构建知识库
您可以参照数据格式要求准备,使用 PAI-Designer 构建相应的检索知识库。
使用 PAI-LangStudio 进行模版构建
您在 LangStudio 中使用预置的 RAG 模版进行定制化,创建适合具体应用的模板。
使用 PAI-Langstudio 构建在线应用
LangStudio 提供了用户友好的界面,使用户能够轻松提交查询并获取答案。您可以使用创建好的模板构建符合业务需求的在线应用。
前置准备
在开始执行操作前,请确认您已完成以下准备工作:
准备数据集
在使用 PAI-Designer 构建知识库的过程中,您首先需要根据金融领域的需求,准备并整理好适合的数据集。这些数据往往涉及到该领域的专业内容,需确保数据的准确性和完整性。PAI-Designer 提供了一套便捷的工具和接口,帮助用户轻松导入和管理这些数据。在本解决方案中,我们以金融为例,展示使用 PDF 作为原始数据,使用 PAI-Designer 构建知识库的的步骤。
您需要确保数据格式符合 PAI-Designer 的要求,例如 PDF 格式。可以通过对领域文档进行预处理和格式化,提取其中的关键信息。
数据示例
以下给出金融领域的数据的示例,格式为 pdf,主要内容为公开新闻网站上的新闻报道,用户可以根据需要准备自己的数据:
该示例数据集已经放置于公开的 oss bucket 中,可以使用 wget 下载,下载后请用户将数据上传到自己的 oss bucket 中,以供下一步使用:
wget https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/solutions/rag/data/%E9%87%91%E8%9E%8D%E6%96%B0%E9%97%BBpdf.zip
部署 LLM 和 Embedding 模型前往,分别按场景选择大语言模型及 Embedding 分类,并部署指定的模型。本文以通义千问2.5-7B-Instruct和bge-large-zh-v1.5 通用向量模型为例进行部署。请务必选择使用指令微调的大语言模型(名称中包含“Chat”或是“Instruct”的模型),Base 模型无法正确遵循用户指令回答问题。
前往,单击已部署的服务名称,在服务详情页签下单击查看调用信息,分别获取前面部署的 LLM 和 Embedding 模型服务的 VPC 访问地址和 Token,供后续创建连接时使用。
创建 LLM 链接进入 ,选择工作空间后,在连接管理页签下单击新建连接,进入应用流创建页面。创建通用 LLM 模型服务连接。其中 base_url 和 api_key 分别对应【1. 部署LLM和Embedding模型**中】** LLM 的 VPC 访问地址和 Token。
创建 Embedding 模型服务连接
同【3. 创建 LLM 链接】,创建通用 Embedding 模型服务连接。其中 base_url 和 api_key 分别对应【2. 部署 LLM 和 Embedding 模型】中 Embedding 模型的 VPC 访问地址和 Token。
创建向量数据库连接
同【3. 创建 LLM 链接】,创建 Milvus 数据库连接。
关键参数说明:
则 uri 为****。
使用 PAI-Designer 构建知识库
使用 PAI-Designer 构建知识库索引工作流主要包含以下几个步骤:
使用数据源读取组件,读取 OSS 中的数据。使用文本解析分块组件,对文本进行分块。使用向量生成组件,对分块后的文本进行向量化。使用索引存储组件,将向量化后的文本存储到向量数据库。
PAI-Designer 工作流串联示例
您可以打开 PAI-Designer,选择 LLM 大语言模型中的检索增强生成构建自己的知识库。
进入工作流后,您会看到下面的工作流,接下来依次介绍各个模块的作用以及需要填写的参数。
RAG 读取 OSS 数据
选择存储数据的 OSS Bucket,确保 Bucket 中已经保存好相关的文档数据(可以为 pdf/csv 格式)。
RAG 文本解析分块
对输入的文件进行分块处理,填入块大小和块重叠大小的参数,并选择 OSS Bucket 保存分块完成的数据。
RAG 文本向量生成
使用 embedding 模型,对分块完成的数据进行向量化并存储,便于后续的检索操作。
RAG 索引构建
使用先前创建的 milvus 数据库,存储已经生成的文档向量。其中向量数据库选择自己创建的数据库,为存储的文档向量取一个名称,填入集合/表名称中;相似度度量可以选择点积、余弦、欧几里得的方式;并选择一个 OSS Bucket 保存 RAG 的索引。
使用 PAI-LangStudio 进行模版构建
PAI-LangStudio 是一个人工智能应用的开发平台,采用直观的交互式环境,简化了企业级大模型应用的开发流程。在开发和设计大模型应用时,可以使用 PAI-LangStudio 进行模版构建。此外,PAI-LangStudio 配合一键部署EAS,使得高质量应用得以迅速、无缝地部署至生产环境。以下介绍使用 PAI-LangStudio 进行模版构建的过程
新建应用流进入 ,选择工作空间后,在应用流页签下单击新建应用流,进入应用流创建页面。选择从模板新建,并在选择 RAG 模板后填入应用流名称,在 OSS Bucket 中选择存储应用流的路径。
配置应用流
创建应用流后会进入应用流详情界面,左图中有四个节点,分别对应了不同的功能。
rewrite_question 节点通过对用户问题的重写以提升问题质量,其中需要用户在基础配置中选择 connection 为**【前置准备3. 创建 LLM 连接】**中创建好的连接。
retrieve 节点通过向量数据库召回和问题相关的文档内容,Vector Store 需要用户选择**【前置准备5. 创建向量数据库】**中创建好的数据库以及在 index_name 中填入使用 **【PAI-Designer 构建知识库-RAG 索引构建】中填入的集合/表名;Embedding Model 中需要用户选择【前置准备4. 创建Embedding模型服务连接】**中创建的连接。
threshold_filter 节点对 retrieve 节点召回的文档进行过滤,填入的 threshold 值是对召回文档和查询问题相似度过滤的条件,threshold 越大,则过滤掉越多召回的相似度低的文档。
generate_answer 节点根据召回和过滤后的文档,回答问题。用户需要在基础配置中选择**【前置准备3. 创建LLM连接】**中创建好的 LLM 连接。
使用 PAI-Langstudio 构建在线应用配置完上述流程后,点击启动运行时,并选择机型,配置专有网络链接,部署 RAG 应用。
运行时启动后,点击对话按钮,在左侧对话框中输入想问的问题,与大语言模型开始交流对话。
案例对比
以下给出金融和医疗两个领域,使用和不使用 RAG 解决特定任务的案例对比。红色部分表示大模型回答有事实性错误,或者不够具体精确,绿色部分表示使用 RAG 得到的对应正确回复。
任务一:投资风险分析
问题:请根据最新的新闻报道,分析美国科技行业目前投资风险性如何,是否存在泡沫,给出是或否的具体回答。
通义千问2.5-7B-Instruct截至2023年12月,关于美国科技行业的投资风险性和是否存在泡沫的问题,需要结合多个因素进行综合分析。由于新闻报道会随时间不断更新,以下内容基于当前可获得的信息进行分析:
美国科技行业投资风险性 1. 市场波动:近期,美国股市整体表现较为波动,科技股也不例外。虽然科技行业在过去几年中经历了显著的增长,但市场波动性增加可能意味着更高的投资风险。 2. 宏观经济环境:全球经济环境的变化,如利率调整、通货膨胀压力以及地缘政治不确定性等,都可能对科技行业产生影响,增加投资风险。 3. 竞争格局:科技行业竞争激烈,新进入者不断涌现,技术迭代速度加快,这要求企业持续创新以保持竞争力。对于投资者而言,选择那些具有强大创新能力和发展潜力的公司尤为重要。 是否存在泡沫 判断是否存在泡沫通常依赖于多种指标,包括但不限于估值水平、资金流入情况、企业基本面等。 目前来看: 1. 高估值:一些大型科技公司的股价已经达到了历史高位,市盈率(P/E比率)相对较高。这引发了关于是否存在估值泡沫的讨论。 2. 资金流入:尽管面临一定的经济挑战,但科技领域仍然吸引了大量资金投入,特别是通过风险投资和IPO(首次公开募股)。这种持续的资金流入可能表明市场对未来增长的乐观预期。 3. 基本面:从基本面角度看,许多科技公司在研发、市场份额和技术领先地位方面表现出色,为未来增长奠定了基础。
综上所述,根据当前信息,美国科技行业确实存在较高的投资风险,并且可能存在泡沫的风险。然而,是否构成泡沫还需要更深入的数据分析和市场观察。对于投资者而言,采取谨慎的投资策略,多元化投资组合,密切关注市场动态,是非常重要的。
通义千问2.5-7B-Instruct
+ RAG
是的,根据最新的新闻报道,美国科技行业存在泡沫的可能性较大。
主要依据如下:
1. 高估值:许多科技公司的股价在历史高位,市场对这些公司未来增长潜力的乐观预期被高估,一旦市场情绪发生变化,可能导致股价大幅下跌。
2. 资本支出激增:科技公司在人工智能、加密货币等领域投入大量资本,这些高风险领域的回报不确定性高,增加了财务压力。
3. 市场波动:最近的裁员潮和股价波动显示市场对科技行业的重新评估,这种波动是市场泡沫的一个重要信号。
4. 政策不确定性:全球范围内的监管政策变化对科技公司产生影响,增加了市场不确定性,可能进一步推动泡沫破裂。
5. 经济环境:当前全球经济环境的不确定性,包括利率上升和经济增长放缓,这些因素都可能对科技行业产生负面影响。
综上所述,美国科技行业当前确实存在泡沫的可能性较大。投资者在进行相关投资时应保持警惕,并采取相应的风险管理措施。
任务二:行业趋势分析
问题:请根据最新的新闻报道,给出房地产相关行业是否乐观的判断。
通义千问2.5-7B-Instruct要给出房地产相关行业的最新判断,需要具体参考最新的新闻报道和数据。不过,我可以提供一个基于当前趋势的一般性分析框架,帮助您理解如何评估房地产行业的前景。
1. 宏观经济环境:经济增长、通货膨胀率、利率水平等宏观经济因素对房地产市场有直接影响。例如,经济增长通常会带动房地产需求的增长,而高通胀和利率上升可能会抑制购房需求。
2. 政策调控:政府对于房地产市场的调控措施,如限购、限贷政策,以及土地供应政策的变化,都会影响市场的供需关系和投资氛围。
3. 市场需求:城镇化进程、人口结构变化、居民收入水平等因素也会影响房地产市场的长期需求。
4. 技术进步与创新:绿色建筑、智能家居等新技术的应用可能改变房地产产品的形式和功能,影响消费者的购买决策。
5. 国际环境:全球经济形势、国际贸易状况等国际因素也可能间接影响国内房地产市场。
6. 市场信心:投资者和消费者的市场信心是影响房地产市场的重要因素之一。如果市场普遍认为房地产价格将上涨,可能会吸引更多投资;反之亦然。
由于我无法访问最新的新闻报道,建议您查阅最近的经济报告、官方统计数据以及专业分析机构发布的研究报告,以获得更准确的信息来判断房地产相关行业的前景。同时,也可以关注政府发布的相关政策文件,了解最新的政策导向和监管措施。
通义千问2.5-7B-Instruct
+ RAG
根据最新的新闻报道,房地产相关行业目前展现出一定的乐观迹象,但仍面临一些挑战。基于这些信息,以下是对房地产行业股票投资策略的具体分析和建议:
投资策略建议