当前位置: 首页 > news >正文

Flink实战教程从入门到精通(基础篇)(一)Flink简介

目录

二、谁在用Flink?

三、Flink特点

1、批流统一

2、性能卓越

3、规模计算

4、生态兼容性

5、高容错性

四、Flink介绍

1、无界数据

2、有界数据流

3、有状态流处理

五、Flink的发展历史 

六、Flink的核心特点 

1、高吞吐和低延迟

2、结果的准确性

3、精确一次的状态一致性保证

4、可以连接到常用的储存系统

5、高可用 

七、Flink与SparkStreaming的区别

1、Spark以批处理为根本

​编辑

 2、Flink以流处理为根本

3、总结:

八、Flink的应用场景

九、Flink的分层API


        Apache Flink 是一个开源的流处理框架,主要用于分布式、高性能、高可用的数据流处理。它支持批处理和流处理,能够处理实时和离线数据。

        Flink 是一个强大的流处理框架,适用于实时和离线数据处理,具备低延迟、高吞吐、精确一次语义等优势,广泛应用于实时分析、事件驱动应用等场景。

二、谁在用Flink?

        国内知名的企业,比如国内的阿里巴巴、腾讯、华为、滴滴、快手、爱奇艺等。国外的亚马逊等。国内大多数大数据公司开始向Flink进行转型。

三、Flink特点

1、批流统一

同一段代码,可以跑流可以跑批。

同一个sql,可以跑流可以跑批。

2、性能卓越

低延迟高吞吐:Flink 提供毫秒级延迟高吞吐量,适合实时数据处理场景。

3、规模计算

支持水平扩展架构

支持超大状态与增量检查点机制

4、生态兼容性

支持与Yarn集成

支持与Kubernetes(K8s)集成

支持单机模型运行

5、高容错性

故障自动重试

一致性检查点

保证故障场景下精确一次的状态一致性

四、Flink介绍

 Flink的官方主页地址:Apache Flink® — Stateful Computations over Data Streams | Apache Flink

Flink的核心目标,是数据流上的有状态计算。

具体说明:Apache Flink是一个框架和分布式处理引擎,用于对无界和有界的数据流进行有状态的计算。

Flink具体操作流程:

1、无界数据

 有定义流的开始,但没有定义流的结束

他们会无休止的产生数据

无界流的数据必须持续处理,即数据被摄入后需要立刻处理。

我们不能等到所有数据都到达再处理,因为输入是无限的

2、有界数据流

有定义流的开始,也有定义流的结束

有界流可以在摄取所有数据后再进行计算

有界流所有数据可以被排序,所以并不需要有序摄取

有界流处理通常被称为批处理

3、有状态流处理

把流处理需要的额外状态保存成一个“状态”,然后针对这条数据进行处理,并且更新状态,这就是所谓的“有状态的流处理”。 

五、Flink的发展历史 

        Flink起源于一个叫作Stratosphere的项目,它是由3所地处柏林的大学和欧洲其他一些大学在2010~2014年共同进行的研究项目,由柏林理工大学的教授沃克尔·马尔科(VolkerMarkl)领衔开发。2014年4月,Stratosphere的代码被复制并捐赠给了Apache软件基金会,Flink就是在此基础上被重新设计出来的。
        项目的logo是一只彩色的松鼠。

        在德语中,“flink”一词表示“快速、灵巧”。 THE SOFTWARE FOUNDATION APACHE

·2014年8月,Flink第一个版本0.6正式发布,与此同时Fink的几位核心开发者创办DataArtisans公司;
·2014年12月,Flink项目完成孵化
·2015年4月,Flink发布了里程碑式的重要版本0.9.0;
·2019年1月,长期对Flink投入研发的阿里巴巴,以9000万欧元的价格收购了Data Artisans公司;
·2019年8月,阿里巴巴将内部版本Blink开源,合并入Flink1.9.0版本。

六、Flink的核心特点 

1、高吞吐和低延迟

        每秒处理数百万个事件,毫秒级延迟。事件可以理解为所谓的数据, 该句话意思可以理解为可以每秒处理几百万条数据。

