大模型-大模型-架构设计-6种设计模式-09

目录
  • 1. 路由分发架构模式
  • 2. 代理架构模式
  • 3. 基于缓存的微调架构模式
  • 4.面向目标的 Agent 架构模式
  • 5. Agent 智能体组合架构模式
  • 6. 双重安全架构设计模式

架构设计模式已成为程序员的重要技能。然而,当我们转向大模型应用领域,情况可能会有所不同。面对新兴技术,比如:生成式 AI,我们尚缺乏成熟的设计模式来支撑这些解决方案。
总结了一些针对大模型应用的设计方法和架构模式,试图应对和解决大模型应用实现中的一些挑战,比如:成本问题、延迟问题以及生成的幻觉等问题。

1. 路由分发架构模式


当用户输入一个 Prompt 查询时,该查询会被发送到路由转发模块,而路由转发模块则扮演着对输入 Prompt 进行分类的角色。
如果 Prompt 查询是可以识别的,那么它会被路由到小模型进行处理,这通常是一个更准确、响应更快且成本更低的操作。
如果 Prompt 查询无法被识别,那么它将由大模型来处理。尽管大模型的运行成本较高,但它能够成功返回更多种类型查询的答案。通过这种方式,大模型应用产品可以在成本、性能和用户体验之间实现平衡。

2. 代理架构模式

针对特定任务领域的专家,并行工作以处理特定类型的查询,然后将这些响应整合在一起,形成一个全面的答案。

这样的架构模式非常适合复杂的问题解决场景,在这种场景中,问题的不同方面需要不同的专业知识,就像一个由专家组成的小组,每个专家负责处理更大问题的一个方面。
更大的模型(比如:GPT-4)负责理解上下文,并将其分解为特定的任务或信息请求,这些任务或信息请求被传递给更小的代理模型。这些代理模型可能是较小模型,它们已经接受过特定任务的训练,或者是具有特定功能的通用模型,比如:BERT、Llama-2、上下文提示和函数调用。

3. 基于缓存的微调架构模式

将缓存和微调引入到大模型应用架构中,可以解决成本高、推理速度慢以及幻觉等组合问题。

通过缓存初始结果,能够在后续查询中迅速提供答案,从而显著提高了效率。
当我们累积了足够的数据后,微调层将启动,利用早期交互的反馈,进一步完善一个更为专业化的私有大模型。
专有私有大模型不仅简化了操作流程,也使专业知识更好地适应特定任务,使其在需要高度精确性和适应性的环境中,比如:客户服务或个性化内容创建,表现得更为高效。

4.面向目标的 Agent 架构模式

对于用户的 Prompt 提示词,Agent 会基于大模型先做规划(Planning),拆解成若干子任务,然后对每个子任务分别执行(Action),同时对每一步的执行结果进行观测(Observation),如果观测结果合格,就直接返回给用户最终答案,如果观测结果不合格或者执行出错,会重新进行规划(Replanning)。
这种面向目标的 Agent 架构模式非常常见,也是 AGI 大模型时代,每一个程序员都需要掌握的架构设计模式。

5. Agent 智能体组合架构模式

该架构设计模式强调了灵活性,通过模块化 AI 系统,能自我重新配置以优化任务性能。
这就像一个多功能工具,可以根据需求选择和激活不同的功能模块,对于需要为各种客户需求或产品需求定制解决方案的企业来说,这是非常有效的。

我们可以通过使用各种自主代理框架和体系结构来开发每个 Agent 智能体,比如:CrewAI、Langchain、LLamaIndex、Microsoft Autogen 和 superAGI等。
通过组合不同的模块,一个 Agent 可以专注于预测,一个处理预约查询,一个专注于生成消息,一个 Agent 来更新数据库。将来,随着专业 AI 公司提供的特定服务的增多,我们可以将一个模块替换为外部或第三方服务,以处理特定的任务或领域的问题。

6. 双重安全架构设计模式

大模型的核心安全性至少包含两个关键组件:一是用户组件,我们将其称为用户 Proxy 代理;二是防火墙,它为大模型提供了保护层。

用户 Proxy 代理在查询发出和返回的过程中对用户的 Prompt 查询进行拦截。该代理负责清除个人身份信息和知识产权信息,记录查询的内容,并优化成本。
防火墙则保护大模型及其所使用的基础设施。尽管我们对人们如何操纵大模型以揭示其潜在的训练数据、潜在功能以及当今恶意行为知之甚少,但我们知道这些强大的大模型是脆弱的。

