大家好,我是加勒比考斯。
今天来教大家如何使用NAS来搭建,干货教程必收藏!
现在IT的新潮流,当属各种的AI,不论是绘画,聊天,AI都涌现出了更强的创造力。
例如最近火爆的,是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。
例如,我想让它整理NAS上的文件,只需一句话就能写出能用的批处理代码:
我是使用的威联通TS-464C进行的搭建。
TS-464C是威联通的4盘位旗舰NAS,强大的性能与低廉的价格是我选择它的原因,威联通这个品牌大家应该耳熟能详,作为传统的专业级NAS厂家,它已经发展了18年,数据安全技术底蕴极其深厚,拥有业内极佳的品牌职业操守和良好的用户口碑!
我选择威联通的原因有五点:
1、独家的Qtier技术。(支持将SSD与HDD整合在一起形成一个存储池,既有SSD的速度也有HDD的容量)
2、独家的HBS3应用。(最佳3-2-1数据备份原则实施应用,所有NAS厂商里面做得最好)
3、大陆服务器带宽升级。(即使没公网IP,使用外网访问速度也是满速)
4、独家的虚拟机技术。(非常强大,支持虚拟机多开,整机备份,以及统一管理)(还支持HDMI直出)
5、独家快照技术。(实时将整个存储池进行存档)
6、我个人目前使用都是协议连接,威联通NAS支持所有的协议,稳定满速不卡顿。
注册简略
不支持中国的IP访问,而且注册,登录又需要进行网络设置,十分麻烦,想给朋友家人分享也非常困难。但是通过NAS搭建之后只要通过网址访问就可以随意访问,极其好用。
这里简单说说账号注册。(详细步骤在B站能搜一大把)
1、网址
浏览器开启隐私窗口,切换网络访问
2、接码平台
注册时需要国外手机号验证,用类似的平台接收验证码
3、白嫖账号
实在注册不了,那就用别人的免费号, (不保证一直能用)
可能眼尖的读者已经发现,我的对话框居然不是官网,而是局域网IP访问。它可以部署到本地NAS?是的,本月推出了 GPT-3.5-Turbo 的api,0.002美元/(你可理解为两美元聊几十万字),所有用户都能免费申请API体验一个月。不少基于api开发的应用涌现( 、 、等 ),比通过网页破解接口更加稳定,我实测用自己的api回复速度快好几倍,而且几乎不掉线。
威联通部署
1、容器介绍
首先感谢 使用 Vue3 和 开发的 Web 。拥有两种模式(API和网页token),支持多个会话和上下文逻辑,美化公式和高亮代码,支持数据导入导出。 项目地址:
2、疾速部署
打开 ,选择“创建”,点击页面右方的“创建应用程序”。(这是威联通独有的网页 粘贴,一步到位搭建容器,后期修改也很方便。 )
: '3'
:
app:
image: /-web
ports:
– 3002:3002
:
: sk-uj1z****
:
: car
: 60000
请务必以图片格式为准,部分平台会吞空格,空格少了就会部署失败。
3、注意事项:
①后面请替换成你自己账号的api。
在 这个网址登陆并创建。
②由于国内api服务器被阻塞,需要填写 反向代理,
如: 或 ,
③反代地址是我随便找的,算是有安全隐患,你也可尝试自己本地的代理,环境变量添加两条 :IP :7891 不能细说,懂的自然懂。
容器创建成功后,就可以通过(威联通IP:3002)访问-web容器,访问密码取决于 : 后面的字符串。读者朋友们可轻松分享给伙伴,不需要设置网络,也不用再注册账号。
三、效果演示
1、手机运行的效果
第一张是浏览器打开的,第二三张是添加到主屏幕,像app一样打开,可以看出完美支持pwa模式,聊天支持代码和公式的显示。
2、电脑使用的效果
例如我想整理近期攒起的一堆混乱文件,让给我写了一个批处理程序。复制后另存为***.bat,就能把文件归类得井井有条。
甚至让写一个带有界面UI的程序都行!可以将我囤积的大量“歌手 – 歌名”这类MV,按照歌手名字批量整理。
当然,写出来的程序不一定全都能用,可以点击它右下角转圈图标重新写一遍,下面是一段成功运行的代码(另存为***.pyw,电脑要有):
# 导入所需模块
os
as tk
from ,
from
from glob glob
# 创建一个主窗口
= tk.Tk()
.title(“MV分类程序”)
.(“”)
# 创建一个标签和一个按钮,用于显示和选择源目录(也是目标目录)
= tk.Label(, text=”请选择源目录:”)
.pack()
= tk.(, text=”浏览”, =: ())
.pack()
= tk.Entry()
.pack()
# 创建一个标签和一个输入框,用于输入重复次数的阈值n(默认为3)
= tk.Label(, text=”请输入重复次数的阈值:”)
.pack()
n_var = (value=3) # 创建一个整数变量,用于存储用户输入的n值
= tk.Entry(, =n_var)
.pack()
# 定义一个函数,用于弹出一个对话框让用户选择一个目录,并将其路径显示在对应的输入框中
def (entry):
= .()
entry.(0, “end”)
entry.(0, )
# 创建一个按钮,用于开始分类操作
= tk.(, text=”开始分类”, =: (.get(), n_var.get()))
.pack()
# 定义一个函数,用于按照文件名中“ – ”之前的文本,重复n次以上就自动归类到对应子文件夹
def (, n):
# 获取源目录中所有包含“ – ”的文件名,并按照字母顺序排序
= (glob(os.path.join(, “* – *”)))
# 创建一个空列表,用于存储所有分类依据(即“ – ”之前的文本)
= []
# 遍历所有的文件名
for in :
# 将文件名按照“ – ”分割成两部分,并取第一部分作为分类依据
= os.path.().split(” – “)[0]
# 将当前分类依据添加到列表中
.()
# 使用类来统计每个分类依据出现的次数,并过滤出重复n次以上的分类依据(即键值大于等于n)
= ()
= dict(( x: x[1] >= n, .items()))
# 遍历每个符合条件的分类依据和对应的次数(这里不需要用到次数)
for , count in .items():
# 创建一个以分类依据命名的新子目录(如果不存在)
= os.path.join(, )
if not os.path.():
os.mkdir()
# 遍历所有的文件名
for in :
# 如果文件名中包含当前分类依据,就将该文件移动到新子目录中
if .(os.path.join(, + ” – “)):
.move(, )
# 启动主循环
.()