2、结果的准确性

        Flink提供了事件时间(event-time)处理时间(processing-time)语义,对于乱序的事件流,事件时间语义仍然可以提供一致且准确的结果。

3、精确一次的状态一致性保证

4、可以连接到常用的储存系统

        Kafka、Hive、JDBC、HDFS、Redis等

5、高可用 

        本身高可用的设置,加上K8sYARNMesos的紧密集成,再加上从故障中快速恢复动态扩展任务的能力,Flink能做到以极少的停机时间7x24小时全天候运行。 

七、Flink与SparkStreaming的区别

1、Spark以批处理为根本

        Spark需要设置一个批次间隔,如果设置为3秒,相当于Spark进行积攒3秒的数据,然后去处理3秒内的数据,微处理数据。

        Spark数据模型:Spark采用RDD模型,Spark Streaming 的DStream实际上也是一组组小批数据RDD集合

        Spark运行时架构:Spark是批计算,将DAG划分为不同的stage,一个完成后才可以计算下一个。

 2、Flink以流处理为根本

        Flink流式处理数据,来一条则处理一条,没有进行积攒数据 。

        Flink数据模型:Flink基本数据模式是数据流,以及事件序列。

        Flink运行时架构:Flink是标准的流执行模式,一个事件在一个节点处理完后可以直接发往下一个节点进行处理。

3、总结:

FlinkSpark Streaming
计算模型流式计算微批处理
时间语义事件时间、处理时间处理时间
窗口多、灵活少、不灵活(窗口必须是批次的整数倍)
状态没有
流式SQL没有

八、Flink的应用场景

 Flink在国内各个企业中大量使用。一些行业中的典型应用有:

1、电商和市场营销
举例:实时数据报表、I广告投放、实时推荐

2、物联网(IOT)
举例:传感器实时数据采集和显示、实时报警,交通运输业

3、物流配送和服务业
举例:订单状态实时更新、通知信息推送

4、银行和金融业
举例:实时结算和通知推送,实时检测异常行为

  • 实时数据分析:如实时监控、日志分析。

  • 事件驱动应用:如实时推荐、欺诈检测。

  • 数据管道:如数据清洗、转换、聚合。

  • 复杂事件处理:如模式匹配、规则引擎。

九、Flink的分层API

        有状态流处理:通过底层API(处理函数),对最原始数据加工处理。底层AP与DataStreaAPI相集成,可以处理复杂的计算。

        DataStream API(流处理)DataSet API(批处理)封装了底层处理函数,提供了通用的模块,比如转换(transformations,包括fatmap等),连接(joins),聚合(aggreations),窗口(windows)操作等。注意:Flink1.12以后,DataStream API已经实现map、真正的流批一体,所以DataSet API已经过时。

        Table AP是以表为中心的声明式编程,其中表可能会动态变化。Tabe API遵循关系模型:表有二维数据结构,类似于关系数据库中的表;同时API提供可比较的操作,例如select、project、join、group-by、aggregate等。我们可以在表与 DataStream/Dataset之间无缝切换,以允许程序将 Table API与 DataStream 以及 DataSet 混合使用。

        SQL这一层在语法与表达能力上与 Tahe AP类似,但是是以SOL査询表达式的形式表现程序。SOL抽象与Iable AH交互密切,同时SQL查询可以直接在TableAPI定义的表上执行。

相关文章:

Flink实战教程从入门到精通(基础篇)(一)Flink简介

目录 一、Flink 二、谁在用Flink? 三、Flink特点 1、批流统一 2、性能卓越 3、规模计算 4、生态兼容性 5、高容错性 四、Flink介绍 1、无界数据 2、有界数据流 3、有状态流处理 五、Flink的发展历史 六、Flink的核心特点 1、高吞吐和低延迟 2、结果的准确性 …...

C/C++编程:Openssl使用 Windows安装包32和64位 RSA加密/解密、AES-GCM加密/解密以及ECDSA签名/验证示例

Openssl的头文件和库 C/C使用openssl,需要openssl的头文件和库,这些都在安装包里。从http://slproweb.com/products/Win32OpenSSL.html下载已经编译好的包含 lib 和 include 文件的安装包。 也可以从官网下载源码,再编译成安装包&#xff0…...

