Byyyi_社区达人页
产品
解决方案
文档与社区
权益中心
定价
云市场
合作伙伴
支持与服务
了解阿里云
AI 助理
备案
控制台
开发者社区
首页
探索云世界
探索云世界
云上快速入门,热门云上应用快速查找
了解更多
问产品
动手实践
官方博客
考认证
TIANCHI大赛
活动广场
活动广场
丰富的线上&线下活动,深入探索云世界
任务中心
做任务,得社区积分和周边
高校计划
让每位学生受益于普惠算力
训练营
资深技术专家手把手带教
话题
畅聊无限,分享你的技术见解
开发者评测
最真实的开发者用云体验
乘风者计划
让创作激发创新
阿里云MVP
遇见技术追梦人
直播
技术交流,直击现场
下载
下载
海量开发者使用工具、手册,免费下载
镜像站
极速、全面、稳定、安全的开源镜像
技术资料
开发手册、白皮书、案例集等实战精华
插件
为开发者定制的Chrome浏览器插件
探索云世界
新手上云
云上应用构建
云上数据管理
云上探索人工智能
云计算
弹性计算
无影
存储
网络
倚天
云原生
容器
serverless
中间件
微服务
可观测
消息队列
数据库
关系型数据库
NoSQL数据库
数据仓库
数据管理工具
PolarDB开源
向量数据库
热门
百炼大模型
Modelscope模型即服务
弹性计算
云原生
数据库
云效DevOps
龙蜥操作系统
平头哥
钉钉开放平台
物联网
大数据
大数据计算
实时数仓Hologres
实时计算Flink
E-MapReduce
DataWorks
Elasticsearch
机器学习平台PAI
智能搜索推荐
数据可视化DataV
人工智能
机器学习平台PAI
视觉智能开放平台
智能语音交互
自然语言处理
多模态模型
pythonsdk
通用模型
开发与运维
云效DevOps
钉钉宜搭
支持服务
镜像站
码上公益
Byyyi
已加入开发者社区
301
天
勋章
更多
专家博主
专家博主
星级博主
星级博主
技术博主
技术博主
江湖新秀
江湖新秀
成就
已发布63篇文章
19条评论
已回答3个问题
0条评论
已发布0个视频
github地址
我关注的人
更多
行十三
行十三
IT邦德
IT邦德
Byyyi
Byyyi
全栈程序猿
全栈程序猿
大数据流动
大数据流动
anycodes.cn
anycodes.cn
粉丝
更多
wenxinx
wenxinx
xiari8
xiari8
游客zutjs7jo3wnny
游客zutjs7jo3wnny
wu-haha
wu-haha
zhanbao
zhanbao
游客w5pql4npxtxla33
游客w5pql4npxtxla33
游客gfbmkllw24vyw111
游客gfbmkllw24vyw111
轩轩馒头铺
轩轩馒头铺
游客0000-0
游客0000-0
注意看,这个小伙~~
注意看,这个小伙~~
情人劫
情人劫
大太阳312
大太阳312
技术能力
兴趣领域
Java
SQL
数据建模
Linux
大数据
擅长领域
技术认证
暂时未有相关云产品技术能力~
Google Alphabet大数据开发实习生,华为开发者布道师,华为大数据云享专家
精选
高分内容
最新动态
文章
问答
视频
暂无精选文章
暂无更多信息
2024年05月
05.06
08:37:32
发表了文章
2024-05-06 08:37:32
【经验分享】Typora 设置代码块的默认语言并设置为开机启动
在Typora中设置代码块默认语言为Java(或其他语言)的自动化方法。通过下载AHK(AutoHotkey)软件,创建一个.ahk脚本,设定`Ctrl+Shift+K`快捷键触发代码块并输入指定语言。将脚本改名为.ahk扩展名并运行,确保图标出现在任务栏。要实现开机启动,使用Win+R打开"运行",输入shell:startup并粘贴.ahk文件到启动文件夹。
05.06
08:35:10
发表了文章
2024-05-06 08:35:10
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
05.06
08:33:15
发表了文章
2024-05-06 08:33:15
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务
该文章提供了在虚拟机上安装MySQL服务的简化方法,特别是针对新手。作者提供了一个自动化脚本`install_mysql.sh`,使得安装过程更简单。用户需要下载`install.rpm`资源,将其放在指定目录下,然后创建并编辑脚本文件,将提供的代码粘贴进去,通过`chmod u+x`授权,最后运行脚本`./install_mysql.sh [rpm文件路径]`来安装MySQL。文章还附有相关图片说明。
05.06
08:31:36
发表了文章
2024-05-06 08:31:36
何时需要指定泛型:Scala编程指南
本文是Scala编程指南,介绍了何时需要指定泛型类型参数。泛型提供代码重用和类型安全性,但在编译器无法推断类型、需要提高代码清晰度、调用泛型方法或创建泛型集合时,应明确指定类型参数。通过示例展示了泛型在避免类型错误和增强编译时检查方面的作用,强调了理解泛型使用时机对编写高效Scala代码的重要性。
05.06
08:28:31
发表了文章
2024-05-06 08:28:31
Scala01 —— Scala基础
Scala 是一种基于 JVM 的多范式编程语言,它融合了面向对象和函数式编程的特点。本文档介绍了Scala的基础知识,包括如何搭建开发环境、语言特性、变量和数据类型、程序逻辑、运算符、控制流、集合以及方法和函数的使用。特别强调了Scala集合的重要性,它们作为数据结构支持多种操作,并且有许多内置的算子和库来解决问题。文档还涵盖了如何在IDEA中配置Scala SDK,以及如何使用元组、映射、数组和模式匹配等核心概念。此外,文档还讨论了Scala与Java变量的区别,以及如何通过隐式类和字符串插值等扩展语言功能。
05.06
08:21:53
发表了文章
2024-05-06 08:21:53
【科研入门】搭建与配置云服务器的论文环境
本文介绍了如何搭建云服务器并配置论文代码环境,以AutoDL平台为例。首先,租用服务器并选择符合代码需求的镜像版本,如Python 3.7、TensorFlow 1.15和PyTorch。接着,启动服务器进入终端,克隆项目代码并使用Conda创建隔离的环境安装所需包。如果需在Pycharm中工作,还需在Pycharm内创建相同环境。最后,根据项目配置安装Tensorflow和PyTorch,遇到缺失包时通过`pip install`补充。完成配置后,可克隆服务器以备后续使用。遇到版本不兼容问题,可调整Conda环境的Python版本。
05.06
08:16:55
发表了文章
2024-05-06 08:16:55
【科研入门】评价指标AUC原理及实践
该文介绍了二分类问题的评估指标,特别是AUC的概念和重要性。文章首先讲解了混淆矩阵,包括TP、FP、FN和TN的含义,然后讨论了准确率、精确率和召回率,并指出它们在处理不平衡数据集时的局限性。接着,作者解释了阈值对分类结果的影响以及如何通过调整阈值平衡精确率和召回率。最后,文章重点介绍了ROC曲线和AUC,说明AUC作为衡量模型性能的无参数指标,其值越接近1表示模型性能越好。AUC可以通过计算ROC曲线下的面积或比较样本对的预测得分来求得。
05.06
08:14:56
发表了文章
2024-05-06 08:14:56
解决Pycharm安装后无法导入库的问题
解决Pycharm导入库问题:进入Settings,选择Project的`Python Interpreter`,点击Add Interpreter。删除`.venv`文件夹内容,然后关闭并重启Pycharm以初始化新环境,现在可以正常导入库了。
05.06
08:05:02
发表了文章
2024-05-06 08:05:02
Spark安装教程
该教程详细介绍了在Linux环境下安装Spark 3.1.2的步骤。首先,检查JDK版本需为1.8。接着,下载Spark资源并设置环境变量`SPARK_HOME`。配置`spark-env.sh`和`yarn-site.xml`文件,禁用内存检查。然后,重启Hadoop集群,启动Spark集群,并通过`jps -ml`检查Spark Master和Worker。可以通过Web UI访问Spark状态,并使用`spark-shell`测试Scala交互环境及Spark on Yarn。最后,学习如何关闭Spark集群。
05.06
08:03:27
发表了文章
2024-05-06 08:03:27
Scala 02——Scala OOP
Scala 是一种纯粹的面向对象编程(OOP)语言,它不支持基本类型,所有数据都作为对象处理,即使在JVM上运行也会自动处理拆装箱。Scala 不包含静态关键字,其“静态”概念体现在类型系统和单例对象中,类型检查都在编译时完成。类型推断、类型预定和动静结合是其特点,例如,Scala 支持协变和逆变,使得泛型编程更加灵活。此外,Scala 的类、继承、抽象类、单例对象和泛型等特性提供了丰富的编程模型。例如,单例对象可以看作静态成员的替代品,同时具备惰性初始化和与类的绑定关系。
05.06
08:01:35
发表了文章
2024-05-06 08:01:35
Scala 04 —— Scala Puzzle 拓展
Scala 程序设计探讨了占位符、模式匹配、继承中的成员声明、默认值与重载以及集合操作的一致性。示例展示了 `_` 占位符在函数简洁性上的应用,同时指出它不等同于箭头函数,因为函数体内的副作用可能不同。另外,解释了变量与常量模式,以及在继承中字段初始化的顺序。在集合操作中,`for`循环与`map`的区别在于`for`会过滤不符合模式的元素,而`map`则会引发错误。最后,讨论了如何确保集合类型在操作中保持一致。
05.06
07:59:36
发表了文章
2024-05-06 07:59:36
Scala 05 —— 函数式编程底层逻辑
Scala讲座探讨了函数式编程的底层逻辑,强调无副作用和确定性。函数式编程的核心是纯函数,避免读写数据等副作用,将其移至代码边缘处理。函数输入输出应清晰定义,避免模糊参数。函数视为数据范畴间的映射,以范畴论为基础。业务逻辑转化为纯函数式,通过声明式编程实现解耦,关注输入输出而非过程,便于验证和自动编程。将业务逻辑视作流水线,每个函数处理数据,避免全局变量和`var`,优先确保正确性再优化效率。
05.06
07:54:50
发表了文章
2024-05-06 07:54:50
Scala 03 —— Scala OOP Extension
Scala OOP 拓展
05.06
07:53:00
发表了文章
2024-05-06 07:53:00
Scala应用 —— JDBC的创建
这篇文章介绍了如何使用Scala实现JDBC连接。首先,通过在pom.xml添加MySQL JDBC驱动依赖,然后使用`Class.forName()`加载驱动,接着创建连接对象。初始化执行器涉及创建执行器对象和设置参数。执行操作时,根据DML(数据修改语言)和DQL(数据查询语言)返回不同结果。文章提出了一个柯里化的`jdbc`函数,以处理不同操作步骤和多类型结果。结果类型通过枚举和抽象类`Three`的子类来表示,包括异常、DML影响行数和DQL查询结果。最后,展示了`jdbc`方法的实现,以及如何处理结果并转换为具体对象。代码示例中,查询结果被转换为`Test`对象数组并打印。
05.06
07:50:27
发表了文章
2024-05-06 07:50:27
ZooKeeper详解
ZooKeeper是大数据组件中的协调器,确保高可用性和一致性。它用于监控主备节点切换(如Hadoop YARN的ResourceManager,HBase的RegionServer,Spark的Master)并实现数据同步。设计基于文件系统和通知机制,通过Znodes的状态变化(创建、删除、更新、子节点变化)进行协调。ZooKeeper使用观察者模式,当Znode变化时,通知客户端。其数据结构为树形,提供CLI工具如`zkCli.sh`进行交互。ZooKeeper有三个默认端口:2181(客户端连接),2888(服务器间同步),3888(选举)。选举采用半数机制,确保集群稳定性。
05.06
07:48:32
发表了文章
2024-05-06 07:48:32
MySQL常见问题解决和自动化安装脚本
这篇内容包含了两个主要部分:解决MySQL登录问题和处理GPG密钥问题。当MySQL密码正确但无法登录时,可以通过执行SQL命令`ALTER USER`和`flush privileges`来修改和重置密码。对于MySQL安装时的GPG密钥错误,首先需要强制删除旧的MySQL仓库包,导入新的GPG公钥,然后安装MySQL服务器。如果遇到GPG检查错误,可以使用`--nogpgcheck`参数忽略检查来安装。最后,提供了一个自动化安装MySQL的脚本,用于检查旧版本、卸载残留、安装MySQL8并启动服务。
05.06
07:47:06
发表了文章
2024-05-06 07:47:06
Spark01 —— Spark基础
Spark基础
1
2
跳转至:
发表了文章
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和微软,已经开始实施员工再培训和技能提升计划。这些计划不仅帮助员工提升技术能力,还鼓励他们在工作中发挥创造力和解决问题的能力,从而在技术快速发展的环境中保持竞争力。 总结 在人工智能技术日益发展的今天,我们应当积极面对其带来的挑战与机遇。通过优化教育和培训体系、保护人类的创造力和情感智慧、促进人机协作、以及保障人类工作的价值与意义,我们可以在享受技术红利的同时,实现人机和谐共生。这不仅能够提高工作效率,也能使技术进步更好地服务于人类社会。
赞30
踩0
评论0
回答了问题
2024-08-05
传统架构在哪些方面存在缺陷?
云上Serverless高可用架构:省心省钱的选择 在当今数字化快速发展的时代,随着业务日益复杂和用户需求不断变化,传统架构的局限性越来越明显。面对业务流量的波动,传统架构常常会遇到性能瓶颈和资源浪费的问题。而随着云计算技术的不断进步,云上Serverless高可用架构应运而生。这种架构不仅能考虑高可用和弹性能力,还能降低资源使用和运维成本,免去预购资源的麻烦,只按实际使用收费。云上的Serverless架构支持服务托管、弹性伸缩和按量付费,减少企业手动资源管理和性能优化的工作,同时通过高可用的配置,避免单点故障的风险。 本期话题:传统架构在面对当今数字化转型浪潮时,存在的缺陷 扩展性不足 传统架构通常依赖固定的物理资源,当业务流量剧增时,难以迅速扩展。需要提前预估流量并购买硬件设备,导致资源利用率低且难以应对突发流量峰值。例如,电商平台在促销活动期间流量激增,如果没有提前准备足够的服务器资源,可能会导致系统崩溃或响应缓慢,影响用户体验和销售额。而即便购买了足够的硬件设备,这些资源在平时的利用率可能很低,造成浪费。 运维成本高 传统架构需要大量的人工进行服务器维护、监控和故障排除。随着业务规模扩大,服务器数量增加,运维工作变得更加复杂和繁重。不断变化的用户需求、频繁的硬件和软件升级增加了运维复杂度和成本,难以快速响应业务变化。例如,企业需要专门的IT团队进行服务器的日常维护、故障排查、性能优化和安全更新。这不仅增加了人力成本,还可能因为人为操作失误导致系统故障。 故障恢复能力弱 传统架构通常依赖单点的物理服务器或数据中心,一旦发生硬件故障或灾难事件,恢复时间长,影响范围大。企业需要投入大量资源和时间进行灾备演练和数据恢复,确保业务的连续性。然而,实际操作中,灾难恢复的复杂性和不确定性依然是巨大的挑战。 缺乏弹性 传统架构难以灵活应对业务需求的快速变化。面对用户行为变化、市场需求波动时,传统架构需要进行大量硬件和软件调整,响应速度慢,影响业务的敏捷性。例如,开发新功能或应用时,需要在现有硬件资源基础上进行复杂的配置和部署工作,影响开发效率和产品上市时间。 高能耗和环保压力 传统数据中心能耗巨大,对环境造成不小的影响。随着企业对可持续发展的重视,降低数据中心能耗和碳排放成为重要考量。然而,传统架构由于其低效的资源利用率和高能耗特点,难以满足企业的环保要求。 这些问题使得企业在数字化转型过程中面临挑战,而云上Serverless架构能够提供更灵活、高效和成本优化的解决方案。Serverless架构通过按需分配资源,实现自动扩展和缩减,无需提前预估和购买硬件设备,从根本上解决了资源利用率和扩展性问题。同时,Serverless架构的高可用配置和灾备方案显著提升了系统的可靠性和恢复能力。此外,Serverless架构按实际使用量计费,降低了企业的运维成本和能耗,符合环保要求,帮助企业在数字化转型中取得更大成功。
赞49
踩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 从结构上迭代指令 分条目 顺序 先输出的内容会影响后输出的内容。可尝试不同的顺序,避免提取项之间的干扰,找到最佳的提取效果。 分隔符:将文本上下文、不同的知识模块做分隔,避免无关知识模块的影响。
赞5
踩0
评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
勋章
关注
粉丝