构建AI大模型应用技术栈有哪些?

科技   2024-10-25 20:30   中国  

作者: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(生成式预训练转换器)中,提示词工程尤为重要,因为这些模型通常通过大量的文本数据进行预训练,能够根据输入的提示生成文本。

提示词工程(Prompt Engineering)是一种在人工智能领域,特别是在自然语言处理(NLP)中使用的技术,它涉及到设计和优化用于激发或引导AI模型输出特定类型回答的提示或问题。在基于Transformer的模型如GPT(生成式预训练转换器)中,提示词工程尤为重要,因为这些模型通常通过大量的文本数据进行预训练,能够根据输入的提示生成文本。


提示词工程的作用

  1. 引导回答通过精确的提示词,可以引导AI模型提供更加准确和相关的回答。
  2. 增强理解帮助模型更好地理解用户的查询意图,尤其是在复杂的查询中。
  3. 控制输出通过特定的提示词,可以控制AI生成文本的风格、格式或内容方向。
  4. 提升效率优化的提示词可以减少生成无关或冗余信息的概率,提高交互效率。
  5. 适应性使AI模型能够适应不同的任务和领域,提高其应用的灵活性。

提示词工程的案例

案例背景

假设我们有一个基于GPT模型的AI聊天机器人,用于提供客户服务。我们希望优化机器人的回答质量,特别是在处理客户投诉时。

问题

在没有优化提示词的情况下,如果客户输入“我的产品坏了”,机器人可能会回答一些通用的解决方案,但这些解决方案可能并不完全适用于客户的具体问题。