Es6新特性

1. let 和 const 概念 let:用于声明 块级作用域 的变量。const:用于声明 块级作用域 的常量,声明后不可重新赋值(但可以修改对象的属性或数组的内容)。 原理 JavaScript 在 ES5 中只有全局作用域和函数作用域&…...

大数据学习(80)-数仓分层

🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一…...

StarRocks 升级注意事项

前段时间升级了生产环境的 StarRocks,从 3.3.3 升级到了 3.3.9,期间还是踩了不少坑所以在这里记录下。 因为我们的集群使用的是存算分离的版本,也是使用官方提供的 operator 部署在 kubernetes 里的,所以没法按照官方的流程进入虚…...

Java 大视界 -- Java 大数据分布式计算中的通信优化与网络拓扑设计(145)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...

LabVIEW软件长时间运行导致蓝屏问题排查与优化

计算机在长时间运行LabVIEW或其他软件后出现蓝屏(BSOD),通常由硬件资源耗尽、驱动冲突或软件内存泄漏引发。本文提供从日志分析到根本性优化的全流程解决方案,确保系统稳定运行。 一、蓝屏记录查询方法 1. 查看Windows事件日志 操…...

【机密计算顶会解读】11:ACAI——使用 Arm 机密计算架构保护加速器执行

导读:本文介绍ACAI,其构建一个基于CCA的解决方案,使得机密虚拟机能够安全地使用加速器,同时保持与现有应用程序的兼容性和安全性,能够实现对加速器的安全访问。 原文链接:ACAI: Protecting Accelerator Ex…...

【WRF模拟】WPS预处理设置生成文件地址

目录 WPS 运行 geogrid.exe在 namelist.wps 中指定 geogrid.exe 输出路径WPS 运行 ungrid.exe方法 1:在 namelist.wps 中指定输出路径方法 2:手动移动 FILE:* 文件方法 3:使用环境变量 WPS_UNGRIB_OUTPUT(不推荐)另:设置文件链接地址WPS 运行 metgrid.exe方法 1:在 name…...

Midjourney使用教程—2.作品修改

当您已生成第一张Midjourney图像的时候,接下来该做什么?了解我们用于修改图像的工具!使用 Midjourney 制作图像后,您的创意之旅就不会止步于此。您可以使用各种工具来修改和增强图像。 一、放大操作 Midjourney每次会根据提示词…...

基于 ABAP RESTful 应用程序编程模型开发 OData V4 服务

一、概念 以个人图书管理为例,创建一个ABAP RESTful 应用程序编程模型项目。最终要实现的效果: 用于管理书籍的程序。读取、修改和删除书籍。 二、Data Model-数据模型 2.1 创建项目基础数据库表 首先,创建一个图书相关的表,点…...

微信小程序登陆之反向代理

一.背景 在互联网架构中,反向代理是连接客户端与后端服务的核心组件。它的核心价值在于: 安全性:隐藏内部服务细节,防止直接暴露到公网。 负载均衡:分散请求到多个后端实例,提升吞吐量。 SSL终止&#x…...

[解决] PDF转图片,中文乱码或显示方框的解决方案

在Java开发中,将PDF文件转换为图片是一项常见的需求,但过程中可能会遇到中文乱码或显示方框的问题。本文将深入探讨这一问题,并提供详细的解决方案,帮助开发者顺利地完成PDF到图片的转换。 一、问题现象 在使用Java库(如Apache PDFBox)将PDF转换为图片时,如果PDF文件中…...

面试康复训练-SQL语句

一,数据库操作 1查看所有库 show databases; --查看所有库2使用数据库 use 数据库名; --使用数据库; 3查看当前使用数据库 select database(); --查看当前使用的数据库 4 创建数据库 create databse 数据库名 charsetutf8; --创建数据库 5删…...

经典面试题:C/C++中static关键字的三大核心作用与实战应用

一、修饰局部变量:改变生命周期,保留跨调用状态 核心作用: ​延长生命周期:将局部变量从栈区移至静态存储区(数据段或BSS段),生命周期与程序一致​保留状态:变量在函数多次调用间保…...

