Byyyi_社区达人页

个人头像照片
Byyyi
已加入开发者社区394

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布62篇文章
19条评论
已回答3个问题
0条评论
已发布0个视频
github地址

技术能力

兴趣领域
  • Java
  • SQL
  • 数据建模
  • Linux
  • 大数据
擅长领域
技术认证

暂时未有相关云产品技术能力~

Google Alphabet大数据开发实习生,华为开发者布道师,华为大数据云享专家

暂无精选文章
暂无更多信息

2024年08月

  • 08.05 22:49:45
    回答了问题 2024-08-05 22:49:45
  • 08.05 22:47:46
    回答了问题 2024-08-05 22:47:46
  • 08.05 22:28:51
    回答了问题 2024-08-05 22:28:51
  • 08.05 22:15:35
    发表了文章 2024-08-05 22:15:35

    环境变量配置文件中两种路径添加方式

    本文介绍Linux环境下配置HBase与Spark的环境变量方法及区别。通过将`HBASE_HOME/bin`与`SPARK_HOME/bin`添加至`PATH`变量,实现命令行工具的全局访问。HBase将其置于`PATH`末尾,而Spark置于开头,这意味着Spark相关命令将被优先调用。这种设置便于管理软件依赖并确保正确版本的执行。
  • 08.05 22:14:27
    发表了文章 2024-08-05 22:14:27

    我的Google Vertex AI实践经验分享

    忙碌的开发者分享了使用Google Vertex AI的实践经验。从复杂的初始设置到微调模型时的手动资源分配,作者经历了种种挑战,包括高昂的成本与不足的文档支持。尽管如此,Vertex AI在图像识别和自然语言处理方面展现出强大能力。作者希望反馈能帮助Google改进服务,使之更加用户友好。
  • 08.05 20:51:48
    发表了文章 2024-08-05 20:51:48

    钢琴模拟器

    这段内容介绍了一个基于网页的互动钢琴模拟器项目,包括其HTML结构、CSS样式和JavaScript功能。用户可以通过键盘或鼠标与虚拟钢琴进行交互,同时具备多种功能,如选择不同的乐器声音、录制演奏、播放录制内容、调整音调以及触发和弦。

