首页
关于我
壁纸
视频
留言
友链页面
Search
1
搭建一个仿chatgpt官网的对话网站,使用群晖NAS的docker部署
158 阅读
2
win10系统远程桌面出现错误0x207
92 阅读
3
个人分享:影视资源站合集,采集电影必备
67 阅读
4
群晖DS3617xs“抱歉,您所指定的页面不存在”问题解决
63 阅读
5
自建第一个黑群晖NAS-1
44 阅读
Computer
建站
电脑常识
编程
个人
菜谱
nas
钓鱼
游戏
Search
标签搜索
wordpress
css
markdown
html
personal
宝塔
typecho
Linux
redis
SEO
ssh
PS
cooking-method
打印机
APEX
python
pip
苹果CMS
采集
nas
Wood Chen
累计撰写
111
篇文章
累计收到
1
条评论
首页
栏目
Computer
建站
电脑常识
编程
个人
菜谱
nas
钓鱼
游戏
页面
关于我
壁纸
视频
留言
友链页面
搜索到
111
篇与
的结果
2023-03-23
使用 Cloudflare Workers 解决 OpenAI 和 ChatGPT 的 API 无法访问的问题
事实证明 ChatGPT 是足够火爆的,火爆到什么程度呢,其 API 一经推出便获得了 GFW 的认证。在 Twitter 上看到很多人都在为解决无法正常访问 OpenAI 的 API 而苦恼,最常见解决方案是使用一台服务器来进行反向代理,但这样又徒增了一些成本。因为之前在公司的业务上遇到过类似问题,当时老板找到了一个还不错的几乎零成本解决方案,试了一下现在仍然可以用来解决 OpenAI 的 API 无法访问的问题,所以在这里推荐给大家。该方案的主要思路是使用 Cloudflare 的 Workers 来代理 OpenAI 的 API 地址,配合自己的域名即可在境内实现访问。因为 Cloudflare Workers 有每天免费 10 万次的请求额度,也有可以免费注册的域名,所以几乎可以说是零成本。而且该方法理论上支持所有被认证的网站,而不只是 OpenAI。使用这个方案需要你有以下东西:一个没有被 GFW 认证的域名(没有的话也可以到 https://www.freenom.com 免费注册一个, ⚠️ 据推友提醒,freenom 已暂停新用户注册,但相信对于大家来说注册域名不是啥大问题)一个 Cloudflare 账号(当然也可以现注册)⚠️ 请不要直接使用本教程示例中的地址,因为随时会被关闭。也不要使用任何其他人搭建的不受信任的地址,因为有 api key 被盗取的可能。太长不看新建一个 Cloudflare Worker将 https://gist.github.com/noobnooc/d0407b5fb81cff9d36f981170b99d4e6 里的代码粘贴到 Worker 中并部署给 Worker 绑定一个没有被 GFW 认证的域名使用自己的域名代替 api.openai.com如果具体步骤有问题,可以参考下面的详细版教程。🆕 将域名 NS 转到 Cloudflare如果域名已经托管在 Cloudflare 的忽略这一步即可。⚠️ 经评论区指出,Cloudflare Workers 的域名绑定仅支持托管在 Cloudflare 上的域名。由于本人常年是把域名托管在 Cloudflare 的没有注意到这一点,所以得先将域名的 NS 转到 Cloudflare,如果介意将域名转到 Cloudflare 的话,可以考虑使用 nginx 反代、Docker 容器等其他方法 🥲。没有 Cloudflare 账号的话可以注册一个,具体注册细节就不多说了。注册或登录到 Cloudflare 的管理界面后,点击侧边栏的 “Websites” ,然后点击 “Add a Site” 按钮准备将域名转到 Cloudflare:在 “Enter your site (example.com)” 处输入要转入的域名后,点击 “Add Site”:根据 Cloudflare 的提示,在域名注册商处将 NS 修改到 Cloudflare 指定的地址,等待域名解析成功后,即可进行后续操作。创建一个 Cloudflare Worker登录到 Cloudflare 的管理界面后,点击侧边栏的 “Workers” 选项,然后点击 “Create a Service” 创建一个 Worker。然后在创建界面中输入 “Service name” 后点击 “Create Service” 按钮新建 Worker。“Select a starter” 项先不用管。至此 Cloudflare 的 Worker 便创建好了,下面开始修改 Worker 的代码,使其能代理 OpenAI 的 API。修改 Cloudflare Worker 的代码在 Worker 的管理界面,点击右上角的 “Quick Edit” 按钮编辑代码 Worker 的代码。在左侧的代码编辑器中,删除现有的所有代码,然后复制粘贴以下内容到代码编辑器:简化后的代码来自 https://github.com/x-dr/chatgptProxyAPIconst TELEGRAPH_URL = 'https://api.openai.com'; addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) async function handleRequest(request) { const url = new URL(request.url); url.host = TELEGRAPH_URL.replace(/^https?:\/\//, ''); const modifiedRequest = new Request(url.toString(), { headers: request.headers, method: request.method, body: request.body, redirect: 'follow' }); const response = await fetch(modifiedRequest); const modifiedResponse = new Response(response.body, response); // 添加允许跨域访问的响应头 modifiedResponse.headers.set('Access-Control-Allow-Origin', '*'); return modifiedResponse; }最后点击编辑器右下角的 “Save and deploy” 按钮部署该代码,在弹出的对话框中继续选择 “Save and deploy” 确认部署。至此,便可以使用该 worker 的地址来代替 OpenAI 的 API 地址了。比如想要请求 ChatGPT 的 API 时,把官方文档中的 https://api.openai.com/v1/chat/completions 替换成 https://openai.workers.dev 即可(注意这个地址并不存在,是需要换成自己刚刚创建的 Worker 的地址)。但是你可能会发现,这样做了依然还是没有解决问题,因为 Cloudflare Workers 的 workers.dev 域名也是被 GFW 认证过的🥲。但是好在只是认证了 workers.dev 域名,而 ip 还是幸存的状态,所以我们可以给 Worker 绑定一个自己的域名。绑定域名在 Cloudflare Workers 的管理界面中,点击 “Triggers” 选项卡,然后点击 “Custom Domians” 中的 “Add Custom Domain” 按钮以绑定域名。输入域名后点击 “Add Custom Domain”,根据提示修改域名的 DNS 记录。因为我的域名是托管在 Cloudflare 上的,所以无需手动更改 DNS 记录,如果域名没有托管在 Cloudfalre 上,可以根据相关提示自行配置。 ⚠️ 据评论区提示,目前只支持 NS 托管在 Cloudflare 上的域名,如果不介意,可以点击 Cloudflare 侧边栏的 “Websites”,然后点击 “Add a Site” 按钮,根据提示将域名的 NS 记录指定到 Cloudflare。至此便大功告成。等待片刻,应该就可以通过你自己的域名来代替 OpenAI 的 API 地址了,比如在本文的例子中,想要请求 ChatGPT 的 API ,即是把官方 API 地址 https://api.openai.com/v1/chat/completions 换为我自己的域名 https://openai.nooc.ink/v1/chat/completions ,其他参数均参照官方示例即可。由于 Cloudflare 有每天免费 10 万次的请求额度,所以轻度使用基本是零成本的。⚠️ 注意请不要使用我这里的 openai.nooc.ink,因为随时可能会被我关闭🤪原文来自:https://github.com/noobnooc/noobnooc/discussions/9,感谢大神
2023年03月23日
6 阅读
0 评论
0 点赞
2023-03-22
搭建一个仿chatgpt官网的对话网站,使用群晖NAS的docker部署
2023年3月23日更新如果想要自定义后端端口请在./service/src/index.ts中将最后一行的数字3002改成你想要的端口在./.env中将监听端口改为你修改的值。在Dockerfile中修改为自己的端口重新打包效果1. 从https://github.com/Chanzhaoyu/chatgpt-web上拉取源码2. 修改信息和打包镜像修改左下角的信息路径/src/store/modules/user/helper.ts在service文件夹,复制.env.example文件里的内容,新建一个.env文件,把内容复制进去,里面内容是否修改都可以右键Dockerfile,选择Build image push到自己的docker仓库,然后拉取镜像3. 群辉NAS中进行部署1. 选中下载的镜像,点启动2. 点击高级设置,网络设置为使用docker host网络3. 配置环境添加OPENAI_API_KEY,值为自己的key添加OPENAI_API_BASE_URL,值为自己的接口代理地址添加AUTH_SECRET_KEY,值为自己设置的密码如果是使用socks5代理进行访问,需要配置SOCKS_PROXY_HOST 和 SOCKS_PROXY_PORT不建议使用ACCESS_TOKEN,官方开始封号官方文档API 可用: - OPENAI_API_KEY 和 OPENAI_ACCESS_TOKEN 二选一 - OPENAI_API_MODEL 设置模型,可选,默认:gpt-3.5-turbo - OPENAI_API_BASE_URL 设置接口地址,可选,默认:https://api.openai.com ACCESS_TOKEN 可用: - OPENAI_ACCESS_TOKEN 和 OPENAI_API_KEY 二选一,同时存在时,OPENAI_API_KEY 优先 - API_REVERSE_PROXY 设置反向代理,可选,默认:https://bypass.duti.tech/api/conversation,社区(注意:只有这两个是推荐,其他第三方来源,请自行甄别) 通用: - AUTH_SECRET_KEY 访问权限密钥,可选 - MAX_REQUEST_PER_HOUR 每小时最大请求次数,可选,默认无限 - TIMEOUT_MS 超时,单位毫秒,可选 - SOCKS_PROXY_HOST 和 SOCKS_PROXY_PORT 一起时生效,可选 - SOCKS_PROXY_PORT 和 SOCKS_PROXY_HOST 一起时生效,可选 - HTTPS_PROXY 支持 http,https, socks5,可选 - ALL_PROXY 支持 http,https, socks5,可选启动第三步设置的容器,群辉设置反向代理如果没有修改过Dockerfile中的端口,那么默认是3002,网络我们设置的是和docker host相同的,所以如果想要外网访问,需要添加反向代理打开控制面板 - Synology门户 - 反向代理服务器新增一个配置, 来源是自己访问的端口和域名, 目的地是localhost:3002点击确定后,在外网使用https://域名:13002, 就可以访问到自己部署的这个网站了,速度还是很快的.感谢大神开源
2023年03月22日
158 阅读
0 评论
1 点赞
2023-03-18
推荐一个适合做文章资讯站的免费wordpress主题-Shapebox
简介Shapebox is a flexible blog theme with plenty of options. Optimized for all devices, this theme will stand out with a unique design. Pick any accent and gradient colors you wish. Set sidebar to the left or right - or no sidebar at all. You can also enable a light/dark theme toggle switch in the sidebar. Demo: http://demo.alx.media/x/?theme=ShapeboxShapebox是款拥有丰富选项的灵活博客主题。该主题针对所有设备进行了优化,具有独特的设计风格。用户可自由选择所需的强调色和渐变色。侧边栏可设置在左侧、右侧或不设置。用户还可在侧边栏中启用浅色/深色主题切换开关。主题演示地址为:http://demo.alx.media/x/?theme=Shapebox。wordpress主题官方地址:https://wordpress.org/themes/shapebox/备用下载地址隐藏内容,请前往内页查看详情
2023年03月18日
10 阅读
0 评论
0 点赞
2023-03-15
微软常用运行库合集自动安装工具
推荐一个大神制作的一键安装工具原始脚本:roustar31B站主页:space.bilibili.com/91430083项目接盘:Dreamcast网盘主页:dreamcast2.ys168.com
2023年03月15日
10 阅读
0 评论
0 点赞
2023-03-13
html页面中,meta推荐的写法
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
2023年03月13日
5 阅读
0 评论
0 点赞
2023-03-03
Wordpress 自动设置文章第一个图为特色图片(需要在媒体库内),否则指定一个图
//自动设置文章第一个图为特色图片,否则指定LOGO图 function wpforce_featured() { global $post; $already_has_thumb = has_post_thumbnail($post->ID); if (!$already_has_thumb) { $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" ); if ($attached_image) { foreach ($attached_image as $attachment_id => $attachment) { set_post_thumbnail($post->ID, $attachment_id); } } else { set_post_thumbnail($post->ID, '指定图片的ID'); } } } //end function add_action('the_post', 'wpforce_featured'); add_action('save_post', 'wpforce_featured'); add_action('draft_to_publish', 'wpforce_featured'); add_action('new_to_publish', 'wpforce_featured'); add_action('pending_to_publish', 'wpforce_featured'); add_action('future_to_publish', 'wpforce_featured');
2023年03月03日
10 阅读
0 评论
0 点赞
1
2
...
19