Linux固定IP方法(RedHat+Net模式)

1、查看当前网关 ip route | grep default 2、配置静态IP 双击重启 3、验证...

JVM 学习前置知识

JVM 学习前置知识 Java 开发环境层次结构解析 下图展示了 Java 开发环境的层级关系及其核心组件,从底层操作系统到上层开发工具,逐步构建完整的开发与运行环境: 1. 操作系统(Windows, MacOS, Linux, Solaris) 作用&…...

数据结构---图的深度优先遍历(DFS)

一、与树的深度优先遍历之间的联系 1.类似于树的先根遍历。 递归访问各个结点: 2.图的深度优先遍历 先设置一个数组,初始值全部设置为false,先访问一个结点,在用一个循环,依次检查和这个结点相邻的其他结点&#xff0c…...

QPrintDialog弹出慢的问题

开发环境 操作系统: openkylin2qt版本 : 5.15.10排查过程 首先看下问题的现象, 问题现象 复现问题的demo很简单,只能是从跟踪qt代码方面入手 void MainWindow::on_pushButton_clicked(){QPrinter printer;QPrintDialog dialog(&printer,this);dialog.exec();} 现在需要找一…...

QT-LINUX-Bluetooth蓝牙开发

BlueToothAPI QT-BlueToothApi Qt Bluetooth 6.8.2 官方提供的蓝牙API不支持linux。 D-Bus的API实现蓝牙 确保系统中安装了 BlueZ(版本需≥5.56),并且 Qt 已正确安装并配置了 D-Bus 支持。 默默看了下自己的版本.....D-BUS的API也不支持。 在 D-Bus 中,org 目录是 D-Bus…...

kvm虚拟机的基本使用

[rootkvm ~]# virsh destroy 虚拟机名 #关闭虚拟机 [rootkvm ~]# virsh undefine 虚拟机名 #删除虚拟机 [rootkvm ~]# virsh start 虚拟机名 #开启虚拟机 [rootkvm ~]# virsh console 虚拟机名 #登录虚拟机 [rootkvm ~]# virsh list --all …...

K8S中若要挂载其他命名空间中的 Secret

在Kubernetes(k8s)里,若要挂载其他命名空间中的Secret,你可以通过创建一个 Secret 的 ServiceAccount 和 RoleBinding 来实现对其他命名空间 Secret 的访问,接着在 Pod 中挂载这个 Secret。下面是详细的步骤和示例代码…...

【Java SE】抽象类/方法、模板设计模式

目录 1.抽象类/方法 1.1 基本介绍 1.2 语法格式 1.3 使用细节 2. 模板设计模式(抽象类使用场景) 2.1 基本介绍 2.2 具体例子 1.抽象类/方法 1.1 基本介绍 ① 当父类的某些方法,需要声明,但是又不确定如何实现时&#xff…...

如何理解java中Stream流?

在Java中,Stream 是 Java 8 引入的一个强大API,用于处理集合(如 List、Set、Map 等)数据的流式操作。它提供了一种声明式、函数式的编程风格,可以高效地进行过滤、映射、排序、聚合等操作。 Stream 的核心概念 流&…...

QT编程之数据库开发

一、架构层次 ‌用户接口层‌ ‌QSqlQueryModel‌:管理SQL查询结果,提供表格数据模型用于展示‌‌QSqlTableModel‌:支持直接操作数据库表(增删改查)‌‌QSqlRelationalTableModel‌:支持带外键关联的复杂表…...

【10】高效存储MongoDB的用法