2024年05月

  • 05.06 10:18:04
    发表了文章 2024-05-06 10:18:04

    Java工具类

    Java工具类
  • 05.06 09:45:13
    发表了文章 2024-05-06 09:45:13

    数据的格式与描述

    数据的格式与描述
  • 05.06 09:44:59
    发表了文章 2024-05-06 09:44:59

    MySQL安装教程

    MySQL安装教程
  • 05.06 09:39:20
    发表了文章 2024-05-06 09:39:20

    Java第一课——Java详细图文概述

    Java第一课——Java详细图文概述
  • 05.06 09:39:15
    发表了文章 2024-05-06 09:39:15

    一文搞懂Java中所有变量概念!

    一文搞懂Java中所有变量概念!
  • 05.06 09:37:26
    发表了文章 2024-05-06 09:37:26

    数据映射框架之三大神器:反射、注解、动态代理

    数据映射框架之三大神器:反射、注解、动态代理
  • 05.06 09:36:52
    发表了文章 2024-05-06 09:36:52

    手把手教你用java OOP实现猜拳游戏!好玩有用!

    手把手教你用java OOP实现猜拳游戏!好玩有用!
  • 05.06 09:35:40
    发表了文章 2024-05-06 09:35:40

    异常详解,一文搞懂!

    异常详解,一文搞懂!
  • 05.06 09:35:36
    发表了文章 2024-05-06 09:35:36

    一文搞懂线程!!

    一文搞懂线程!!
  • 05.06 09:34:54
    发表了文章 2024-05-06 09:34:54

    函数式 Scala的重要基础!一文掌握!

    函数式 Scala的重要基础!一文掌握!
  • 05.06 09:33:53
    发表了文章 2024-05-06 09:33:53

    流知识超详细总结!一文搞懂!

    流知识超详细总结!一文搞懂!
  • 05.06 09:32:58
    发表了文章 2024-05-06 09:32:58

    Java面向对象最新超详细总结版!

    Java面向对象最新超详细总结版!
  • 05.06 09:32:08
    发表了文章 2024-05-06 09:32:08

    0基础java初学者都能做的打字通小游戏? 内含源码解读和细致讲解!!

    0基础java初学者都能做的打字通小游戏? 内含源码解读和细致讲解!!
  • 05.06 09:28:39
    发表了文章 2024-05-06 09:28:39

    javaOOP实现跳高大挑战!手把手教你实现小游戏!

    javaOOP实现跳高大挑战!手把手教你实现小游戏!
  • 05.06 09:27:02
    发表了文章 2024-05-06 09:27:02

    Hive函数全解——思维导图 + 七种函数类型

    Hive函数全解——思维导图 + 七种函数类型
  • 05.06 09:26:02
    发表了文章 2024-05-06 09:26:02

    Hive UDF UDTF UDAF 自定义函数详解

    Hive UDF UDTF UDAF 自定义函数详解
  • 05.06 09:25:45
    发表了文章 2024-05-06 09:25:45

    Hive的查询、数据加载和交换、聚合、排序、优化

    Hive的查询、数据加载和交换、聚合、排序、优化
  • 05.06 09:24:27
    发表了文章 2024-05-06 09:24:27

    【经验分享】用Linux脚本管理虚拟机下的大数据服务

    【经验分享】用Linux脚本管理虚拟机下的大数据服务
  • 05.06 09:24:16
    发表了文章 2024-05-06 09:24:16

    Java 正则详解

    Java 正则详解
  • 05.06 09:22:48
    发表了文章 2024-05-06 09:22:48

    Linux笔记02 —— Shell补充

    Linux笔记02 —— Shell补充
  • 05.06 09:22:46
    发表了文章 2024-05-06 09:22:46

    Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)

    Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)
  • 05.06 09:22:12
    发表了文章 2024-05-06 09:22:12

    Hive详解、配置、数据结构、Hive CLI

    Hive详解、配置、数据结构、Hive CLI
  • 05.06 09:20:57
    发表了文章 2024-05-06 09:20:57

    Zeppelin安装教程

    Zeppelin安装教程
  • 05.06 09:20:20
    发表了文章 2024-05-06 09:20:20

    Hive精选10道面试题

    Hive精选10道面试题
  • 05.06 09:18:46
    发表了文章 2024-05-06 09:18:46

    【史上最全】Hadoop精选18道面试题(附回答思路)

    【史上最全】Hadoop精选18道面试题(附回答思路)
  • 05.06 09:17:09
    发表了文章 2024-05-06 09:17:09

    8大Java排序方法(由简入繁),有代码详解和原理指导

    8大Java排序方法(由简入繁),有代码详解和原理指导
  • 05.06 09:15:38
    发表了文章 2024-05-06 09:15:38

    MySQL万字超详细笔记❗❗❗

    MySQL万字超详细笔记❗❗❗
  • 05.06 09:14:10
    发表了文章 2024-05-06 09:14:10

    Hive 拉链表详解及实例

    拉链表是一种数据仓库技术,用于处理持续增长且存在时间范围内的重复数据,以节省空间。它在Hive中通过列式存储ORC实现,适用于大规模数据场景,尤其当数据在有限时间内有多种状态变化。配置涉及事务管理和表合并选项。示例中展示了如何从原始订单表创建拉链表,通过聚合操作和动态分区减少数据冗余。增量数据可通过追加到原始表然后更新拉链表来处理。提供的Java代码用于生成模拟的订单增量数据,以演示拉链表的工作流程。
  • 05.06 09:12:54
    发表了文章 2024-05-06 09:12:54

    Hive 数仓及数仓设计方案

    数仓整合企业数据,提供统一出口,用于数据治理。其特点包括面向主题集成和主要支持查询操作。数仓设计涉及需求分析(如咨询老板、运营人员和行业专家)、确定主题指标(如电商的转化率)、数据标准设定、规模与成本计算、技术选型(如Hadoop生态组件)以及数据采集和操作。设计流程涵盖从理解需求到实施SQL函数和存储过程的全过程。
  • 05.06 09:11:32
    发表了文章 2024-05-06 09:11:32

    Hive 优化总结

    Hive优化主要涉及HDFS和MapReduce的使用。问题包括数据倾斜、操作过多和不当使用。识别倾斜可通过检查分区文件大小或执行聚合抽样。解决方案包括整体优化模型设计,如星型、雪花模型,合理分区和分桶,以及压缩。内存管理需调整mapred和yarn参数。倾斜数据处理通过选择均衡连接键、使用map join和combiner。控制Mapper和Reducer数量以避免小文件和资源浪费。减少数据规模可调整存储格式和压缩,动态或静态分区管理,以及优化CBO和执行引擎设置。其他策略包括JVM重用、本地化运算和LLAP缓存。
  • 05.06 09:09:08
    发表了文章 2024-05-06 09:09:08

    Hive 行列转换

    使用`lateral view + explode`或`inline`可将列转换为行,实现数据降维。例如,`explode(array|map)`用于单列转多行,`inline(array_struct)`将结构体数组拆分成多行。同样,通过条件聚合可实现行转列,常用于多行数据聚合到单行中,如示例所示的按月统计订单金额。
  • 05.06 09:07:11
    发表了文章 2024-05-06 09:07:11

    Hive实战 —— 电商数据分析(全流程详解 真实数据)

    关于基于小型数据的Hive数仓构建实战,目的是通过分析某零售企业的门店数据来进行业务洞察。内容涵盖了数据清洗、数据分析和Hive表的创建。项目需求包括客户画像、消费统计、资源利用率、特征人群定位和数据可视化。数据源包括Customer、Transaction、Store和Review四张表,涉及多个维度的聚合和分析,如按性别、国家统计客户、按时间段计算总收入等。项目执行需先下载数据和配置Zeppelin环境,然后通过Hive进行数据清洗、建表和分析。在建表过程中,涉及ODS、DWD、DWT、DWS和DM五层,每层都有其特定的任务和粒度。最后,通过Hive SQL进行各种业务指标的计算和分析。
  • 05.06 09:01:05
    发表了文章 2024-05-06 09:01:05

    Leetcode第382场周赛

    ```markdown 给定字符串`s`,计算按键变更次数,即使用不同键的次数,不考虑大小写差异。例如,`"aAbBcC"`变更了2次。函数`countKeyChanges`实现此功能。另外,求满足特定模式子集最大元素数,`maximumLength`函数使用`TreeMap`统计次数,枚举并构建子集,返回最大长度。最后,Alice和Bob玩鲜花游戏,Alice要赢需满足鲜花总数奇数、顺时针在[1,n]、逆时针在[1,m],返回满足条件的(x, y)对数,可通过奇偶性分类讨论求解。 ```
  • 05.06 08:59:54
    发表了文章 2024-05-06 08:59:54

    Leetcode第383场周赛

    在LeetCode第383场周赛中,选手完成了3道题目。第一题是关于边界上的蚂蚁,蚂蚁根据非零整数数组nums的值移动,返回蚂蚁返回边界上的次数。解题方法是计算数组累加和为0的次数。第二题涉及计算网格的区域平均强度,给定一个灰度图像和阈值,返回每个像素所属区域的平均强度。解题关键在于理解相邻像素和区域定义,并计算平均强度。第三题是恢复单词初始状态的最短时间问题,通过移除前k个字符并添加k个字符,求恢复原词所需的最短时间。解题策略是检查去除前k个字符后的子串是否能作为原词的前缀。
  • 05.06 08:57:45
    发表了文章 2024-05-06 08:57:45

    Leetcode第123场双周赛

    在LeetCode的第123场双周赛中,参赛者需解决三个问题。第一题涉及根据给定数组构建三角形并判断其类型,如等边、等腰或不等边,代码实现通过排序简化条件判断。第二题要求找出满足差值为k的好子数组的最大和,解决方案利用前缀和与哈希表提高效率。第三题则需要计算点集中满足特定条件的点对数量,解题策略是对点按坐标排序并检查点对是否满足要求。
  • 05.06 08:56:56
    发表了文章 2024-05-06 08:56:56

    Leetcode 30天高效刷数据结构和算法 Day1 两数之和 —— 无序数组

    给定一个无序整数数组和目标值,找出数组中和为目标值的两个数的下标。要求不重复且可按任意顺序返回。示例:输入nums = [2,7,11,15], target = 9,输出[0,1]。暴力解法时间复杂度O(n²),优化解法利用哈希表实现,时间复杂度O(n)。
  • 05.06 08:53:11
    发表了文章 2024-05-06 08:53:11

    【HBase入门与实战】一文搞懂HBase!

    该文档介绍了HBase,一种高吞吐量的NoSQL数据库,适合处理大规模数据。HBase具备快速读写、列式存储和天然支持集群部署的特点,常用于高并发场景。NoSQL与关系型数据库的主要区别在于数据模型、查询语言和可伸缩性。HBase的物理架构包括Client、Zookeeper、HMaster和RegionServer,其中RegionServer管理数据存储。HBase的读写流程利用MemStore和Bloom Filter提高效率。此外,文档还提到了HBase的应用,如时间序列数据、消息传递和内容服务。
  • 05.06 08:50:30
    发表了文章 2024-05-06 08:50:30

    实现HBase表和RDB表的转化(附Java源码资源)

    该文介绍了如何将数据从RDB转换为HBase表,主要涉及三个来源:RDB Table、Client API和Files。文章重点讲解了RDB到HBase的转换,通过批处理思想,利用RDB接口批量导出数据并转化为`List<Put>`,然后导入HBase。目录结构包括配置文件、RDB接口及实现类、HBase接口及实现类,以及一个通用转换器接口和实现。代码中,`RDBImpl`负责从RDB读取数据并构造`Put`对象,`HBaseImpl`则负责将`Put`写入HBase表。整个过程通过配置文件`transfer.properties`管理HBase和RDB的映射关系。
  • 05.06 08:46:41
    发表了文章 2024-05-06 08:46:41

    IDEA上的Scala环境搭建

    本文指导如何搭建Scala开发环境。首先,安装Scala编译器`scala-2.12.10.msi`,通过DOS窗口验证安装成功。然后,在IDEA中,安装Scala插件,创建Maven工程,删除默认包,新建Scala源码包,并在其中创建Scala Object类。接着,配置项目结构,添加Scala SDK,确保Maven、Language Level和Compiler的bytecode版本设置正确。最后,编写并测试基本的Scala代码。
  • 05.06 08:45:03
    发表了文章 2024-05-06 08:45:03

    【经验分享】如何在IDEA中快速学习|审查|复习代码工程?

    在IDEA中加速工程学习与审查,提升代码质量和维护性,关键操作包括:使用"Structure"浏览工程结构,通过"Find Usages"查找类、方法或变量引用,借助"Show Local Changes As UML"展示UML图。遵循从整体到局部的UML图学习,再到具体代码的详细探索,可系统理解设计理念。详情参考[IDEA UML教程](https://blog.csdn.net/weixin_44701426/article/details/124598053)。
  • 05.06 08:43:30
    发表了文章 2024-05-06 08:43:30

    常用大数据组件的Web端口号总结

    这是关于常用大数据组件Web端口号的总结。通过虚拟机名+端口号可访问各组件服务:Hadoop HDFS的9870,YARN的ResourceManager的8088和JobHistoryServer的19888,Zeppelin的8000,HBase的10610,Hive的10002。ZooKeeper的端口包括客户端连接的2181,服务器间通信的2888以及选举通信的3888。
  • 05.06 08:41:13
    发表了文章 2024-05-06 08:41:13

    【超全详解】Maven工程配置与常见问题解决指南

    检查Maven配置包括验证路径、设置pom.xml与Project Structure的Java版本。基本操作有`clean-compile`、`install`和`package`,其中`install`会将jar包放入本地仓库。获取他人工程后需修改配置、清除缓存、更新依赖等。配置文件应从Maven Repository找寻,选择稳定高版本。创建Maven工程可选archetype如`quickstart`或直接创建Java工程。基本目录结构遵循分层设计原则,常见问题包括假性导包、端口占用、时区问题等,对应解决方案包括删除本地仓库文件、调整系统设置或重新加载项目。
  • 05.06 08:39:14
    发表了文章 2024-05-06 08:39:14

    【经验分享】如何快速转化笔记格式为标准的MarkDown格式并进行博客发布,提高生产力?

    本文介绍如何将笔记转换为Markdown格式以快速发布博客。通过使用特定的Prompt和AI工具Claude 3 Sonnet,可以将Notepad++笔记转为适合CSDN博客的Markdown格式。转换要求包括:正确标记代码段、调整缩进和格式、使用Markdown标题、列表、链接和图片语法。Claude 3 Sonnet能有效处理格式转换,将转换后的Markdown内容复制到编辑器,即可便捷发布博客。
  • 发表了文章 2024-08-05

    我的Google Vertex AI实践经验分享

  • 发表了文章 2024-08-05

    环境变量配置文件中两种路径添加方式

  • 发表了文章 2024-08-05

    钢琴模拟器

  • 发表了文章 2024-05-15

    数据的格式与描述

  • 发表了文章 2024-05-15

    函数式 Scala的重要基础!一文掌握!

  • 发表了文章 2024-05-15

    【史上最全】Hadoop精选18道面试题(附回答思路)

  • 发表了文章 2024-05-15

    Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)

  • 发表了文章 2024-05-15

    Linux笔记02 —— Shell补充

  • 发表了文章 2024-05-15

    Hive 拉链表详解及实例

  • 发表了文章 2024-05-15

    Hive 优化总结

  • 发表了文章 2024-05-15

    Hive 行列转换

  • 发表了文章 2024-05-15

    Hive实战 —— 电商数据分析(全流程详解 真实数据)

  • 发表了文章 2024-05-15

    实现HBase表和RDB表的转化(附Java源码资源)

  • 发表了文章 2024-05-15

    【经验分享】如何快速转化笔记格式为标准的MarkDown格式并进行博客发布,提高生产力?

  • 发表了文章 2024-05-15

    何时需要指定泛型:Scala编程指南

  • 发表了文章 2024-05-15

    【经验分享】如何在IDEA中快速学习|审查|复习代码工程?

  • 发表了文章 2024-05-15

    Scala 03 —— Scala OOP Extension

  • 发表了文章 2024-05-15

    Scala 05 —— 函数式编程底层逻辑

  • 发表了文章 2024-05-15

    Scala 04 —— Scala Puzzle 拓展

  • 发表了文章 2024-05-15

    异常详解,一文搞懂!

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2024-08-05

    人工智能与“人工”之间如何平衡?

    人工智能与人类工作的平衡:技术红利与创造力的共生 人工智能技术正以前所未有的速度融入我们的日常生活和各行各业,从自动化生产到个性化服务,无所不在。它带来的高效与便利毋庸置疑,但同时也引发了关于工作岗位、人类创造力等方面的深刻讨论。面对人工智能的高效自动化与人类独有的情感智慧、创新能力之间的关系,我们应该如何寻求和谐的平衡点? 1. 人工智能与工作岗位的平衡 人工智能的普及确实会导致一些岗位被替代,但同时也创造了新的就业机会。例如,在生产制造业中,自动化机器人能够完成高精度和高重复性的任务,从而提高生产效率。然而,这也意味着工厂需要更多的机器人维护工程师和数据分析师,这些岗位需要更高的技能水平和创造性思维。因此,面对这种变化,教育和培训体系需要做出相应调整,帮助劳动力转型升级,从而保持就业市场的活力。 案例:亚马逊仓库 在亚马逊的仓库中,自动化机器人负责物品的搬运和分类,这大大提高了效率。然而,这也创造了对数据分析、机器人维护以及系统优化等新岗位的需求。这种转变要求员工不断提升技能,以适应新的工作环境。 2. 保护人类的创造力与情感智慧 尽管人工智能在很多领域表现出色,但它无法完全替代人类的创造力和情感智慧。例如,设计行业中,尽管AI可以生成大量的设计方案,但最终的创意和灵感往往还是来自人类设计师的直觉和情感体验。在广告行业,AI可以分析用户数据并提供优化建议,但广告文案的创意和情感表达仍需人类的参与。 案例:广告创意 在广告创意领域,AI可以通过数据分析帮助确定受众的喜好,但广告文案的撰写和创意设计仍然需要人类的情感洞察和创意能力。例如,苹果公司的一些广告,尽管采用了数据驱动的市场分析,但最终的创意和情感渗透仍然依赖于人类的深度参与。 3. 促进人机协作共生 为了实现技术红利与人类工作的和谐共生,人机协作是一个关键点。人工智能可以承担重复性、繁琐的任务,而人类则专注于那些需要创造性和情感智慧的任务。这种分工协作能够最大化利用两者的优势,提高整体工作效率。 案例:医疗领域 在医疗领域,AI可以通过数据分析帮助医生更快地诊断疾病,提高诊断的准确性。但医生依然需要通过人际沟通、病史了解和情感支持来完成全面的患者照顾。这种人机协作模式在医疗实践中得到了广泛应用,有效提升了诊疗质量和患者满意度。 4. 技术红利与人类价值的保障 在享受技术红利的同时,我们需要采取措施来保障人类工作的价值与意义。例如,政府和企业可以通过政策支持、培训计划和职业转型服务,帮助劳动者适应新的工作环境。此外,推动人机协作文化的建设也是关键,通过增强员工对技术的理解和接受度,促进技术与人的和谐共生。 案例:企业培训计划 许多科技公司,如IBM和微软,已经开始实施员工再培训和技能提升计划。这些计划不仅帮助员工提升技术能力,还鼓励他们在工作中发挥创造力和解决问题的能力,从而在技术快速发展的环境中保持竞争力。 总结 在人工智能技术日益发展的今天,我们应当积极面对其带来的挑战与机遇。通过优化教育和培训体系、保护人类的创造力和情感智慧、促进人机协作、以及保障人类工作的价值与意义,我们可以在享受技术红利的同时,实现人机和谐共生。这不仅能够提高工作效率,也能使技术进步更好地服务于人类社会。
    踩0 评论0
  • 回答了问题 2024-08-05

    传统架构在哪些方面存在缺陷?

    云上Serverless高可用架构:省心省钱的选择 在当今数字化快速发展的时代,随着业务日益复杂和用户需求不断变化,传统架构的局限性越来越明显。面对业务流量的波动,传统架构常常会遇到性能瓶颈和资源浪费的问题。而随着云计算技术的不断进步,云上Serverless高可用架构应运而生。这种架构不仅能考虑高可用和弹性能力,还能降低资源使用和运维成本,免去预购资源的麻烦,只按实际使用收费。云上的Serverless架构支持服务托管、弹性伸缩和按量付费,减少企业手动资源管理和性能优化的工作,同时通过高可用的配置,避免单点故障的风险。 本期话题:传统架构在面对当今数字化转型浪潮时,存在的缺陷 扩展性不足 传统架构通常依赖固定的物理资源,当业务流量剧增时,难以迅速扩展。需要提前预估流量并购买硬件设备,导致资源利用率低且难以应对突发流量峰值。例如,电商平台在促销活动期间流量激增,如果没有提前准备足够的服务器资源,可能会导致系统崩溃或响应缓慢,影响用户体验和销售额。而即便购买了足够的硬件设备,这些资源在平时的利用率可能很低,造成浪费。 运维成本高 传统架构需要大量的人工进行服务器维护、监控和故障排除。随着业务规模扩大,服务器数量增加,运维工作变得更加复杂和繁重。不断变化的用户需求、频繁的硬件和软件升级增加了运维复杂度和成本,难以快速响应业务变化。例如,企业需要专门的IT团队进行服务器的日常维护、故障排查、性能优化和安全更新。这不仅增加了人力成本,还可能因为人为操作失误导致系统故障。 故障恢复能力弱 传统架构通常依赖单点的物理服务器或数据中心,一旦发生硬件故障或灾难事件,恢复时间长,影响范围大。企业需要投入大量资源和时间进行灾备演练和数据恢复,确保业务的连续性。然而,实际操作中,灾难恢复的复杂性和不确定性依然是巨大的挑战。 缺乏弹性 传统架构难以灵活应对业务需求的快速变化。面对用户行为变化、市场需求波动时,传统架构需要进行大量硬件和软件调整,响应速度慢,影响业务的敏捷性。例如,开发新功能或应用时,需要在现有硬件资源基础上进行复杂的配置和部署工作,影响开发效率和产品上市时间。 高能耗和环保压力 传统数据中心能耗巨大,对环境造成不小的影响。随着企业对可持续发展的重视,降低数据中心能耗和碳排放成为重要考量。然而,传统架构由于其低效的资源利用率和高能耗特点,难以满足企业的环保要求。 这些问题使得企业在数字化转型过程中面临挑战,而云上Serverless架构能够提供更灵活、高效和成本优化的解决方案。Serverless架构通过按需分配资源,实现自动扩展和缩减,无需提前预估和购买硬件设备,从根本上解决了资源利用率和扩展性问题。同时,Serverless架构的高可用配置和灾备方案显著提升了系统的可靠性和恢复能力。此外,Serverless架构按实际使用量计费,降低了企业的运维成本和能耗,符合环保要求,帮助企业在数字化转型中取得更大成功。
    踩0 评论0
  • 回答了问题 2024-08-05

    你有哪些能写出完美Prompt的秘籍?

    Prompt工程与实践 PS:本文全部出自个人博客经验总结,非GPT生成。 一、Prompt与大模型 1.1 大模型的定义 大模型本质上就是一个概率生成模型,该模型的模型参数足够大,并且在训练过程中阅读了非常多的各个领域的语料。这个时候,如果通过一个正确的、有效的指令去引导这个模型,就能够生成我们想要的内容。 1.2 大模型的用途 信息抽取 将长段文字提取出结构化信息 信息检索 通读结果并根据你的查询生成针对性的回答 对话系统 根据制定规则进行对话 辅助开发 辅助编写代码,降低门槛 Agent Agent模型加上外围的技术架构可以让大模型去完成一个具体的任务,将任务背后的若干个工作都做好。其中的智能工单系统就一边跟你沟通,一边去调用后端的一些接口,将自身的诉求下发到接口里帮助你直接去问完成。比如说智能导购系统,通过我们在前端构建一个用户和这个机器的一个聊天的一个交互的界面,然后在背面我们把更多丰富的像商品搜索的接口、下订单的接口都连接起来,让用户和模型在对话的过程中,执行各种后端的工具,完成一个闭环的完整任务。 Agent的价值就是模型可以充分利用多个API,换而言之,每个人都可以构建一个垂直领域的Agent的机器人,然后调用平台各种开发的工具,完成自己想让他完成的一个特定领域的任务。预训练环节是模型厂商会大量做的工作,目的是让模型具备一个基础的智能,然后它可以面对各行各业的问题,能够有一个比较好的基础的认知,能够去分析、推理。进一步到了这个具体的场景当中,我们可以通过微调和指令工程这俩个方式,然后去调用大模型的能力去解决具体的业务问题。特别是微调这个环节,可以使用较多的监督性语料,从而去改变模型的参数,使其在这个具体的事情上做得更加充分。 对于指令工程,我们要考虑如何用工程化的方式写好一个指令?它没有特别多的模板,更多的是一些指导性的思路。我个人的建议是,写好一个Prompt,在刚接触的情况下,可以先基于一些基本的框架进行套用,结合原理以及一些指导性的思路对指令进行添加和改写。如果在可以的情况下,可以预先准备好数据集,包含了Input、Output、Output tips、Reason等等部分,并且不断地通过LLM的反馈来进一步修正Prompt。 二、Prompt框架 不同的任务类型对应不同的Prompt框架,不同的Prompt框架对应不同的思考逻辑;每个框架都有自身适合的场景。 2.1 CO-STAR框架 介绍 CO-STAR Framework是最新一届的新加坡政府举办的Prompt工程大赛的冠军选手的框架,可以予以借鉴。 如何应用CO-STAR框架: ·(C)上下文:为任务提供背景信息,通过为大语言模型(LLM)提供详细的背景信息,可以帮助它精确理解讨论的具体场景,确保提供的反馈具有相关性。·(O)目标:明确你要求大语言模型完成的任务 清晰地界定任务目标,可以使大语言模型更专注地调整其回应,以实现这一具体目标·(S)风格:明确你期望的写作风格 你可以指定一个特定的著名人物成某个行业专家的写作风格。如商业分析师或CEO。这将指导大语言模型以一种符合你需求的方式和词汇选择进行回应。·(T)语气:设置回应的情感调 设定话当的语气,确保大语言模型的回应能够与预测的情感或情绪背景相协调。可能的语气包括正式、幽默、富有同情心等。·(A)受众:识别目标受众 针对特定受众定制大语言模型的回应,无论是领域内的专家,初学者还是儿童,都能确保内容在特定上下文中适当且容易理解。·(R)响应:规定输出的格式 确定输出格式是为了确保大语言模型按照你的具体需求进行输出,便于执行下游任务。常见的格式包括列表、JSON格式的数据、专业报告等。对于大部分需要程序化处理大语言模型输出的应用来说,JSON格式是理想的选择。 2.2 其他框架 ICIO框架 将指令的内容分为四个部分,第一部分是介绍角色、任务和背景知识,第二部分是给出执行的步骤、思维链、样例数据,第三部分是给出输入数据,第四部分是给出输出的定义和指引。 LangGPT 这个框架更偏向开发,给了很多的细节要求,里面有一部分涉及到洞察力,比如说工程师需要自行判断这个指令的目标用户是什么?因此写指令不仅需要我们的逻辑能力,也需要我们的产品能力。 三、Prompt原则 3.1 清晰明确 可以考虑==将我的理想输出内容细化为多个部分,限定字数==,来使其更加清晰明确。 3.2 给模型思考的空间和路径 将模型做这件事情的思考过程尽可能地讲清楚,比如说在标黄的三部分,对开头、主体和结尾三大部分给模型一个具体的思考逻辑。写好一个指令的前提是需要有一个清晰的目标,有些问题可能比较有难度,光给他目标也不够,此时就应该附加一些具体的思考逻辑和路径。 四、Prompt的指导性思路 4.1 Few Shot 给出示例来解释内容 Few Shot其实是一个Context Learning的思路,通过说不改变模型的思路,仅仅通过指令的上下文窗口去调优模型生产内容,提供一些示例,让模型自己去学。 4.2 COT(Chain Of Thought) 让其输出思考过程,将COT量化出来,提升模型输出的准确性。 进一步强化的话,可以给一些具体的COT的示例。 4.3 Temperature temperature用于控制模型输出内容的多样性。temperature越低,内容越稳定;temperature越高,内容越多样。 利用指令追求正确性的过程中,大模型的创造性在很多场景对于一些难题或者一些需要创造性答案的题很有帮助。 进一步强化的话,可以给一些具体的COT的示例。 4.3 Temperature temperature用于控制模型输出内容的多样性。temperature越低,内容越稳定;temperature越高,内容越多样。 利用指令追求正确性的过程中,大模型的创造性在很多场景对于一些难题或者一些需要创造性答案的题很有帮助。 4.4 top_p top_p影响每次输出选词集中的程度。 top_p越低,选词词数越集中;top_p越高,选词词数越发散。 4.4 top_p top_p影响每次输出选词集中的程度。 top_p越低,选词词数越集中;top_p越高,选词词数越发散。 4.5 Tree Of Thought 将任务拆分为多个子任务,再通过不同的Prompt指令进行实现。 4.6 Agent 此处我们以定义一个'智能客服'的Agent为例。 第一部分我要在其中定义好工具,对于一个智能客服,我们需要定义像订单情况的查询,天气的查询计算器,政策赔偿查询等等。第二部分是我要告诉指令你该怎么去做思考,遇到每个工具返回的过程性结果,应该如何去做思考?第三部分是对于每个思考,都需要有具体的行动和调用的工具,最终得到Final Action,做出行动。 Agent的明显优势就是能够独立完成一个完整的任务,这对Prompt工程设计的要求程度更高,我们至少要定义清楚这个工具的用途,以便让模型知道应该调用哪个工具,并且需要告诉模型在这个场景下应该去如何拆解任务。因此大家可以看到,随着模型能力的不断增强,指令在这其中发挥的作用只会越来越大。 五、Prompt Engineering是什么 迭代:没有人能直接写出100分的指令评测:像训练算法模型一样优化你的指令 我们需要==通过评测集==对指令不断地去调优,判断该指令是否能够放到生产环境中去用。 六、调优Prompt Prompt的调优一般从==内容==和==结构==两个方面进行入手。 6.1 从内容上调优指令 角色迭代 告知大模型他应该扮演的角色,例如'你是口语对话教练' 任务迭代 对于指令中的关键动作,尝试不同的近义词或其他相近的描述来提升准确性。避免负向指令,通过更换概念等方式,尽量告诉模型应该输出什么。逻辑完备,避免在'无'的时候,大模型自由发挥、臆造信息。 Few Shot迭代使添加的样例比例更加均匀。 6.2 从结构上迭代指令 分条目 顺序 先输出的内容会影响后输出的内容。可尝试不同的顺序,避免提取项之间的干扰,找到最佳的提取效果。 分隔符:将文本上下文、不同的知识模块做分隔,避免无关知识模块的影响。
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息