全网最火的chatgpt框架 chatgpt的使用场景有哪些
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
相信大家已经感受到chatGPT的震撼了,虽然替代程序员目前还不完全现实,但是chatGPT确实可以帮助我们成为一个更好的程序员。
它可以回答我们的问题,提供代码建议和技术支持。通过与chatGPT的交互,我们可以更好地理解编程概念和解决问题的方法。在未来,chatGPT可能成为我们编程生涯中不可或缺的一部分,帮助我们不断提高技能和知识水平。
在折腾chatGPT的过程中常识了各种搭建chatGPT的方案,大多杂乱且各种语言的都有,又由于本人是写Typescript,React/Vue,Node的。于是乎,chaty就应运而生了。
我总结了常见的几种用chatGPT的场景,一周时间实现了下边这些功能。
当然目前实现的功能还比较简单,后期还有非常大的工作量需要完善。
那你可以暂时尝试
这将帮你设置一个代理,暂时绕过限制
更多详情,大家可以看readme 项目地址:【【网址】】/cosin2077/c…
欢迎大佬拍砖,提PR、issue
威联通nas安装openwrt 威联通tsnas详细教程
大家好,我是加勒比考斯。
?
今天来教大家如何使用NAS来搭建ChatGPT,干货教程必收藏!
?
现在IT的新潮流,当属各种的AI,不论是绘画,聊天,AI都涌现出了更强的创造力。
?
例如最近火爆的chatgpt,ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。
?
例如,我想让它整理NAS上的文件,只需一句话就能写出能用的批处理代码:
?
我是使用的威联通TS-464C进行的搭建ChatGP。
?
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支持所有的协议,稳定满速不卡顿。
?
ChatGPT注册简略
?
Chatgpt不支持中国的IP访问,而且注册,登录又需要进行网络设置,十分麻烦,想给朋友家人分享也非常困难。但是通过NAS搭建之后只要通过网址访问就可以随意访问,极其好用。
?
这里简单说说chatgpt账号注册。(详细步骤在B站能搜一大把)
?
1、网址
浏览器开启隐私窗口,切换网络访问https://chat.openai.com/
?
?
2、接码平台
注册时需要国外手机号验证,用https://【【微信】】.org/类似的平台接收验证码
?
?
3、白嫖账号
实在注册不了,那就用别人的免费号,https://【【微信】】.com/ (不保证一直能用)
?
可能眼尖的读者已经发现,我的chatgpt对话框居然不是官网,而是局域网IP访问。它可以部署到本地NAS?是的,本月OpenAI推出了 GPT-3.5-Turbo 的api,0.002美元/1000token(你可理解为两美元聊几十万字),所有用户都能免费申请API体验一个月。不少基于api开发的chatgpt应用涌现( ChatPDF、ChatBox 、OpenCat等 ),比通过网页破解接口更加稳定,我实测用自己的api回复速度快好几倍,而且几乎不掉线。
?
威联通部署ChatGPT
?
1、容器介绍
首先感谢 Chanzhaoyu 使用 Vue3 和 【【微信】】 开发的 ChatGPT Web 。拥有两种模式(API和网页token),支持多个会话和上下文逻辑,美化公式和高亮代码,支持数据导入导出。 项目地址: https://github.com/Chanzhaoyu/chatgpt-web
?
2、疾速部署
打开【【淘密令】】,选择“创建”,点击页面右方的“创建应用程序”。(这是威联通独有的网页 compose 粘贴,一步到位搭建容器,后期修改也很方便。 )
?
【【微信】】: '3'
?
services:
app:
image: chenzhaoyu94/chatgpt-web
ports:
- 3002:3002
en【【微信】】:
OPENAI_API_KEY: sk-kxASwy【【微信】】FJ1bMfVDd7T3Bkuj1z****
OPENAI_API_BASE_URL: https://【【微信】】.ssiic.com
AUTH_SECRET_KEY: car
TIMEOUT_MS: 60000
?
请务必以图片格式为准,部分平台会吞空格,空格少了就会部署失败。
?
3、注意事项:
?
①OPENAI_API_KEY后面请替换成你自己账号的api。
在 https://【【微信】】.openai.com/account/api-keys 这个网址登陆并创建。
?
②由于国内api服务器被阻塞,需要填写 OPENAI_API_BASE_URL反向代理,
如:https://api.googlevideo.dev 或 https://【【微信】】.ssiic.com ,
?
③反代地址是我随便找的,算是有安全隐患,你也可尝试自己本地的socket代理,环境变量添加两条 【【微信】】:IP SOCKS_PROXY_PORT:7891 不能细说,懂的自然懂。
?
?
容器创建成功后,就可以通过(http://威联通IP:3002)访问chatgpt-web容器,访问密码取决于 AUTH_SECRET_KEY: 后面的字符串。读者朋友们可轻松分享给伙伴,不需要设置网络,也不用再注册账号。
?
三、效果演示
?
1、手机运行的效果
?
第一张是浏览器打开的,第二三张是添加到主屏幕,像app一样打开,可以看出chatgpt完美支持pwa模式,聊天支持代码和公式的显示。
?
?
?
2、电脑使用的效果
例如我想整理近期攒起的一堆混乱文件,让chatgpt给我写了一个批处理程序。复制后另存为***.bat,就能把文件归类得井井有条。
?
甚至让chatgpt写一个带有界面UI的Python程序都行!可以将我囤积的大量“歌手 - 歌名”这类MV,按照歌手名字批量整理。
?
当然,chatgpt写出来的程序不一定全都能用,可以点击它右下角转圈图标重新写一遍,下面是一段成功运行的代码(另存为***.pyw,电脑要有Python):
?
# 导入所需模块
import os
import shutil
import tkinter as tk
from tkinter import filedialog, 【【微信】】
from collections import Counter
from glob import glob
?
# 创建一个主窗口
【【微信】】=tk.Tk()
【【微信】】.title("MV分类程序")
【【微信】】.geometry("320x160")
?
# 创建一个标签和一个按钮,用于显示和选择源目录(也是目标目录)
src_label=tk.Label(【【微信】】, text="请选择源目录:")
src_label.pack()
src_button=tk.Button(【【微信】】, text="浏览", command=lambda: select_dir(src_entry))
src_button.pack()
src_entry=tk.Entry(【【微信】】)
src_entry.pack()
?
# 创建一个标签和一个输入框,用于输入重复次数的阈值n(默认为3)
n_label=tk.Label(【【微信】】, text="请输入重复次数的阈值:")
n_label.pack()
n_var=【【微信】】(value=3) # 创建一个整数变量,用于存储用户输入的n值
n_entry=tk.Entry(【【微信】】, text【【微信】】=n_var)
n_entry.pack()
?
# 定义一个函数,用于弹出一个对话框让用户选择一个目录,并将其路径显示在对应的输入框中
def select_dir(entry):
dir_path=filedialog.askdirectory()
entry.delete(0, "end")
entry.insert(0, dir_path)
?
# 创建一个按钮,用于开始分类操作
【【微信】】=tk.Button(【【微信】】, text="开始分类", command=lambda: sort_files(src_entry.get(), n_var.get()))
【【微信】】.pack()
?
# 定义一个函数,用于按照文件名中“ - ”之前的文本,重复n次以上就自动归类到对应子文件夹
def sort_files(src_folder, n):
# 获取源目录中所有包含“ - ”的文件名,并按照字母顺序排序
file_list=sorted(glob(os.path.join(src_folder, "* - *")))
?
# 创建一个空列表,用于存储所有分类依据(即“ - ”之前的文本)
【【微信】】=[]
?
# 遍历所有的文件名
for 【【微信】】 in file_list:
# 将文件名按照“ - ”分割成两部分,并取第一部分作为分类依据
category=os.path.basename(【【微信】】).split(" - ")[0]
# 将当前分类依据添加到列表中
【【微信】】.append(category)
?
# 使用Counter类来统计每个分类依据出现的次数,并过滤出重复n次以上的分类依据(即键值大于等于n)
category_counter=Counter(【【微信】】)
category_counter=dict(filter(lambda x: x[1] >=n, category_counter.items()))
?
# 遍历每个符合条件的分类依据和对应的次数(这里不需要用到次数)
for category, count in category_counter.items():
# 创建一个以分类依据命名的新子目录(如果不存在)
new_dir_path=os.path.join(src_folder, category)
if not os.path.exists(new_dir_path):
os.mkdir(new_dir_path)
?
# 遍历所有的文件名
for 【【微信】】 in file_list:
# 如果文件名中包含当前分类依据,就将该文件移动到新子目录中
if 【【微信】】.startswith(os.path.join(src_folder, category + " - ")):
shutil.move(【【微信】】, new_dir_path)
?
# 启动主循环
【【微信】】.mainloop()