在安全性相关的技术栈中,可能还存在其他安全层,但对于用户的查询路径来说,Proxy 代理和防火墙是最关键的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/828698.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

死锁的处理策略

死锁的处理策略 ​​

信号量机制

信号量机制 1965年由荷兰学者 Dijkstra 提出 ​​ ‍一、概念 用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现了进程互斥、进程同步。 信号量甚实就是一个变量(可以是一个整数,也可以是更复杂的(数据结构)记录型变量),可以用一个信号量…

RAC:无训练持续扩展,基于检索的目标检测器 | ECCV24

来源:晓飞的算法工程笔记 公众号,转载请注明出处论文: Online Learning via Memory: Retrieval-Augmented Detector Adaptation论文地址:https://arxiv.org/abs/2409.10716创新点提出一种通过检索增强分类过程的创新在线学习框架RAC,与传统的基于离线训练/微调的方法相比,…

信号量实现进程互斥、同步、前驱关系

信号量实现进程互斥、同步、前驱关系 ‍ ​​ ‍​​​ P、V 操作必须成对出现。缺少 P(mutex) 就不能保证临界资源的互斥访问。缺少 V(mutex) 会导致资源永不被释放,等待进程永不被唤醒。 ‍ 一、实现进程互斥 注:下图中的第一行对信号量的初始化只是简化写法,并不严格遵循…

Git推送报错Authentication failed

在某一次的Git推送中出现了一个奇怪的报错Authentication failed,经过一番测试有可能是VSCode的Git插件所导致的问题,本文提供了一个在VSCode的Terminal中可以正常push的解决方案。问题背景 在某一次的Git推送时,配置好commit信息之后,执行push操作的时候出现了这样的一个报…

iOS微信授权登录中Universal Link(通用链接)的配置

配置Unuversal Links 1.苹果开发者账号打开配置2.配置JSON文件,创建一个空白文件(必须纯文本,命名为apple-app-site-association,去除后缀名)。这里建议让后台人员在其本地创建,避免文件传输时,文件自动被更改格式、后缀自动添加等问题{"applinks": {"ap…

充电桩着火预警系统

充电桩着火预警系统利用现场监控摄像头,充电桩着火预警系统对新能源汽车充电场景进行7*24小时实时监测,自动发现监控区域范围内的异常烟雾和火灾事故苗头,大大减少了人为因素导致的误报和漏报现象。同时,系统还会自动记录报警信息和处理过程,为后续的故障排查和责任追溯提…

小区消防通道堵塞监测识别系统

小区消防通道堵塞监测识别系统利用现场监控摄像头对消防安全通道进行实时监测。小区消防通道堵塞监测识别系统通过先进的图像处理技术和深度学习算法,系统能够准确识别出消防通道是否被车辆、杂物等占据或阻塞。一旦监测到异常情况,系统会立刻发出告警信息,通过声光报警、短…

2个月搞定计算机二级C语言——真题(10)解析

1. 前言 本篇我们讲解2个月搞定计算机二级C语言——真题102. 程序填空题 2.1 题目要求2.2 提供的代码 #include <stdio.h> #pragma warning (disable:4996) double fun(double x[], int n) {int i, k = 0;double avg = 0.0, sum = 0.0;for (i = 0; i < n; i++)avg +…

我会卡常!

以下是博客签名,正文无关本文来自博客园,作者:ppllxx_9G,转载请注明原文链接:https://www.cnblogs.com/ppllxx-9G/p/18534410

考研打卡(11)

开局(11) 开始时间 2024-11-07 14:12:35 结束时间 2024-11-08 09:07:12上机ing数据结构下面关于图的存储的叙述中正确的是___(北京师范大学2015年) A 用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关 B 用邻接表法存储图,占用的存储空间大小与图…

使用Kali进行Dos攻击实验

前言 1. 拒绝服务(DoS, Denial of Service)攻击是一种网络攻击手段,其目的是通过各种方式使目标系统或网络资源无法为合法用户提供正常服务。攻击者可能会利用网络协议的缺陷、发送大量无效请求或使用僵尸网络来耗尽目标系统的资源,如CPU、内存、带宽或网络连接,导致系统无…