作者:ruby丨来源:ruby的数据漫谈 本文经授权转载发布
摘要:随着人工智能技术的飞速发展,AI大模型已经成为推动各行各业技术革新的关键力量。本文将深入探讨AI大模型的核心技术栈的构建,以及不同技术组件的关键作用。
AI大模型应用的核心技术栈
各组件的关键作用
基于大模型的应用和普通应用的区别
01
—
AI大模型应用的核心技术栈
为了开发一个AI大模型的应用,我们需要哪些必要的组件来完成相关开发了,下图是AI大模型的应用的核心技术栈。
核心技术栈中主要包含的内容是大模型管理(通用大模型、领域私有化的微调大模型、工具型大模型)。微调的数据仓库,以及后期反馈的数据存储到微调数据仓库。提示词工程管理常见的提示词内容,湖仓一体为存储原始数据和向量数据的地方。而开发的智能体的应用则包含记忆功能,工具库,text-to-sql,AI agent 和RAG.后面详细介绍每一部分在整体应用中的作用。如果从使用的业务流程上来介绍一个完整的智能应用,如下图所示:
1、将文档数据,图片数据的元数据信息,文章内容总结、文章段落等向量化
2、将以上信息全部存储到向量数据库中,例如ES中
3、用户发起提问
4、智能Agent调用大模型
5、大模型语以理解后,通过调用合适的提示词工程形成一个完善的提示词,并进行参数格式化。
6、如果有专业领域知识内容,则进入到向量数据库中进行匹配。匹配内容返回到agent中。
7、AIagent 将提示词工程拆分成多个子任务,可能子任务需要调用私有模型或者插件
8、插件即为集成的各种工具API,便于完成整体的任务。
9、所有任务完成之后返回到agent中,agent将结果返回给用户。
通用大语言模型(参数> 100B)
领域大语言模型(参数10~70B)
工具类模型(参数<10B)
在人工智能领域,"大模型"通常指的是具有大量参数的复杂模型,它们能够处理和理解大量数据,并在特定任务上表现出色。根据它们的应用范围和功能,大模型可以被分为以下几种类型:
通用大模型(General-Purpose Large Models):
这些模型设计得足够灵活,能够处理多种类型的任务,不局限于特定的领域或应用。例如,一个通用的语言模型可以用于文本生成、翻译、摘要、问答等多种自然语言处理任务。
领域大模型(Domain-Specific Large Models):
领域大模型是针对特定领域或行业定制的模型,它们在特定类型的数据和任务上进行了优化。例如,医疗领域的大模型可能专门用于理解医学文献、辅助诊断或患者记录分析。
工具大模型(Tool-Oriented Large Models):
工具大模型专注于提供特定的功能或服务,它们通常被设计为与其他系统或应用程序集成,以增强或自动化特定的工作流程。例如,一个图像识别工具大模型可能被集成到电子商务平台中,用于自动分类商品图片。
通用大模型的优势在于它们的灵活性和广泛的适用性,但可能需要针对特定任务进行微调以获得最佳性能。
领域大模型的优势在于它们在特定领域的专业性和高效性,但可能不如通用模型那样灵活。
工具大模型的优势在于它们能够提供高度专业化的服务,并且易于集成到现有的系统和工作流程中。
每种类型的大模型都有其特定的优势和应用场景:
02
—
关键步骤的关键作用
提示词工程(Prompt Engineering)是一种在人工智能领域,特别是在自然语言处理(NLP)中使用的技术,它涉及到设计和优化用于激发或引导AI模型输出特定类型回答的提示或问题。在基于Transformer的模型如GPT(生成式预训练转换器)中,提示词工程尤为重要,因为这些模型通常通过大量的文本数据进行预训练,能够根据输入的提示生成文本。
提示词工程的作用
引导回答:通过精确的提示词,可以引导AI模型提供更加准确和相关的回答。 增强理解:帮助模型更好地理解用户的查询意图,尤其是在复杂的查询中。 控制输出:通过特定的提示词,可以控制AI生成文本的风格、格式或内容方向。 提升效率:优化的提示词可以减少生成无关或冗余信息的概率,提高交互效率。 适应性:使AI模型能够适应不同的任务和领域,提高其应用的灵活性。
提示词工程的案例
案例背景
问题
提示词工程的步骤
分析需求:确定客户在投诉时最关心的几个方面,例如产品型号、故障现象、购买时间等。 设计提示词:根据需求设计一系列提示词,例如:
“请告诉我您的产品型号和遇到的具体问题。” “您是在什么情况下发现产品出现故障的?” “您购买产品有多久了?”
案例结果
“我很抱歉听到您的产品出现了问题。为了更好地帮助您,请告诉我您的产品型号和遇到的具体问题。您是在什么情况下发现产品出现故障的?您购买产品有多久了?”
RAG技术的关键优势:
提升内容准确性:通过整合外部权威数据,RAG显著提高了内容生成的准确性,减少了猜测和错误。 增强内容丰富度:引入的外部信息丰富了模型的知识背景,使得生成的内容更加全面和深入。 提高透明度和可解释性:生成的内容可以明确追溯到具体的信息源,增强了内容的透明度和可解释性。 保护数据隐私:基础模型仅调用相关数据,不吸收数据成为其固有知识,保护了数据隐私和安全性。 快速提升特定领域表现:RAG能够在不改变大模型结构的前提下,快速提升模型在特定领域的应用效果。
RAG技术的挑战:
系统复杂度提升:RAG的引入增加了系统的复杂性,包括知识库的建设和维护,以及检索效率的优化。 成本和技术门槛提高:由于对检索系统的性能和检索信息质量的依赖,RAG相比传统的提示词工程,可能会带来更高的成本和技术门槛。 性能优化要求:检索过程可能会影响模型的响应速度,对系统的性能优化提出了更高的要求。
智能体一般具备四个能力:
1)记忆能力:智能体AI Agent的长期记忆能力和短期记忆能力是指其存储和处理信息的两种不同方式:
长期记忆能力:
长期记忆能力是指AI Agent存储信息的持久性能力。这种记忆通常用于存储用户偏好、历史交互、知识库和学习到的模式等信息。长期记忆的信息可以跨多个会话或任务持续存在,为AI Agent提供历史背景和上下文,使其能够提供个性化的服务和做出更加合理的决策。
短期记忆能力:
短期记忆能力则是指AI Agent在处理当前任务或交互时临时存储信息的能力。这种记忆通常用于存储当前任务的上下文信息,如对话中的最近几个请求或指令、正在进行的任务状态等。短期记忆的信息通常在任务完成后就会被清除或更新,以适应新的任务需求。
这两种记忆能力共同支持AI Agent的智能行为:
上下文理解:长期记忆帮助AI Agent理解用户的历史偏好和行为模式,而短期记忆则帮助它理解当前的交互上下文。
个性化服务:长期记忆使AI Agent能够提供个性化的服务,因为它能够记住用户的特定需求和喜好。
任务执行:短期记忆使AI Agent能够在执行复杂任务时保持对当前状态的跟踪,从而有效地进行多步骤操作。
例如,如果一个AI Agent被用来帮助用户管理日程,长期记忆可能存储用户过去的日程安排和偏好设置,而短期记忆则可能存储用户正在进行的日程安排或最近的操作。这样,AI Agent就能够根据用户的长期偏好来推荐日程安排,同时利用短期记忆来确保当前的任务得到正确执行。
2)规划能力
AI Agent的规划能力是指其能够制定和执行一系列有序步骤来实现特定目标的能力。这种能力通常涉及以下几个关键方面:
1. 目标设定:
- AI Agent首先需要识别或接收一个目标,这可能是由用户指定的,或者是系统内部定义的。
2. 问题分解:
- 将复杂目标分解为更小、更易于管理和执行的子目标或任务。
3. 策略生成:
- 确定达成每个子目标所需的策略和方法。这可能包括选择不同的行动方案、资源分配或行动顺序。
4. 资源评估:
- 评估可用资源以及如何有效地利用这些资源来完成规划的任务。
5. 行动序列制定:
- 根据策略和资源评估,制定一系列具体的行动步骤。
6. 执行监控:
- 执行规划的行动序列,并监控执行过程以确保任务按计划进行。
7. 动态调整:
- 在执行过程中,根据环境变化或反馈信息对计划进行动态调整。
8. 结果评估:
- 在任务完成后,评估结果是否符合预期目标,并进行必要的总结和学习。
AI Agent的规划能力可以应用于多种场景,例如:
- **日常任务管理**:帮助用户规划一天的工作日程,包括会议、工作和休息时间。
- **旅行计划**:根据用户偏好和时间安排,规划旅行路线、交通方式和停留点。
- **项目管理**:在企业环境中,帮助团队规划项目里程碑、任务分配和进度跟踪。
AI Agent的规划能力通常基于当前的目标以及当前的资源情况(例如说具备的功能能力等)执行完成目标所需要的步骤,并且通过完成过程中的结果进行调整后续的计划,通过这种综合能力,AI Agent能够提供高效、自动化的服务,帮助用户和组织达成目标。
3)工具能力,AI Agent的工具能力,指的是它能够整合和使用各种外部工具、服务和API(应用程序编程接口),以增强其功能并满足多样化的场景需求。这种能力使得AI Agent不仅仅局限于其内置的智能或大模型的能力,而是能够扩展其操作范围和应用场景。以下是AI Agent工具能力的几大特点:
1. 多样性接入:
- AI Agent可以接入多种类型的工具和服务,包括但不限于数据库、搜索引擎、社交媒体平台、在线支付系统等。
2. 场景适应性:
- 根据不同的应用场景和用户需求,AI Agent能够选择和配置相应的工具或服务。
3. 配置灵活性:
- 支持通过配置文件或用户界面来设定和调整接入的工具和服务,以适应不同的任务和环境。
4. 自动化集成:
- AI Agent可以自动发现和集成新的工具或服务,无需人工干预。
5. API调用:
- 通过调用API,AI Agent能够与外部系统进行交互,获取数据或执行操作。
6. 智能协调:
- AI Agent能够智能地协调不同工具和服务的使用,以实现最优的任务执行效果。
7. 用户定制:
- 用户可以根据自己的需求定制AI Agent的工具能力,选择需要集成的特定服务。
例如,如果一个AI Agent的任务是帮助用户管理在线购物,它可能需要接入以下工具能力:
- 产品搜索API:用于搜索不同电商平台上的商品信息。
- 价格比较工具:帮助用户比较不同商品的价格和优惠。
- 库存检查服务:确保所选商品有货。
- 支付接口:完成在线支付。
- 物流跟踪系统:跟踪订单的配送状态。
通过支持配置的方式接入工具能力,AI Agent可以根据用户的具体需求和偏好,灵活地选择和使用不同的工具和服务,提供个性化和高效的解决方案。这种能力大大增强了AI Agent的实用性和灵活性。
4)行动能力,AI Agent的行动能力是指其能够根据决策结果执行具体动作或任务的能力。这种能力是AI Agent智能行为的重要组成部分,涉及到从理解指令到实际执行的全过程。以下是AI Agent行动能力的几个关键方面:
03
—
基于AI大模型应用和普通应用的区别
基于AI大模型的应用和传统的应用区别主要体现软件的应用架构,思维方式,软件和人的协作方式,以及特征上区别。
1、软件的架构方式的区别、传统软件的架构过程都是面向生产过程,例如ERP\WMS\OA\MOM等软件,包括数据中台产品也是面向开发过程,例如数据中台产品按照数据加工流程分为数据集成,数据开发,数据服务,本质上是面向过程,通过把一系列的动作拆分成不同的操作步骤,这些操作步骤固化到软件上,形成标准化通用化的功能,则形成了软件产品,而智能化产品是面向目标的,例如说开发招聘助手,可以帮忙提高招聘效率。那么软件界面界面可能直接呈现的是筛选过后符合要求的简历,并且推送到相关人员查看,这里没有搜集简历,筛选简历的过程了,软件界面呈现的是最终结果,过程已经全部自动化了。
2、软件开发方式思维区别、传统软件开发采用软件工程思维,而智能应用开发采用AI agent 工程思维。
软件工程思维是一种系统化和结构化的方法论,它将软件开发视为一个工程学科,并应用工程原则和实践来设计、开发、测试、部署和维护软件系统。这种思维方式强调以下几个关键方面:
1. 系统化方法:软件工程思维要求将软件项目视为一个整体系统,考虑所有相关的组件和子系统,以及它们之间的交互。
2. 需求分析:在软件开发之前,需要进行详细的需求分析,以确保软件满足用户和业务的需求。这包括功能性需求和非功能性需求。
3. 设计:设计阶段涉及到软件架构、组件设计和接口设计。软件工程思维强调模块化设计和可扩展性,以便于维护和升级。
4. 编码:编码阶段需要遵循编码标准和最佳实践,确保代码的可读性、可维护性和可测试性。
5. 测试:软件工程思维强调全面的测试,包括单元测试、集成测试、系统测试和验收测试,以确保软件的质量和可靠性。
6. 配置管理:通过版本控制和变更管理,确保软件的各个版本能够被有效管理和追踪。