目录 一、什么是MongoDB 二、准备工作 (1)安装MongoDB ​(2)安装pymongo库 三、连接MongoDB 四、指定数据库 五、指定集合 六、插入数据 (1) insert 方法 (2)insert_one(…...

使用Qdrant等其他向量数据库时需要将将numpy 数组转换为列表 确保数据能被正确处理和序列化,避免类型不兼容的问题。

在使用Qdrant等其他向量数据库时需要 转换 numpy 数组为列表主要是为了确保数据能被正确处理和序列化,避免类型不兼容的问题。具体原因如下: 序列化兼容性: 很多数据库接口、API 或者 JSON 序列化工具只能处理 Python 的内置类型(…...

mayfly-go开源的一站式 Web 管理平台

mayfly-go 是一款开源的一站式 Web 管理平台,旨在通过统一的界面简化 Linux 服务器、数据库(如 MySQL、PostgreSQL、Redis、MongoDB 等)的运维管理。以下从多个维度对其核心特性、技术架构、应用场景及生态进行详细解析: 一、核心…...

Linux中的yum和vim工具使用总结

在Linux系统管理和文本编辑中,yum和vim是两个非常重要的工具。yum作为包管理器帮助我们轻松安装和管理软件,而vim则是一个功能强大的文本编辑器。下面我将对这两个工具进行详细介绍。 一、YUM包管理器 1. YUM简介 YUM (Yellowdog Updater Modified) 是…...

笔记:代码随想录算法训练营day58:101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿

学习资料&#xff1a;代码随想录 文中含大模型生成内容 101. 孤岛的总面积 卡码网&#xff1a;101. 孤岛的总面积 所以找周边都是水的陆地的方法就是找边缘的陆地然后删除它连同它的连通的陆地 深搜 #include <iostream> #include <vector> using namespac…...

Rust语言介绍和猜数字游戏的实现

文章目录 Rust语言介绍和猜数字游戏的实现cargo是什么使用Rust编写猜数字 Rust语言介绍和猜数字游戏的实现 Rust语言是一种系统编程语言&#xff0c;核心强调安全性、并发性以及高性能&#xff0c;由类似于C/C的底层控制能力&#xff0c;性能也非常接近&#xff0c;Rust有一些…...

高并发库存系统是否适合使用 ORM(Hibernate / MyBatis)

在设计高并发的库存管理系统时&#xff0c;数据层的选择至关重要。许多企业开发中习惯使用 ORM&#xff08;如 Hibernate、MyBatis&#xff09;来简化数据库访问&#xff0c;但在高并发、高吞吐的场景下&#xff0c;ORM 的适用性往往成为争议焦点。本文将探讨高并发库存系统是否…...

Spring Boot中接口数据字段为 Long 类型时,前端number精度丢失问题解决方案

Spring Boot中接口数据字段为 Long 类型时&#xff0c;前端number精度丢失问题解决方案 在Spring Boot中&#xff0c;当接口数据字段为 Long 类型时&#xff0c;返回页面的JSON中该字段通常会被序列化为数字类型。 例如&#xff0c;一个Java对象中有一个 Long 类型的属性 id …...

Java-servlet(七)详细讲解Servlet注解

Java-servlet&#xff08;七&#xff09;详细讲解Servlet注解 前言一、注解的基本概念二、Override 注解2.1 作用与优势2.2 示例代码 三、Target 注解3.1 定义与用途3.2 示例代码 四、WebServlet 注解4.1 作用4.2 示例代码 五、反射与注解5.1 反射的概念5.2 注解与反射的结合使…...

OpenCV Imgproc 模块使用指南(Python 版)

一、模块概述 imgproc 模块是 OpenCV 的图像处理核心&#xff0c;提供从基础滤波到高级特征提取的全流程功能。核心功能包括&#xff1a; 图像滤波&#xff1a;降噪、平滑、锐化几何变换&#xff1a;缩放、旋转、透视校正颜色空间转换&#xff1a;BGR↔灰度 / HSV/Lab 等阈值…...

PostgreSQL:简介与安装部署

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

流畅如丝:利用requestAnimationFrame优化你的Web动画体验

requestAnimationFrame 是前端开发中用于优化动画性能的 API。它允许浏览器在下一次重绘之前执行指定的回调函数&#xff0c;通常用于实现平滑的动画效果。 1.作用 优化性能&#xff1a;requestAnimationFrame 会根据浏览器的刷新率&#xff08;通常是 60Hz&#xff0c;即每秒…...

OpenCV 基础模块 Python 版

OpenCV 基础模块权威指南&#xff08;Python 版&#xff09; 一、模块全景图 plaintext OpenCV 架构 (v4.x) ├─ 核心层 │ ├─ core&#xff1a;基础数据结构与操作&#xff08;Mat/Scalar/Point&#xff09; │ └─ imgproc&#xff1a;图像处理流水线&#xff08;滤…...

代码随想录算法训练营第十五天 | 数组 |长度最小的子数组和螺旋矩阵II

长度最小的子数组 【题目简介】 【自写数组解法】 class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:minLength float(inf)slow 0fast 0cur_sum nums[slow]# 终止条件&#xff1a;fast不能超过最大索引值while slow < fast and fas…...

C++ 入门第27天:异常处理详细讲解

往期回顾&#xff1a; C 入门第24天&#xff1a;C11 多线程基础-CSDN博客 C 入门第25天&#xff1a;线程池&#xff08;Thread Pool&#xff09;基础-CSDN博客 C 入门第26天&#xff1a;文件与流操作基础-CSDN博客 C 入门第27天&#xff1a;异常处理详细讲解 前言 在 C 开发中…...

Powershell WSL导出导入ubuntu22.04.5子系统

导出Linux子系统 导出位置在C盘下,根据自己的实际情况更改即可Write-Host "export ubuntu22.04.5" -ForegroundColor Green wsl --export Ubuntu-22.04 c:\Ubuntu-22.04.tar 导入Linux子系统 好处是目录可用在任意磁盘路径,便于迁移不同的设备之间Write-Host &quo…...

中文文献去哪里查找,个人下载知网、万方、维普文献途径

国内三大知识库知网、万方、维普是查找中文文献常用数据库&#xff0c;本文将以实例演示个人下载这三个数据库文献的途径及过程。 先说下途径&#xff1a; 获取知网、万方、维普数据库资源可去文献党下载器网站&#xff1a; 使用方法&#xff1a; 在文献党下载器官网下载安装…...

玩转C#函数:参数、返回值与游戏中的攻击逻辑封装

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...

简易shell

自主实现shell done&#xff0c;故意写成&#xff0c;表示先赋值&#xff0c;再判断&#xff0c;分割之后&#xff0c;strtok会返回NULL&#xff0c;刚好让gArgv最后一个元素是NULL&#xff0c;并且while判断结束 Makefile 1 myshell:myshell.c …...

注意力机制,本质上是在做什么?

本文以自注意机制为例&#xff0c;输入一个4*4的矩阵 如下&#xff1a; input_datatorch.tensor([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16] ],dtypetorch.float) 得到Q和K的转置如下。 此时&#xff0c;计算QK^T ,得到如下结果 第一行第一个位置就是第一条样本和第…...

【机器学习-模型评估】

“评估”已建立的模型 在进行回归和分类时&#xff0c;为了进行预测&#xff0c;定义了预测函数fθ(x) 然后根据训练数据求出了预测函数的参数θ(即对目标函数进行微分&#xff0c;然后求出参数更新表达式的操作) 之前求出参数更新表达式之后就结束了。但是&#xff0c;其实我…...

19681 01背包

19681 01背包 ⭐️难度&#xff1a;中等 &#x1f31f;考点&#xff1a;动态规划、01背包 &#x1f4d6; &#x1f4da; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner;public class Main {static int N 10001…...

Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测

Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测 目录 Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预…...

基于CAMEL 的Workforce 实现多智能体协同工作系统

文章目录 一、workforce 简介1.架构设计2.通信机制 二、workforce 工作流程图示例1.用户角色2.工作流程 三、workforce 中重要函数说明1.__init__函数2.add_single_agent_worker 函数3.add_role_playing_worker 函数4.add_workforce 函数 四、基于workforce实现多智能体协调&am…...

炫酷的3D按钮效果实现 - CSS3高级特性应用

炫酷的3D按钮效果实现 - CSS3高级特性应用 这里写目录标题 炫酷的3D按钮效果实现 - CSS3高级特性应用项目介绍核心技术实现1. 基础结构设计2. 视觉效果实现2.1 背景渐变2.2 立体感营造 3. 交互动效设计3.1 悬停效果3.2 按压效果 技术要点分析1. 深度层次感2. 动画过渡3. 性能优…...