ChatGPT 技术资料

模型

参考

限流

RPM:request per minute
TPM: tokens per miniute
gpt-4/gpt-4-0314 are 40k TPM and 200 RPM
gpt-4-32k/gpt-4-32k-0314 are 80k TPM and 400 RPM
参考 https://platform.openai.com/docs/guides/rate-limits/overview

代码参考
https://github.com/openai/openai-cookbook 这个项目提供了非常多的例子,如 token 计算,限流,怎么用 flask 写的给小狗起名的例子
https://github.com/openai/openai-quickstart-python

Playground

用来做一些快速的测试比较方便
https://platform.openai.com/playground

常见错误

1
2
3
# 使用免费账号的时候出现
openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.

NodeJS安装和镜像配置

这个方法适用于 Linux,通过运行命令可以快速的装上 nodejs

1
2
3
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
. ~/.bashrc
nvm install 16
1
npm config set registry https://registry.npmmirror.com

参考镜像网站:https://npmmirror.com/

参考

将Github上的Python项目发布到PYPI

以下都是我实践过的步骤,内容包含

  • 如何使用 poetry 创建项目
  • 从 git 的 tag 中获取版本号
  • 配置 Github Actions
    • 配置单元测试上传到 codecov.io
    • 配置 tag push 自动触发 publish
    • 更新 README 中的 badge
阅读更多

Caddy设置反向代理

简介

caddy 是使用 go 语言实现的一个高性能的类似于 nginx 的 HTTP 和反向代理服务器。支持自动申请 https 证书,配置也相当的精简
官网:https://caddyserver.com/

代理服务器配置

caddy 的文档主要都是英文的
https://caddyserver.com/docs/quick-starts/reverse-proxy
https://caddyserver.com/docs/caddyfile/directives/reverse_proxy
第二个链接是详细的配置规则,文档很多,需要耐心下来慢慢的看才能很好的理解,我第一遍看的很快,完全没懂。吃完午饭之后,拿起手机慢悠悠的,一个句子一个句子的看,这才真的理解

caddy 的配置文件叫 Caddyfile
默认的 Header 都已经设置了 X-Forwarded-For X-Forwarded-Proto X-Forwarded-Host

1
2
3
4
5
6
7
8
9
10
11
12
# 代理本地的HTTP服务, eg: "https://example.com" -> localhost:4000
blog.devsleep.com {
reverse_proxy localhost:4000
}

# 代理HTTPS需要注意修改Host才行
# header_up是请求时修改Header字段的意思
blog.devsleep.com {
reverse_proxy blog.devsleep.com {
header_up Host {upstream_hostport}
}
}

修改完之后,在 Caddyfile 所在目录运行caddy reload就可以重新加载配置了

反向代理增加 Basic Auth

第一步需要 hash 一下密码,caddy 不希望我们写明文密码,比如我们的密码是 123456

1
2
$ caddy hash-password --plaintext 123456
$2a$14$ZTwlgDTKk38.53Z0QhkuJ.iwmOwnK1ggYs2O8M6eT0ivTwTeVXxVS

修改配置文件 Caddyfile
后面我们请求的时候,就会需要先输入用户名密码才能访问服务

1
2
3
4
5
6
7
http://example.com:8080 {
basicauth / {
# user: rainbow, password: 123456
rainbow $2a$14$ZTwlgDTKk38.53Z0QhkuJ.iwmOwnK1ggYs2O8M6eT0ivTwTeVXxVS
}
reverse_proxy localhost:8080
}

安装

DEB 安装

1
2
3
4
5
6
7
8
9
wget https://github.com/caddyserver/caddy/releases/download/v2.6.4/caddy_2.6.4_linux_amd64.deb
sudo dpkg -i caddy_2.6.4_linux_amd64.deb

# 控制命令
systemctl restart caddy
systemctl reload caddy

# 修改配置文件
vi /etc/caddy/Caddyfile

【盼盼小店】觅山畅系列·青梅酒

简介

觅山青梅酒“畅”系列,10.5 度,非泡制酒,纯自然发酵,0 香精,0 色素,低糖
有句话说的好,你可以错过青梅成熟的季节,但不要错过青梅酒最佳的品尝时机。
青梅酒喝起了什么感觉呢,就让 ChatGPT 作一首诗吧

1
2
3
4
5
6
青梅煮酒醉长夜,独自携杯独自醉。
花落人亡两不见,春去秋来一顾换。
梦里不知身是客,一晌贪欢一夜癫。
云山行路何时了,归来只愿青梅在。

-- from https://chat.devsleep.com