提示词工程的步骤

  1. 分析需求:确定客户在投诉时最关心的几个方面,例如产品型号、故障现象、购买时间等。
  2. 设计提示词:根据需求设计一系列提示词,例如:
  • “请告诉我您的产品型号和遇到的具体问题。”
  • “您是在什么情况下发现产品出现故障的?”
  • “您购买产品有多久了?”
  • 集成提示词:将这些提示词集成到聊天机器人的查询处理流程中。
  • 测试与优化:通过与用户的交互测试机器人的回答效果,并根据反馈不断优化提示词。
  • 案例结果

    通过使用优化后的提示词,当客户输入“我的产品坏了”,机器人现在可以回答:
    • “我很抱歉听到您的产品出现了问题。为了更好地帮助您,请告诉我您的产品型号和遇到的具体问题。您是在什么情况下发现产品出现故障的?您购买产品有多久了?”

    这种回答不仅表现出对客户问题的关心,而且通过获取更多信息,能够提供更加个性化和准确的解决方案。

    提示词工程是提高AI模型在特定任务上性能的有效手段。通过精心设计的提示词,可以显著提升AI系统的交互质量和用户体验。


    RGA检索增强生成

    RAG技术是一种先进的人工智能解决方案,它通过从外部知识库中检索关键信息,并将其作为上下文输入提供给大型语言模型,以此增强生成内容的质量和深度。这种技术融合了信息检索和文本生成的双重优势,特别适合那些希望在特定业务场景中提供精准服务的企业。

    RAG技术的关键优势:

    • 提升内容准确性:通过整合外部权威数据,RAG显著提高了内容生成的准确性,减少了猜测和错误。
    • 增强内容丰富度:引入的外部信息丰富了模型的知识背景,使得生成的内容更加全面和深入。
    • 提高透明度和可解释性:生成的内容可以明确追溯到具体的信息源,增强了内容的透明度和可解释性。
    • 保护数据隐私:基础模型仅调用相关数据,不吸收数据成为其固有知识,保护了数据隐私和安全性。
    • 快速提升特定领域表现:RAG能够在不改变大模型结构的前提下,快速提升模型在特定领域的应用效果。

    RAG技术的挑战:

    • 系统复杂度提升:RAG的引入增加了系统的复杂性,包括知识库的建设和维护,以及检索效率的优化。
    • 成本和技术门槛提高:由于对检索系统的性能和检索信息质量的依赖,RAG相比传统的提示词工程,可能会带来更高的成本和技术门槛。
    • 性能优化要求:检索过程可能会影响模型的响应速度,对系统的性能优化提出了更高的要求。

    微调
    微调是一种技术,它在预训练的大型语言模型上进行额外的训练,以适应特定的任务或领域。通过使用特定任务的数据集,微调可以调整模型的部分或全部参数,从而将特定领域的知识整合进模型中。数据的质量对于微调后的模型效果至关重要。微调策略包括但不限于有监督微调(supervised Fine-tuning SFT),即在标注数据上训练模型参数,以及低秩调整(Low-Rank Adaptation,LoRA),即通过低秩矩阵,这是一种通过使用低秩矩阵来减少需要更新的参数数量的方法。


    选择微调策略时,需要考虑任务需求、可用数据量和计算资源等因素。微调能够显著提高模型在特定任务上的准确性和适应性,特别是在法律和医疗等需要高度专业知识的领域。它还具有高度的灵活性,允许对基础模型进行多次微调,以应对不断变化的任务需求。
    然而,微调过程需要消耗相当的计算资源,并且找到最优参数的过程可能既复杂又耗时。这使得微调在技术门槛上高于使用提示词或RAG(Retrieval-Augmented Generation)等方法。此外,微调还可能面临过拟合的风险,如果训练数据不足或参数调整过度,都可能导致模型的泛化能力受损。
    微调是构建行业或场景特定大型模型的常用方法,但由于它对资源和技术的要求较高,因此并不适合所有企业,特别是资源有限的小微企业。
    AI agent 升级业务流程
    AI Agent,即人工智能代理,是一种智能系统,它能够理解环境信息、做出决策并自主执行任务。与传统的人工智能系统相比,AI Agent不仅能够进行独立思考,还可以利用各种工具来逐步实现既定目标。例如,如果用户请求AI Agent订购外卖,它能够自主地打开相应的应用程序,选择菜品,并通过支付系统完成购买,整个过程无需人工干预。
    AI Agent与大型语言模型的主要区别在于,AI Agent具备自主行动的能力,而大型语言模型主要擅长理解和生成语言。此外,与RPA(Robotic Process Automation,即机器人流程自动化)相比,AI Agent能够更好地适应未知环境和处理新出现的挑战。简而言之,AI Agent是一种能够自主感知、决策并执行任务的智能系统。
    如下所示是一个智能体常见的能力。


    智能体一般具备四个能力:

    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行动能力的几个关键方面:

    1. 指令理解:
       - AI Agent需要能够理解用户的指令或系统内部生成的任务要求。
    2. 决策制定:
       - 基于对指令的理解,AI Agent需要制定相应的行动计划或决策。
    3. 任务分解:
       - 将复杂的任务分解为一系列可执行的步骤或子任务。
    4. 资源协调:
       - 确定并协调执行任务所需的资源,如数据、工具或外部服务。
    5. 执行动作:
       - 执行具体的操作,如发送消息、调用API、操作界面等。
    6. 环境交互:
       - 与外部环境进行交互,包括物理环境(如机器人)和数字环境(如软件界面)。
    7. 反馈处理:
       - 接收和处理执行过程中的反馈信息,以调整行动计划。
    8. 结果验证:
       - 验证行动结果是否符合预期目标,并进行必要的修正。
    9. 自主学习:
       - 通过行动结果的反馈进行学习,以优化未来的行动策略。
    10. 异常处理:
        - 能够识别和处理执行过程中出现的异常情况。
    AI Agent的行动能力是其智能化水平的重要体现,它使得AI Agent能够自主地完成任务,提高效率,减少对人工干预的依赖。


    03

    基于AI大模型应用和普通应用的区别


    基于AI大模型的应用和传统的应用区别主要体现软件的应用架构,思维方式,软件和人的协作方式,以及特征上区别。


    1、软件的架构方式的区别传统软件的架构过程都是面向生产过程,例如ERP\WMS\OA\MOM等软件,包括数据中台产品也是面向开发过程,例如数据中台产品按照数据加工流程分为数据集成,数据开发,数据服务,本质上是面向过程,通过把一系列的动作拆分成不同的操作步骤,这些操作步骤固化到软件上,形成标准化通用化的功能,则形成了软件产品,而智能化产品是面向目标的,例如说开发招聘助手,可以帮忙提高招聘效率。那么软件界面界面可能直接呈现的是筛选过后符合要求的简历,并且推送到相关人员查看,这里没有搜集简历,筛选简历的过程了,软件界面呈现的是最终结果,过程已经全部自动化了。

    2、软件开发方式思维区别、传统软件开发采用软件工程思维,而智能应用开发采用AI agent 工程思维。

    软件工程思维是一种系统化和结构化的方法论,它将软件开发视为一个工程学科,并应用工程原则和实践来设计、开发、测试、部署和维护软件系统。这种思维方式强调以下几个关键方面:


    1. 系统化方法:软件工程思维要求将软件项目视为一个整体系统,考虑所有相关的组件和子系统,以及它们之间的交互。


    2. 需求分析:在软件开发之前,需要进行详细的需求分析,以确保软件满足用户和业务的需求。这包括功能性需求和非功能性需求。


    3. 设计:设计阶段涉及到软件架构、组件设计和接口设计。软件工程思维强调模块化设计和可扩展性,以便于维护和升级。


    4. 编码:编码阶段需要遵循编码标准和最佳实践,确保代码的可读性、可维护性和可测试性。


    5. 测试:软件工程思维强调全面的测试,包括单元测试、集成测试、系统测试和验收测试,以确保软件的质量和可靠性。


    6. 配置管理:通过版本控制和变更管理,确保软件的各个版本能够被有效管理和追踪。


    7. 项目管理:软件工程思维将软件开发视为一个项目,需要进行有效的项目管理,包括时间管理、资源管理、风险管理和沟通管理。

    8. 质量保证:软件工程思维强调持续的质量保证,通过代码审查、静态分析和自动化测试等手段,确保软件的质量和性能。

    通过应用这些原则和实践,软件工程思维帮助开发团队构建高质量、可靠、可维护和易于扩展的软件系统。

    AI Agent 工程思维是一种将人工智能技术应用于软件代理(AI Agent)开发和维护的系统化方法论。它结合了软件工程的基本原则和人工智能领域的特定实践。以下是AI Agent工程思维的关键要素:
    1. 目标导向:明确AI Agent的业务目标和用户需求,确保设计和开发工作始终围绕这些目标进行。
    2. 多学科融合:AI Agent的开发需要软件工程、数据科学、机器学习、认知科学和心理学等多个学科的知识。
    3. 数据驱动:AI Agent的性能和智能程度很大程度上依赖于数据。因此,数据的收集、处理和分析是AI Agent工程的核心。
    4. 模型设计:选择合适的机器学习模型和算法,设计能够处理复杂任务的智能系统。
    5. 交互设计:AI Agent的交互一般是直接呈现结果,可能会因为不同人呈现不同的结果,个性化比较强。因此需要从用户的角度出发,设计直观、易用和高效的交互方式。
    6. 测试与验证:AI Agent的测试不仅包括传统的软件测试,还需要验证其智能行为和决策逻辑的正确性。
    7. 持续学习:AI Agent应具备持续学习和自我优化的能力,以适应不断变化的环境和需求。
    8. 反馈机制:建立有效的用户反馈机制,不断收集用户意见和使用数据,用于改进AI Agent的性能和功能。
    通过这些原则和实践,AI Agent工程思维有助于构建智能、可靠、用户友好且符合伦理标准的人工智能代理系统。
    3、软件和人之间的协作关系区别传统软件中,以人为核心,人操作为主,软件为辅助,即人的操作是决定了产出结果的关键因素。而智能软件,人与软件之间的关系为软件为主,人为辅助的角色,例如利用人工智能制作讲义,这样的工具,制作讲义的全过程由软件自动完成,而教师只作为辅助的角色,重点筛选质量较好的讲义。在这个过程中软件为主导,人为辅助的过程。
    4、软件特点的区别、传统软件的界面是固定的界面,代表固定的需求以及预先定义好的任务,超出范围则不能满足需求。第二传统软件是以数据为分发的信息平台,底层存储海量数据,以便于达到规模化的生产,通过规模化生产提高生产效率。而智能软件的特点是软件的交互是动态的,以目标结果自适应展示交互,开发的任务模式,超出预定义的任务模式,智能软件也能完成,具备自我学习能力,智能软件底层是知识和大模型,通过大模型的Agent分发大量的任务,即可以规模化生产,也可以根据用户需求提供个性化的需求,兼顾规模和个性的需求。


    以上是对AI 大模型应用从技术栈,以及实现路径和各个关键步骤的作用,以及传统软件和智能软件的区别进行介绍,希望对您有所帮助。

    工业软件应用
    工业软件已成为数字化转型的核心支撑。本公众号由e-works数字化企业网联合湖北省工业软件产业创新联盟共同打造,是工业软件研究、应用、交流的平台。
     最新文章