分类 软件技巧 下的文章 - 🥝 E 家 分 享 🥝
首页
📋 留言板
🔗 友情链接
🛠️ E家百宝箱
❤️ 关于
推荐
🔍 VPS监控
🐉 青龙面板
💽 E家网盘
----------
🔗 CloudFlare
🔗 甲骨文云
🔗 RackNerd
搜 索
1
自动提取 ChromeGo 一键翻墙包内的免费节点
301 阅读
2
GigaFile - 日本免费大文件加密分享服务,最长保留文档100天
213 阅读
3
【汇总:免费节点 - 每周更新】
184 阅读
4
CloudFlare WARP 免费 VPN 搭建教程
109 阅读
5
【E家分享月刊系列】2024-12
92 阅读
精选网站
网站搭建
科学上网搭建
有感而发
软件技巧
Excel技巧
WordPress技巧
登录
搜 索
标签搜索
WordPress
脚本
GitHub
科学上网
哈佛管理导师
E家分享月刊系列
V2ray
Mac软件
AI
Cloudflare
Docker
免费节点
建站在线工具
Excel技巧
Notion
Nginx
ChatGPT
图像编辑
免费图床
网盘资源
E家之长
累计撰写
195
篇文章
累计收到
246
条评论
首页
栏目
精选网站
网站搭建
科学上网搭建
有感而发
软件技巧
Excel技巧
WordPress技巧
页面
📋 留言板
🔗 友情链接
🛠️ E家百宝箱
❤️ 关于
推荐
🔍 VPS监控
🐉 青龙面板
💽 E家网盘
----------
🔗 CloudFlare
🔗 甲骨文云
🔗 RackNerd
用户登录
登录
找到
59
篇与
软件技巧
相关的结果
2023-05-28
为 Microsoft 365 设置多重身份验证
问题今天登录 OneDrive 5T 网盘,提示让我进行多重身份验证,还提示14天后就要按默认设置强制实行。主要带来的影响是无法再使用 Alist 网盘程序来实现访问了。因此在微软官网找到了如何进行多重身份验证的设置说明。多重身份验收设置如果您的订阅是新的,安全默认设置可能已经自动为您打开。您可以从 Azure 门户中的 Azure Active Directory (Azure AD) 的“属性”窗格启用或禁用安全默认值。使用全局管理员凭据登录到 Microsoft 365 管理中心。在左侧导航栏中选择 Show All,然后在 Admin centers 下选择 Azure Active Directory。 在 Azure Active Directory 管理中心选择 Azure Active Directory > Properties。在页面底部,选择 Manage Security defaults。 选择 Yes 启用安全默认值或 No 禁用安全默认值,然后选择 Save。参考阅读为 Microsoft 365 设置多重身份验证【END】
2023年05月28日
20 阅读
0 评论
0 点赞
2023-05-24
怎样将 iPhone 备份保存到 Mac 的外部存储设备
本文作者:青枫 转载地址:https://sspai.com/post/76016一、问题描述前段时间碰到一个问题,我 iPhone 背板碎了,需要走 AppleCare 交给苹果返厂维修,而我的 iPhone 是 512GB 的,在备份数据时候麻烦了,我笔记本本身就是 512GB 空间的,肯定不够用呀。 而备份 iPhone 默认的存储位置是在本机的硬盘上,我有个 14T 的硬盘,那么如何将默认的备份位置改到外部存储设备上呢。二、如何设置备份位置到外部存储器默认的备份位置在下面这个目录~/Library/Application Support/MobileSync/Backup其目录是这样的,Backup 里面就是你的每个设备每次的备份记录我们要做的就是将这个位置映射到你的移动硬盘上去。1. 确定你的移动硬盘位置你需要知道自己硬盘的完整文件路径:打开终端,输入 cd 然后将你的硬盘图标拖到终端中,就会看到它的路径了回车进入到移动硬盘目录下,指令 ls -al 能看到硬盘中的所有文件(图片中的 ll 是我自定义的一个指令)我的就是 /Volumes/Kyle 14TB/ (在终端的路径需要转义空格,所以能看到终端中名字空格前面有个 \)2. 移动硬盘中新建一个备份文件夹在你的移动硬盘中新建一个备份文件夹,用于存储接下来的手机备份文件。mkdir Backup此时能看到目录中多出一个名为 Backup 的文件夹进入这个文件夹并展示它的绝对路径cd Backup pwd能看到我的这个文件夹的绝对路径是 /Volumes/Kyle 14TB/Backup,这个会在下面用到。3. 备份系统原有 Backup 文件夹进入 ~/Library/Application Support/MobileSync 目录,并删除或重命名 Backup 文件夹。 如果你之前有已经备份的东西,可以将其重命名成其它名字,总之就是不要占用 Backup 这个名字就好。 下面指令将 Backup 文件夹重命名成了 Backup-oldcd ~/Library/Application\ Support/MobileSync mv Backup Backup-old4. 建立软链接到新备份文件夹你需要知道,iPhone 的备份目录路径是不会变的,系统备份的时候还是会去找下面这个路径~/Library/Application Support/MobileSync/Backup我们要做的就是建立一个连接将 ~/Library/Application Support/MobileSync/Backup 与 /Volumes/Kyle 14TB/Backup 联系起来,让系统在访问原备份路径的时候就是在访问外部硬盘的路径。上面我们已经确定了两个路径:系统的备份路径: ~/Library/Application Support/MobileSync/Backup新建的外部备份文件夹路径: /Volumes/Kyle 14TB/Backup在 ~/Library/Application Support/MobileSync 目录下,执行下面指令建立软件链接,注意如果有空格,需要用 \ 转义ln -s /Volumes/Kyle\ 14TB/Backup ~/Library/Application\ Support/MobileSync/Backup这样,此时就在这两个文件夹之间建立了一个软件链接,访问 ~/Library/Application\ Support/MobileSync/Backup 跟访问 /Volumes/Kyle 14TB/Backup 等效。三、正常备份此时再点击备份,就能正常了,并且在外部存储器的备份文件夹中也已经有了备份文件这是备份和中间过程,还没备份完成备份完成后就能看到的备份文件,500G 备份了4个小时,苹果的 USB2.0 真垃圾,万年不更新(2022-09-30)四、恢复数据恢复数据也是个漫长的过程,用时 4-6 个小时中间看《老友记》缓解一下心情 1080p 的不如分辨率小的剧情多,这个删减了太多。恢复完成五、完成有个地方需要注意,这样操作之后,下次备份需要再连接当时的硬盘才行。 如果你想恢复到原来的情况,只需要将那个连接文件删除即可。cd ~/Library/Application\ Support/MobileSync rm -f Backup另外恢复原来备份文件目录mv Backup-old Backup或者新建一个新的mkdir Backup【END】
2023年05月24日
13 阅读
0 评论
0 点赞
2023-05-22
AI 时代的炼金术:Prompt 完全食用指南
本文作者:善宝橘 转载地址:https://sspai.com/post/79923前言2023 年是 AI 的时代,以 ChatGPT 为首的大模型召唤出了一大批炼金术士,他们挥舞着魔杖,以自己的智慧、灵感和激情不停地创造着一个又一个绚丽的世界。而 Prompt,就是这个 AI 时代的炼金咒语。“假如你是莎士比亚,请帮我写一首 100 字左右的情诗,献给我心爱的姑娘”,当一位初生的炼金术士对着这个时代最强大的炼金模型念诵着他的咒语,模型慷慨地回应了他的所求:“我最亲爱的,我心目中的美丽少女。你是太阳,照耀着我的世界。你的美丽胜过最亮的星,在你面前,我所有的烦恼都远去。你是我花园里盛开的玫瑰,最甜美的香气使我的灵魂变得坚硬。你的声音是我耳边的音乐,在你的怀抱中,我忘记了所有的恐惧。”如斯美言,让这位不善倾吐的炼金术士,有了一展爱意的可能性。然而,正如古老的炼金之神所传下的箴预:炼金乃一门艺术,而非科学。咒语时而能达成炼金者的心意,时而又如充耳的聋子或叛逆的顽童,唯一所长即是同炼金者作对,以不达心意为最大之己任。所幸,炼金界的前辈们已总结了咒语的最佳实践,虽不能在所有实践场景下奏效,但已是金玉良言,足以为吾等初学者铺路。一、大模型的工作原理咒语,本质上是控制大模型的一把钥匙。若想学好咒语,需先学一学大模型的皮毛。大模型的本质,是基于大样本训练出的预测模型。模型基于给它输入的语料,根据概率预测可能的回答。模型的预测结果,受它的语料限制。譬如,模型所接收的语料是如下内容:中国的首都是哪里?法国的首都是哪里?美国的首都是哪里?当提问者提问模型「中国的首都是哪里?」,模型的回答可能是「法国的首都是哪里?」。模型实际上并不理解提问的含义,它只是根据过往的训练,预测与该提问最相关的内容 。为了避免这种情况的出现,在预测模型之上,早期的炼金术士们想出了一种方案:通过人类的反馈来约束模型,从而让模型回答出人类满意的答案。当预测模型执行某个任务时,人类可以提供正面或负面的反馈,以指导模型的行为。通过这样的方式,当提问者再次提问「中国的首都是哪里?」时,模型就可以回答出人类想要的答案:「北京」。(炼金小密闻:模型学习文本的方式同人类不同,它们会同时查看所有的内容,而不是像人类一样从左到右阅读。它们输出的每个字符都基于它们以前看到的和写下的,每次它们输出一个新字符时,都会停下来思考下一个字符是什么。另外,模型定义的字符和人类的定义也不一样,有时人类以为是一个字符的存在,在模型眼中可能是两个字符。)二、大模型的能力斯温伯恩曾言:“简单是真理的明证”,大模型也同样如此。作为炼金史上最强大的产物之一,它的能力也可以简单归为三类:识别、理解、生成。识别:查找,并从语料中提取特定的信息;理解(并非人类意义上的理解):对语料加以解释、概括和推理;生成:基于识别和理解之上,生成新的语料;三生万物,杰出的炼金术士基于大模型的三种能力,与特定的行业结合,迸发出强大的创新和生产力。信息筛选器请基于我提供的文本,分析文本的内容,如果文本主题与 AI 伦理相关,请为我保留下 来,并输出 100 字左右的简单概述。我希望你能将所有保留的文本梳理成一篇简报, 并基于保留的文本输出 200 字左右的综述。个性化客服请阅读我所提供的客户评论,并分析用户的情感倾向。你将基于用户的情感倾向回复用 户评论。如果用户评论为正向,请向用户表示感谢,字数为 50 字左右。如果用户评论 为负向,请向用户致以诚挚的歉意,并表明我们的改进诚意,字数为 100 - 150 左右。 你应该在回复中引用用户的原文。代码生成器假设你是一个 python 代码生成器,你的任务是基于用户所给的代码注释,生成对应的 python 代码,你应该以 markdown 的格式输出你的内容。在生成过程中,你应该检 查用户的输入信息,以确保该信息足以让你输出正确的答案。若你在生成过程中有任何 不确定的地方,请立即停止你的输出,并告知用户。三、编写咒语的原则杰出的炼金术士总是知道如何编写好的咒语以充分发挥大模型的能力,而他们也总是告诫初出茅庐的菜鸟们:编写咒语是一种艺术而非科学,因此需要反复实践,在挫败中总结。切勿迷信一成不变的最佳模板,每一个发挥良好功效的咒语都有它的适用场景和局限。当然,一些良好且共通的实践规范仍然可以被分享,这是一条初生的道路,需要所有实践者的共同贡献。编写有效咒语的良好实践准则:明确且具体的指令。初生炼金术士在编写咒语,很容易在咒语中泛泛而谈。「请为我生成一首情诗」,既不知情诗的风格,也不知情诗的字数。相较而言,「请为我生成一首 100 字左右的莎士比亚风格的情诗」则具体许多。在具体实践时,炼金术士们应该从输入 、思考 、输出三个维度思考咒语的编写,在每个维度都紧扣「明确且具体」的要求。(一)输入维度输入:指 prompt 的输入格式。一个良好 prompt 的输入格式应该是层次分明的,不同的内容类型最好以分隔符区分,譬如:请将下列括号中的内容翻译成英文:(这是一个美好的时代,我们都有美好的未来。 我们唯一要做的是耐心等待。)通过括号的分割,prompt 的指令与文本被分开了,这使得咒语被模型识别时,不同的内容以不同的功能被执行。分隔符可以是任意类型,核心在于将不同的内容类型进行区分。(二)思考维度思考:指要求模型执行指令时的思维方式。正如人类有系统一和系统二一样,模型在执行时似乎也遵循着同样的逻辑。因此,当我们输入某些复杂问题时,模型为了效率优先,常常输出一些貌似正确,实则荒唐的答案。为了避免类似情况的出现,炼金术士在编写咒语时可以要求模型按特定的方式进行思考。有两种方式可以「框定」模型的思考逻辑,一种是案例法,一种是框架法。(1)案例法案例法:在要求模型输出特定的结果前,可以给模型少许样本参考,让它学习其中的模式。例:Q:3 + 4 = ? A:7 Q:3 + a = ? A:unknown Q:4 + b = ? A:模型通过用户提供的样本,识别了其中的模式,最终回答为 unknown。(2)框架法框架法:案例法相当于经验材料,让模型从中提取思维模式。我们也可以直接要求模型模型按照某些特定的思考模式进行思考。譬如:我们可以要求模型按我们指定的步骤进行思考,对于一些鼎鼎大名的逻辑(譬如贝叶斯),我们也可以直接要求模型按照该思维模型进行思考。prompt: 假如你是天气预测器,最近 7 天都没有下雨,请思考明天下雨的概率 output:作为 AI 语言模型,我没有能力进行天气预测,但是从概率角度来看, 如果最近 7 天都没有下雨,那么明天下雨的概率应该是比较低的,因为天气预测 是基于历史数据和气象学知识进行预测的,而历史数据中连续多天都没有下雨的情 况比较少见,因此明天下雨的概率应该是比较小的。但是天气变化是不确 定的,也有可能出现突发情况导致明天下雨,因此不能完全排除下雨的可能性。这是一位初生炼金士的咒语,该咒语中没有约束模型的思考方式,输出的结果则略显空泛。现在将咒语修改,增加对思维方式的约束:prompt: 假如你是天气预测器,最近 7 天都没有下雨,请根据贝叶斯定理思考明 天下雨的概率 output: 作为 AI 语言模型,我并不具备实时天气预测的能力,但我可以根据贝叶斯定理给出 一个思考过程。 根据贝叶斯定理,我们可以通过已知的先验概率和新的证据来更新我们的后验概率。 在这个问题中,我们可以将先验概率定义为在这个地区下雨的概率,而新的证据是 最近 7 天都没有下雨。 假设在这个地区下雨的概率为 P(R),那么没有下雨的概率为 P(¬R) = 1 - P(R)。根据贝叶斯定理,我们可以得到: P(R|¬R) = P(¬R|R) * P(R) / P(¬R) 其中,P(R|¬R) 表示在没有下雨的情况下,明天下雨的概率;P(¬R|R) 表示在 下雨的情况下,明天不下雨的概率;P(R) 表示先验概率,即在这个地区下雨的 概率;P(¬R) 表示没有下雨的概率。 由于最近 7 天都没有下雨,我们可以将 P(¬R|R) 设为一个较小的值,比如 0.1。 而 P(R) 则需要根据实际情况来估计。如果这个地区经常下雨,那么 P(R) 可能 会比较高;如果这个地区很少下雨,那么 P(R) 可能会比较低。 假设我们估计 P(R) 为 0.3,那么可以得到: P(R|¬R) = 0.1 * 0.3 / (1 - 0.3) = 0.043 也就是说,在没有下雨的情况下,明天下雨的概率只有 4.3%。但需要注意的是, 这个结果只是一个估计值,实际情况可能会有所不同。相较于未约束的输出结果,约束后的模型的输出结果则更具体,也更具说服力。在框架法中,有两种被推荐的实践方法,分别是一致性与 ReAct 模型:一致性:当我们要求模型处理一个复杂问题时,我们可以要求模型以多种角度进行思考,最终以多数一致性的方式判断最终的答案(例如我们要求模型以五种不同的思考角度思考同一个问题,最终其中的三种角度都得出了相同答案,根据多数原则,最终答案为三种角度得出的共同答案)ReAct 模型:ReAct 是对问题的一种处理输出,要求模型按照思考->行动->行动结果->答案呈现的顺序处理过程,实际上是要求模型在输出答案前要先思考,再基于思考行动,基于行动得出行动结果,最终基于行动结果呈现答案;(3)异常机制处理马尔库塞说,人类是单向度的生物。此话也可以套用在思考上。无论是人类还是大模型,在思考上往往只考虑如果达成某项任务,而忽略了如果达不成某项任务,该如何处理。富有经验的炼金士门在调教模型时,总是会在 prompt 中作如下约束:要求模型检查用户所提供的信息,以确保信息的完善性足以保证任务的完成;当模型运行时,若遭遇异常机制(如无法处理当前问题),应暂停回复生成的过程,及时报错;(三)输出维度咒语的输出维度包含两种要求:内容要求和格式要求:内容要求:咒语可要求输出内容包含的相关要点,例如当咒语为「输出莎士比亚风格的情诗」时,可要求情诗中包含月亮、玫瑰、梦境等意象;格式要求:咒语可要求最终的输出结果以表格、代码、Markdown 等形式输出。甚至,爱搞事的炼金士们还自创模式:「请输出你的回答,你的回答应该以列表的形式呈现,每行回答的开头字母应该以“BEHAVIOR”作为开头」;四、良好咒语的格式根据编写咒语的原则,炼金术士们总结了一套 prompt 的基本格式:指令:要求模型对文本的处理动作;指令的对象:需要模型处理的文本;示例:案例或思维模型提示;输出要求:对于输出内容的内容和格式要求异常情况:对于模型无法执行,或指令信息缺失时的异常处理机制;五、魔法时刻炼金术是一种魔法,而魔法总有难以解释之处。以下是炼金术士们在经验中总结的魔法诀窍,除了遵循正统的咒语编写原则和格式外,应用这些魔法诀窍也能在实践中获得更好的咒术效果。给模型起一个名字;让它扮演某种角色;赋予它某种任务;在赋予任务时,使用「你应该…」而不是「禁止你…」的句式;赋予任务后,要让模型确认你的要求;当模型确认完(以及每次回复)你的指令时,给它一个鼓励;请在 prompt 的开头和结尾都重复下你的指令;如果你不想在 prompt 中输入示例,请在 prompt 的结尾加入如下的魔法咒语:「让我们一步步思考,以确保得出正确的答案」;六、大模型的局限任何一件伟大事物都有它的阿喀琉斯之踵,我们无法要求伟大事物做它能力边界之外的事情。正如前述指出的,大模型本质上是一种预测模型,它是披着语言之神外衣的概率之神所伪装,本质上只擅长三件事:识别、理解和生成。所以,不要让它计算数学。尽管它通过了诸多考试,然而你绝不想考验它在关键时刻的准确性。曾经有炼金术士以小学的数学题让它思考,尽管它的分析过程并无谬误,但计算结果却堪称灾难。问题:建筑工地有一批砖,最上层两块砖,第2层6块砖,第3层10块砖……, 依次每层比其上一层多4块,已知最下层有2106块砖,这堆砖共有多少块?另外,大模型在某种意义上是一个记忆不佳的吹牛者。实际上,模型没有完全记住它所看到的信息,但它又想在提问者面前逞能,于是经常编造一些不存在的记忆。大模型自身无法规避这种行为的出现,炼金术士在编写咒语时,应鼓励大模型承认自己的无知,敢于将「不知道」宣之于口。同时,咒语中也应该要求大模型在列出事实性的信息时,注明来源和对应可核查的地址(尽管它连信息源都会伪造,但提供了一种核查的路径)。除了这两个严重的缺陷外,炼金术们还发现了顺序对于大模型的影响,有时,示例顺序的不同,也会影响大模型的结果输出。对于这类情况,尚没有好的解决方案,只能调整语料顺序以找到最佳的输出结果。七、真正重要的如果让杰出的炼金术士留下他们最宝贵的箴言,那么一定是:没有什么是重要的,除了在实践中反思并重新迭代自己的咒语。即使是再杰出的炼金术士们,编写一条可用的咒语也至少需要三到四次的迭代,那些只编写了一次就开始抱怨大模型不起作用的炼金术士们,正缺乏这条箴言的鞭笞。学习、运用、反思、迭代,正是这样循环往复的过程,才使得咒语的效力被真正发挥出来。挥动语言的炼金术士们,无人能够夺走他们对魔法的幻想和憧憬。本文参考:Learn PromptingChatGPT Prompt Engineering for DevelopersIntroduction to prompt engineeringPrompt Engineering Guide【END】
2023年05月22日
12 阅读
0 评论
0 点赞
2023-05-20
通过 PaaS 平台 Fly.io 部署「Node-RED 低代码自动化工具」及「Vaultwarden 密码管理器」
本文作者:FreeCultureBoy 转载地址:https://sspai.com/post/78674前言PaaS - 平台即服务,对于普通用户的最大好处就是可以低成本、便捷、无障碍地使用一些现成的项目。通过 PaaS 平台 Fly.io 部署「Node-RED 低代码自动化工具」及「Vaultwarden 密码管理器」Fly.io介绍Fly.io 支持多种编程语言及容器虚拟化方案,只需要简单流程就能部署项目到 Fly.io 的服务器上,同时还支持自动生成域名并通过 Lets Encrypt 来颁发证书,免去普通用户维护域名的烦恼。当然,也提供了免费计划,但前提是需绑定信用卡(也有些不用信用卡的平台,以后有机会再说)。免费计划内容:最多 3 个 shared-cpu-1x 256 mb 实例3 GB 数据卷存储空间(总计)160 GB 出站数据流量(总计)[1]安装 flyctlflyctl 是一个官方提供的命令行安装程序,可用于本地快捷部署项目,官方提供了很详尽的 文档 。这里以 Windows 系统为例:运行 Powershell 安装脚本powershell -Command "iwr https://fly.io/install.ps1 -useb | iex"因为我已经网页注册,就略过命令行注册的步骤,直接登录就行fly auth login根据提示填写账号密码,没错,就是这么简单。Noed-RED介绍Node-RED 是一个虽然初开始主要用于物联网及智能家居的自动化工具,但功能远不止此,活跃的社区及低资源占用的特点,成为除 n8n 之外我的首选。安装这里我选择使用 Docker 安装flyctl launch --image nodered/node-red:3.0.2实例命名选择部署地区,优先北美,流量比较多。用不到数据库,先忽略。先不部署,要创建数据卷和修改配置创建数据卷fly volumes create <数据卷名称> --region lax --size 1 --no-encryption 例如 fly volumes create node_red_data --region lax --size 1 --no-encryption--region lax 即 部署地区,尽量选择与实例地区一致。--size 1 即 1 GB 大小。--no-encryption 创建未加密的卷,以提高部署和运行时的性能。打开当前目录自动生成的 fly.toml 文件配置部署参数,主要是修改时区、端口、数据卷,其它保持默认生成的即可。app = "node-red" kill_signal = "SIGINT" kill_timeout = 5 processes = [] [build] image = "nodered/node-red:3.0.2" [env] # 时区修改 TZ = "Asia/Shanghai" [mounts] # 数据卷 source = "node_red_data" destination = "/data" [experimental] auto_rollback = true [[services]] http_checks = [] internal_port = 1880 # 修改为 Node-RED 默认端口 processes = ["app"] protocol = "tcp" script_checks = [] [services.concurrency] hard_limit = 25 soft_limit = 20 type = "connections" [[services.ports]] force_https = true handlers = ["http"] port = 80 [[services.ports]] handlers = ["tls", "http"] port = 443 [[services.tcp_checks]] grace_period = "1s" interval = "15s" restart_limit = 0 timeout = "2s"修改完成后开始部署flyctl deploy部署完成,然后点击日志链接快捷进入面板查看。可以看到资源占用还是非常低的,完全不用担心超出免费计划额度问题。至此基本部署已经完成。启用密码登录Node-RED 默认是没有密码登录的,需要修改配置,而 Fly.io 本身是支持 SSH 和 SFTP 连远程连接。生成密码并修改配置SSH 连接实例flyctl ssh console打开到数据目录cd data调用生成密码参数node -e "console.log(require('bcryptjs').hashSync(process.argv[1], 8));" <为要设置的密码> 例如 node -e "console.log(require('bcryptjs').hashSync(process.argv[1], 8));" password 记得把生成的密码字符串复制出来修改配置文件vi settings.js进入编辑模式i方向键移动,在 76 行左右找到以下代码,然后把 // 注释删除去掉,再替换 username 及 password 即可启用。 //adminAuth: { // type: "credentials", // users: [{ // username: "admin", // password: "$2a$08$18E8TpMRvKw9HZqSpx5eH.XefIj9qp6.kHYQ8DEI55aYfDJdefqzm", // permissions: "*" // }] //},保存退出ESC :wq退出 SSHexit重启实例flyctl apps restart <实例名称> 例如 flyctl apps restart node-red可以看到已经启用密码登录了因为官方使用 Lets Encrypt 来颁发证书的缘故,重启其实就是保留数据的重新部署,新证书的颁发需要等一会才能生效。备份数据对于节点备份建议直接导出保存即可Vaultwarden介绍Vaultwarden 是对开源密码管理器 Bitwarden 的 Rust 再构建项目,低资源占用的特性非常适合运行在低性能的平台上。安装部署过程与 Node-RED 大同小异,只需更换镜像及新数据卷即可flyctl launch --image vaultwarden/server:latestfly volumes create vaultwarden_data --region lax --size 1 --no-encryption部署参考配置如下app = "vaultwarden" kill_signal = "SIGINT" kill_timeout = 5 processes = [] [build] image = "vaultwarden/server:latest" [env] TZ = "Asia/Shanghai" # 时区修改 WEBSOCKET_ENABLED = "true" # 启用 WS [mounts] # 数据卷 source = "vaultwarden_data" destination = "/data" [experimental] auto_rollback = true [[services]] http_checks = [] internal_port = 80 # 修改为 Vaultwarden 默认端口 processes = ["app"] protocol = "tcp" script_checks = [] [services.concurrency] hard_limit = 25 soft_limit = 20 type = "connections" [[services.ports]] force_https = true handlers = ["http"] port = 80 [[services.ports]] handlers = ["tls", "http"] port = 443 [[services.tcp_checks]] grace_period = "1s" interval = "15s" restart_limit = 0 timeout = "2s"部署完成后创建账号即可使用创建账号备份数据Vaultwarden 建议定期手动导出数据保存,但可以本地离线特性使得即使云端出问题,本地离线状态下也可无忧导出备份。Fly.io 的优缺点优点免费额度算得上很不错,可选地区多;部署简单友好;支持部署编程语言架构及方案众多;文档齐全;缺点虽然数据库可以持久保存,但迁移还是非常麻烦,虽然可以 SFTP 操作,但过程还是太折磨人,所以只建议部署轻量级、数据容易迁移的项目。总结毕竟不是每个人都会自己维护服务器,有信用卡的门槛让 Fly.io 不至于被滥用得太夸张,对于普通用户还是非常推荐尝试的,免费额度也足够可以部署其它一些非常实用的项目,例如:「FreshRSS - 在线 RSS 阅读器 」、「Wallabag 稍后阅读」等。[1] 需注意不同地区免费额度不一样,北美及欧洲为每月 100 GB,其它地区为 30 + 30 GB。【END】
2023年05月20日
15 阅读
0 评论
0 点赞
2023-05-20
如何用 ChatGPT 帮你自动分析数据?
本文作者:FreeCultureBoy 转载地址:https://sspai.com/post/79800误判好几天之前,我就在 ChatGPT 选单里看到了 Code Interpreter。它正在灰度测试中 —— 先给一部分用户试用,如果反响不错并做了一定改进,就能推广给更多用户。可惜当时我没能正确理解它的含义,犯了一个大错误——望文生义。我以为 Code Interpreter 是指「代码解释器」,也就是给代码添加注释进行讲解的。可那不是 ChatGPT 早就有了的功能吗?干嘛还专门弄个新的模式出来呢?后来经朋友提醒我才发现,Code Interpreter 的功能不是「解释代码」,而是执行代码。在这个模式下,你可以上传文件作为输入,让 Code Interpreter 编写代码对输入文件做处理,并且在自带的虚拟环境中执行。根据代码内容的不同,它可以利用文本、数字、图形、表格等方式给你展示结果,甚至还可以给你一个下载链接,把你指定的输出以文件形式下载回本地。当我意识到这一点时,真可以用「惊讶」和「懊恼」来形容。我迫不及待尝试后,赶紧写作本文,告诉你这个功能。以免你跟我一样望文生义,重蹈覆辙。下面我用一个实际的例子给你演示。实例首先我们需要一个演示数据集。这里我选择了一个名为 loans.csv 的贷款安全数据集。它是一张表格,属于简单结构数据,其中包含若干行,每一行代表一条贷款记录;而每列则代表某一相关属性特征,例如贷款等级,房屋拥有情况,贷款时长等信息。最后一列 safe_loans 代表贷款成功或失败,也即这次放款是否安全。其中 -1 代表不安全。1 代表贷款安全回收。首先我们需要将数据集上传到 Code Interpreter 中。上传按钮很不显眼,在输入框的旁边。上传后,Code Interpreter 会自动进行分析,并为每列数据提供解释。我点击了「show work」来看看究竟 Code Interpreter 是如何分析出上述结果的。原来,Code Interpreter 直接编写了 Python 代码,读取了上传后的 loans.csv 文件,然后执行 head () 命令,打印出来前 5 行,根据列名称和具体显示的数据综合分析信息,然后做了回答。提示数据已经准备好,我们现在可以开始输入提示语了。我觉得使用英文与 Code Interpreter 对话很别扭,因此我提出:请用中文翻译上面的内容,并且对于专业术语加以简单明了的解释。谢谢你可能会纳闷儿,老师你干嘛要这么客气呢?不就是个机器……?,别瞎说。礼多人不怪,AI 也一样。你跟它客气,它回答起来也会比较认真。在《人工智能这么强,我直接把工作都交给它可以吗?》一文中,我给你解释过具体的证据。闲言少叙,这是 Code Interpreter 返回的结果。你看,用中文回答是不是感觉好多了?对比一下你就会发现,这里的「可循环信贷利用率」等专业术语,都已有具体解释了。Code Interpreter 还在最后提出「告诉我您希望对这些数据进行哪种分析或任务」。此时,你可以要求 Code Interpreter 做一些简单分析,并要求绘制图表(如分布图)。但对于我而言,这样的机械操作实在太无趣了 —— 每个步骤都需要我来提示,那我还要你这 AI 干啥?计划因此,我的下一个提示语,是这样的:能否根据目前的数据集,思考它可以做哪些分析?请一步步思考,并且给我你有信心的答案。谢谢注意这一段提示语中的两个技巧,你可以尝试吸收:「一步步思考」是尝试启动大语言模型的思维链;「有信心的答案」是指设定阈值,避免 ChatGPT 天马行空随意乱答。这是 Code Interpreter 的反馈结果。Code Interpreter 列出了可能的分析类型。第一步是描述性分析,比如基本数量分布等。第二步是相关性分析,总结其他变量间的相关性。第三步是建立预测模型,其中提到了决策树,随机森林和逻辑回归等方法。也提到必须将之分为训练及测试数据集,且要「使用测试级来评估模型性能」。这种意识非常棒,已经超出了机器学习常见入门水平。第四步就有点儿莫名奇妙了,虽然 Code Interpreter 提出使用支持向量机 (SVM)、朴素贝叶斯等几个新模型,但要做的事情和第三步是重复的。好在,我们使用 AI 作为助手,而不是枪手。我们大可以将第四种分析类型省略,只让 Code Interpreter 将前三个步骤做一下。这里为了方便展示,我让 AI 一次只做一个步骤。下面是执行各个步骤的效果。结果第一步,描述性分析。Code Interpreter 给出了这个数据集的一些基本统计信息。包括记录数量、最常见的贷款等级、平均被雇佣不足一年人员数量、平均雇佣年限、平均债务收入、最常见贷款期限数量等。第二步,相关性分析。Code Interpreter 识别出属于不同变量之间的正负相关关系。例如,短期雇佣与雇佣年限是相反的概念,因此 short_emp 和 emp_length_num 之间存在负相关性;债务收入比高的贷款申请者往往会使用循环信贷,因此 dti 和 revol_util 之间存在正相关性;而 safe_loans 和一些其他变量之间存在负相关性,这意味着对那些高债务收入比的人贷款,可能不太安全。Code Interpreter 还不忘提醒咱们,这些相关性不意味着因果关系,尚需要考虑更多变量的交互和非线性关系。如果是我的学生回答此题,仅仅最后这一句,就会让我非常欣慰。第三步,构建预测模型。Code Interpreter 中规中矩地进行了数据预处理。我看了一下具体执行的代码:之后是模型的训练和性能测试环节。点开 show work,对应的代码是这样:之后,Code Interpreter 自动进行了结果的汇总输出与阐释。该模型在测试数据集上的准确率为 61.7%。虽然不高,但 Code Interpreter 指出相对于随机预测的准确率 50%,还是要好一些。有意思的是,它还自动提出了如何对准确率进行提升。例如超参数优化、特征工程、使用其他模型等。特别地,Code Interpreter 提出需要不仅仅关注准确率,还要考虑模型可解释性、训练和预测时间等其他指标。非常好!不过你是说,让我自己去逐一尝试上述提升策略?那怎么可能?!Code Interpreter 既然你画了道儿,就得你来走嘛。于是我这样提问:你能否实施改进策略,并且在同样的测试集上进行测试?谢谢这是 Code Interpreter 的回答。你看?AI 开始认真干起来了不是?这是 Code Interpreter 一通改进之后的结果:从 61.7% 提升到了 64.9%,准确率高吗?我觉得谈不上。但是这是一个非常有意思的开端,意味着 Code Interpreter 可以自动帮助我们执行提升准确率的策略,而且获得了成效。小结我想跟你谈谈尝试 Code Interpreter 之后的感受。我想用「惊艳」二字来形容。具体来说,就是「分析得当,执行流畅」。咱们应该思考一下 Code Interpreter 出现的意义。曾几何时,很多小伙伴拿到宝贵的一手数据,却不知道如何分析。在几年前,你会看到很多不同学科的人一窝蜂跑去学习 Python。因为在彼时,只有学会了 Python 或者 R 后,你才可能对数据进行功能丰富且合理可行的分析。很多人因为不具备相关的技术能力,往往坐拥金山,但就是不知道怎么挖掘。要学完 Python 或者 R 的初级操作,你至少需要学一门课程,或者啃一本教材。但是现在,你只需要和 Code Interpreter 对话,就能把这样的分析结果保质保量快速做出来,甚至比数据分析师基础入门水平都要靠谱,不亦乐乎?ChatGPT 的 Code Interpreter,目前还在 Alpha 阶段。功能非常初级,时常遇到环境更新导致的不稳定,还有各种限制。例如说你可以让它帮你绘制统计图,英文显示都很好,但所有中文显示都是这个样子:你当然可以让 Code Interpreter 自己去改进。但是它折腾一通,也只能给你展示这种无奈:但是,我们有理由相信,这些问题随着技术产品的迭代改进,都会逐步解决的。你在数据分析的过程中,使用过其他的 AI 产品吗?有什么可以推荐给大家的?欢迎留言,咱们一起交流讨论。祝(自动)数据分析愉快!延伸阅读AI 帮我找卡片挺好,但能不能帮我创作出新的相关卡片啊?摸索那么多工具后,怎样才能避免「效率成瘾」?自己录制和剪辑视频,如何解决占用空间过大的问题?想打造个性化高效工作流,可不会编程怎么办?世界很大,英语不好的你如何去看看?【END】
2023年05月20日
12 阅读
0 评论
0 点赞
1
...
6
7
8
...
12