购买的话有两种套餐

  1. 375ml 68 元 (比淘宝上的划算一点,淘宝单价 77 元)
  2. 750ml+黑领杯1(据说值 200)+觅山冰酒石1 179 元

科普:这里的冰酒石是一种可以代替冰块,能循环使用的制冷不锈钢块。使用时放冰箱里 3 小时再取出使用。

购买

心动了的话,可以直接用微信扫下面图片中的二维码

更多好物,团长沟通可以加微信群

产品详情

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
【产品名称】觅山青梅酒“畅”系列
【产品类型】发酵配制酒
【酒精度】10.5%
【净含量】750ml
【生产许可证编号】SC11551018351667
【条码】6975178290215
【包装材质】有色玻璃瓶
【基酒类型】无基酒添加
【加工方式】非浸泡型
【发货地】四川
【发货快递】三通一达(新疆,西藏,青海,内蒙,海南+10元/瓶)
【发货时效】三个工作日
【保质期】5年
【原料】青梅、水、白砂糖、焦亚硫酸钾
【食用方法】新酒建议开瓶醒15-20分钟,冰镇口感更好,有少量沉淀属于自然现象,不影响饮用口感
【售后】不支持7天无理由退换

SQLAlchemy

官方文档:https://www.sqlalchemy.org/

ORM 的最终作用是将 Python 中的类操作转化为 SQL 表达式

QuickStart

DB Connection

Python镜像设置

使用一些知名的镜像

1
2
3
# 目前使用下来发现ustc是国内镜像最快的
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.extra-index-url https://pypi.org/simple

一些工具可以自动找到最快的 pypi 镜像,比如 https://pypi.org/project/faster/

其他一些可用的镜像

自建镜像缓存

使用外部镜像的好处是方便,不过也有两个问题

  1. 官方镜像也会出问题,我就遇到过 douban 镜像不行了,阿里云镜像限速
  2. 官方镜像往往获取不到最新上传的包

所以自建一个 pypi 的镜像代理就很有必要,经过一番搜索找到了proxpi这个项目
安装和使用方法都非常简单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 安装
pip install proxpi

# 配置INDEX缓存时间
export PROXPI_INDEX_TTL=60
# 配置最长等待下载时间,超时就302重定向到mirror的镜像地址
export PROXPI_DOWNLOAD_TIMEOUT=300
# 配置二级镜像
export PROXPI_EXTRA_INDEX_URLS=https://pypi.tuna.tsinghua.edu.cn/simple
# 配置二级镜像TTL, 默认3分钟,这里调成30s
export PROXPI_EXTRA_INDEX_TTLS=30
# 配置缓存文件夹
export PROXPI_CACHE_DIR=$PWD/pypi
# PROXPI_CACHE_SIZE=5000000000 默认5G,这个可以不用改

# 强制contentType为application/octet-stream
# 这个必须要加,不然poetry会把tar.gz认为是tar文件,导致hash错误
PROXPI_BINARY_FILE_MIME_TYPE=1

# 启动服务
FLASK_APP=proxpi.server flask run --port 31415

本地 Python 配置,这里假设 proxpi 的 server 地址是 10.0.0.1:31415

1
2
3
4
5
6
7
8
9
# 跟通常的不太一样,它这个不是/simple而是/index
pip config set global.index-url http://10.0.0.1:31415/index
pip config set global.trusted-host 10.0.0.1:31415

# 下载个大的文件试试
pip install opencv-python

# 或者不通过配置,直接命令行指定
pip install -i http://10.0.0.1:31415/index --trusted-host 10.0.0.1:31415 opencv-python

ChatGPT的Mirror收集

本博客的主题 icarus

晚上本想试试最先进的 NexT 主题,发现这个主题配置完之后,有很多其他的部分需要自己动手,有几个问题列一下

  • 没有最近文章
  • 侧边栏显示
  • 头像也不能从 gravatar 获取
  • 不能默认展示/tags/
  • 不能默认展示/catagories/
  • 搜索也需要自己配置

还是切换回最开始用的 icarus 主题了,基本上只要配置配置就行了。

养鱼

鱼缸里面应该放些啥?

  1. 水草-蜈蚣草 (鱼儿全靠这个呼吸)
  2. 小虾(不要放超过 5 支虾,太多的话会自己慢慢死掉)
  3. 清道夫-金苔鼠热带鱼(可以吃掉吸附在水草上和缸壁上的藻类,保持鱼缸的整洁)
  4. 几块小石头(让小鱼小虾有个可以休息的地方)

下面是我的鱼缸啦

缸壁有藻类是因为清道夫刚买过来才 1 天,鱼儿还没来得及吃完


2023-04-28 更新
加了虾粮之后,水好像会变的浑浊,害得我换了 3 次水。