MISC
未读Sun API 介绍
Sun API 是一个低价的 gpt 中转 API,支持 gpt3.5 gpt4 Claude3 全系列模型。
价格优惠,仅需 0.85元即可购买 1 美刀额度,只要官方价格的 十分之一
官方同等计费方式,不限时间,按量计费,明细可查,每一笔消耗都公开透明。
官网地址:Sun API (dzqc.link)
支持模型
如何充值
支持微信、支付宝付款,前往 充值页面 输入金额,点击相应付款方式,付款成功即可完成充值。
计费规则
总的来讲,就是我们后台用美元计费,与 open AI 的模型价格保持一致,折扣体现在充值的时候。目前是 1 折 1 美元只需要 0.85 人民币,详细以充值页面价格为准。
请求明细查看
在本网站的日志界面可以查看到每一次调用的明细
提示是用户使用时输入到模型的所有信息消耗的 token 数,补全是模型输出的所有信息消耗的 token 数 ,提示和补全都是要扣费的。
所有模型的计费方式,就是基于消耗的多少token来计算价格。 大部分情况下,你都可以使用 1 汉字 = 2 token 来近似估算中文聊天的中文所需 token 数。但这并不 ...
在Linux中,有几种方法可以统计文件夹下的文件数目:
使用ls命令结合wc命令
统计当前目录下的文件数(不包括子目录中的文件):
1ls -l | grep ^- | wc -l
ls -l 列出详细信息
grep ^- 过滤出以“-“开头的行(即普通文件)
wc -l 计算行数
使用find命令
统计指定目录及其子目录中的所有文件数:
1find /path/to/directory -type f | wc -l
只统计指定目录(不包括子目录)中的文件数:
1find /path/to/directory -maxdepth 1 -type f | wc -l
按文件类型统计
统计指定目录中特定类型的文件数(例如.txt文件):
1find /path/to/directory -name "*.txt" | wc -l
折腾了很久笔记系统后,觉得还是大道至简,回归到 Typora + MarkDown,但是这样就要面对一个笔记多端同步的问题。
因为主要还是在 Win 下写笔记比较多,最终决定使用 GitHub 同步笔记,手机端和 IPad 端只用 GitHub APP 查看笔记。
同时为了避免手动同步笔记的麻烦,本文就介绍了一种使用 Git 自动同步笔记的方案。
自动同步脚本
首先写一个 auto_save.bat 脚本用于 commit 并 push 到 GitHub 仓库,脚本内容如下:
12345D: cd D:\\study\\notegit add . git commit -m "auto save" git push
将脚本中的盘符(我这里是 D:)和路径更换成自己的就行,"auto save" 可以更换成别的 Git Message
但是这个脚本会有一个问题,每次执行的时候都会弹出来 cmd 窗口,为了解决这个问题,我们还需要写一个 auto_save.vbs 脚本,内容如下:
12set ws=WScript.CreateO ...
传统文件传输
传统 I/O 的工作方式是:
数据的读取是在用户态发起 read() 系统调用,从内核空间将数据拷贝到用户空间,而内核空间的数据是通过操作系统层面的 I/O 接口从磁盘中读取;
数据的写入是在用户态发起 write() 系统调用,从用户空间将数据拷贝到内核空间,再通过操作系统层面的 I/O 接口写入到磁盘。
如果我们想要用传统的 I/O 方式来实现服务端的文件传输,我们需要先将磁盘上的文件读取出来,然后写入到网卡,由网卡通过网络协议将文件发给客户端。
一般会涉及到两个系统调用:
12read(file, tmp_buf, len)write(socket, tmp_buf, len)
首先,期间共发生了 4次内核态与用户态的上下文切换,因为涉及到两个系统调用,每次发起系统调用时,都会从用户态切换到内核态,系统调用结束后又会切换回用户态,频繁的上下文切换会带来极大的开销。
其次,整个过程涉及到 4次数据拷贝:
首先,从磁盘中读取文件时,DMA 会将数据从磁盘文件拷贝到内核缓冲区
然后,CPU 会将数据从内核缓冲区拷贝到用户缓冲区
发送文件时,CPU 又会将数据从用 ...
代理模式介绍
代理模式是一种设计模式,通过代理对象访问目标对象,这样可以在不对原来的目标对象作修改的情况下扩展其功能。
代理对象在客户端和目标对象之间充当中介,负责将客户端的请求转发给目标对象,同时可以在转发请求前后进行额外的处理。
Java 提供了三种代理模式,分别是静态代理,动态代理,CGLIB 代理。
静态代理
这种代理模式需要代理对象和目标对象实现一样的接口,从而实现多态,并保证代理类和被代理类的方法一致性
优点:可以在不修改目标对象的前提下扩展目标对象的功能;
缺点:
代码冗余,代理对象要实现与目标对象一致的接口,会产生过多的代理类;
不易维护,一旦接口增加方法,目标对象和代理对象都要进行修改。
举例:计算方法执行时间的静态代理实现
UserService 接口
123public interface UserService { void insert();}
UserServiceImpl 实现类 insert 方法模拟插入用户数据
1234567891011public class UserServiceImpl implements UserServi ...
问题描述
当在 Windows 11 系统通过 Git Bash 使用 Zsh 时,会出现以下 Conda 相关异常:
命令行提示符(prompt)无法显示当前 Conda 环境
执行 conda activate/deactivate 命令失效
使用 conda init zsh 初始化后报错:
1(eval):10: parse error near `^M'
问题根源
Windows 与 Unix 系统的换行符差异导致:
Windows 使用 \r\n(回车+换行)作为换行符
Unix/Linux/macOS 仅使用 \n
Zsh 将 \r 解析为 ^M 字符引发语法错误
核心解决方案
步骤 1:修改 Conda 初始化配置
打开 ~/.zshrc 配置文件
定位由 conda init zsh 生成的配置块(通常标记为 # >>> conda initialize >>>)
替换为以下优化后的配置:
1234# >>> conda initialize >>># !! Contents wit ...
每周为您推荐最新、最有趣的项目、工具、网站和资源,在快节奏的生活中发现实用的宝藏资源!
项目
Ollama-OCR
一个强大的 OCR 包,通过 Ollama 使用最先进的视觉语言模型从图像中提取文本。既可用作 Python 包,也可用作 Streamlit 网络应用程序。
支持多种视觉模型,多种输出格式以及批量处理。
saveweb/review-2024: 你在期待什么?你在失望什么?
大家的 2024 年度总结。可以看看别人上一年都在做什么,从什么方向去总结,或许可以给自己的生活找找新方向。如果你还没有写,现在动笔还不晚,这真的很值得。
工具
📋Qwen OCR Pot 插件
基于 Qwen Chat 提供的强大 OCR 功能所开发的 Pot 插件,能够基准识别公式,输出 Latex 代码。
完全免费,无本地硬件要求,并且对公式和文字的混合识别作了优化,能够无缝粘贴到 Markdown 编辑器中,完美渲染。
在线简历生成工具
一个模块化的在线简历生成工具,可通过拖拽模块的方式快速生成简历,支持静态部署。
Midscene.js:浏览器自动化利器
由自然语言驱动(需要 ...
每周为您推荐最新、最有趣的项目、工具、网站和资源,在快节奏的生活中发现实用的宝藏资源!
项目
Gemini Search - 一个基于 Gemini 的 AI 搜索引擎
一个由 Google 的 Gemini 2.0 Flash 模型支持的 Perplexity 风格搜索引擎,通过 Google 搜索进行基础支持。获取由 AI 驱动的答案,包含实时网络来源和引用。
chclt/oh-my-wechat: 微信备份与年度数据报告
这是一个为微信设计的备份阅读器,总体上还原了微信,但又有一些新的设计,并提供了微信年度数据报告功能。
PDFMathTranslate
一款开源的 PDF 文档翻译及双语对照工具
📊 保留公式、图表、目录和注释
🌐 支持多种语言和诸多翻译服务
🤖 提供命令行工具图形交互界面以及容器化部署
Slidev
一款基于 Markdown 的演示工具,可使用 Vue 组件创建交互式幻灯片,具有实时编码、LaTeX 支持和各种格式导出选项等功能。
工具
Notion 推出的头像生成工具
Notion 推出的一款头像生成工具,支持自定义肤色、五官、头发、 ...
最近发现在使用下列命令启用单机多卡训练模型时,nohup.pid 文件只会记录下主进程的 pid。
1python -m torch.distributed.launch xxx.py > nohup.log 2>&1& echo $! > nohup.pid
当 kill 掉主进程时,仍然会有如下图所示的子进程残留
使用下列命令可以查看当前占用内存最多的 10 个进程并得到上图的结果
1ps -aux | sort -k4nr | head -10
下面是对命令的逐步解析:
ps -aux:
ps:显示当前系统中运行的进程信息。
-aux:
a:显示所有用户的进程。
u:以用户友好的格式显示(包括用户名、CPU、内存使用率等)。
x:显示不依赖于终端的进程(如后台进程)。
|:
管道符,将前一个命令的输出传递给下一个命令作为输入。
sort -k4nr:
sort:对输入内容进行排序。
-k4:按第 4 列进行排序(ps -aux 的第 4 列通常是 内存 使用率 %MEM)。
n:按数值排序(而不是按字母表顺序)。
r:按降序 ...
方法一
1pip freeze > requirements.txt
这种方式会将当前虚拟环境中的所有依赖加入到 requirements.txt 文件 中
可能会存在一些我们项目中没有使用的依赖
不推荐使用
方法二(推荐)
推荐使用 pipreqs
可以指定我们需要生成 requirements.txt 的项目,只添加项目使用的依赖
12345# 安装pip install pipreqs# 使用pipreqs /home/project/location
如果出现报错 UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 406: illegal multibyte sequence
则需要指定项目编码为 utf-8
1pipreqs /home/project/location --encoding=utf8--force