本地部署_ASR工具_Whisper
1 简介
Whisper 是 OpenAI
的语音识别系统(几乎是最先进),它是免费的开源模型,可供本地部署。
2 docker
https://hub.docker.com/r/onerahmet/openai-whisper-asr-webservice
3 github
https://github.com/ahmetoner/whisper-asr-webservice
4 运行
1nvidia-docker run -d --gpus all -p 9000:9000 -e ASR_MODEL=base -e ASR_ENGINE=openai_whisper onerahmet/openai-whisper-asr-webservice:latest-gpu
image 大小:11.5G
运行后,即可在 9000 端口通过 swagger
调用,我先用手机录了一些简单的中文,识别效果还不错,除了第一次调用时可能是下载和加载模型时间比较长,后面再调用速度就很快。
又用它识别了一个 25 分钟的 mp3(约 27M),是一位小哥哥 B
站视频对应的音频文件,识别时间约为不到 1 ...
Python判断是哪种语言
12345678910111213from langdetect import detecttext = "你好,世界"#text = "坐禅はツール"text = "[のか](part0018.html#_idParaDest-31):身体感觉是真实的吗"language = detect(text)if language == 'zh-cn': print("这是中文文本")elif language == 'ja': print("这是日文文本")else: print("这不是中文或日文", language)
OPENAI 开发者大会_观后感_231107
GPT4 Turbo 功能
Token 更长
3.2W->12.8W 个 token
很好,但影响不是很大,一次传那么多也很贵
JSON 响应,对程序更友好
GPT3.5 的 JSON 已明显好于其它模型,更进一步
检索功能 + 分析资料 +2023.4 月知识库
之前这些功能由外围提供,纳入外围
多模态集成
之前大家自行实现,降维打击,构建生态
GPT-4 fine-tuning
不知道能做成什么样?如何收费?
速度 x2, 版权问题,定价 1/3(真材实料)
输入 token 价格 0.01 美元 / 1000 token
输出 token 价格 0.03 美元 / 1000 token
开发
与周边产品结合:执行程序
Agent & 定制
GPT 应用,demo 一些应用场景
更丰富的
API,集成了之前的外围功能,可以和函数交互,和文档交互,历史记录
新的交互的方式,像一个身边的助手,除了问答,还可以作为 agent
执行操作,接入应用
一些思考
看了两遍,第一遍挺震惊的;冷静下来又细看了一下
作为 OPENAI,做到 GPT-4 ...
Web服务_Nginx
1 Nginx
Nginx(发音为 "engine x")是一个高效的开源 HTTP
服务器和反向代理服务器。作为 HTTP 服务器,Nginx 的功能类似于
Apache,它可以将静态网站内容提供为 HTTP 服务,即创建网站。
反向代理的概念可能不太容易理解,让我们通过两个典型的场景来解释一下:
在客户的场地内,我们可能需要启动多个端口的 Web
服务,但客户只允许我们打开两个端口。
我的博客和公众号服务都需要在 80
端口上运行,但它们是两个完全不同的程序,不方便合并代码。
在这种情况下,我们可以使用 Nginx
作为中间的转发。例如,我们可以将所有以 /wx
为相对路径的请求都转发到运行在 8082
端口的公众号服务上,其余的请求则被视为博客请求,转发到运行在 8083
端口的博客服务进行处理。
2 Http 服务
作为 Http 服务使用时,推荐以下方法:
2.1 安装 docker 镜像
1$ docker pull nginx
docker image 很小,仅需要 187 M
2.2 启动 nginx 服务
1$ docker run --rm -it -p 80: ...
代码规则化工具 Black Formatter
1 说明
用途:规范化代码格式
2 VSCode
在 VSCode 中安装 Black Formatter 插件
打开.py
文件,在文件空白处右击,选择格式化文档,该文档自动完善格式。
注意
VSCode 有自己的格式化工具,所以用 VSCode
写的代码格式都还行,主要处理其它不太规范的化码
不支持 ipynb 文件
3 命令行
pip install black
black xx.py
4 说明
我个人更喜欢命令行方式
Python在pdf中提取表格
1 Tabula-py
1.1 开源项目
https://github.com/chezou/tabula-py 1.9k star
1.2 安装
1pip install tabula-py
1.3 使用
12import tabuladfs = tabula.read_pdf(pdf_path, stream=True)
1.4 评测
它使用到 java 库,会使开发环境变得比较重
2 camelot
2.1 开源项目
https://github.com/atlanhq/camelot 3.5k star
https://github.com/camelot-dev/camelot 2.4k star
2.2 安装
1pip install camelot-py
2.3 评测
需要安装 opencv,opengl,安装起来比较麻烦,比较重。
3 pdfplumber
3.1 开源项目
https://github.com/jsvine/pdfplumber 4.7k star
3.2 安装
1pip install pdfplumber
3.3 评测
这是一个 pdf
解析库,不 ...
Python行对齐工具difflib
1 用途
1.1 功能
对比两个字符串数组之间的差异,以第一个参数为基准,与第二个参数比较。
1.2 使用场景
一个原文件,一个改过的文件,对比差异;
一个纯文本,一个带格式的,对比差异;
比较不同方法生成的文本的差异。
1.3 使用体验
实现的功能类似于 Linux 中的 diff
命令;内容少看不出来好,内容一多,效果明显。这功能手写得疯了。
2 使用方法
2.1 示例
1234567891011121314151617import difflibdef compare_and_align(text1, text2): # 创建 Differ 对象 d = difflib.Differ() # 使用 Differ 对象比较文本 for x in d.compare(text1, text2): print(x) print('----')# 两个文本示例text1 = ["This is a sample text for alignment.","a"," ...
买域名
最近 ip 快把我弄疯了,然后买了个域名,一个来小时就能用了。
原因
做自己软件的后台服务
给客户做演示
做自己主页,以及被搜索引擎收录
使用 vpn 隧道 / 内网穿透,需要设置地址
科学上网需要设置中转服务地址
ip 地址记不住
租了多个云服务器,想统一入口
需要固定的地址,而云服务器重启后 ip 有变化
问题及解决
价格
一年几十块钱,新用户第一年比较便宜(一顿普通的午饭钱)
需要多长时间
比如在某度买,需要实名认证(认证成功发短信),人工认证需要几个小时
设置域名解析,一般 30 分钟内生效,最常不会超过 24 小时
我有多个云服务器,如何使用同一个域名
服务商可提供把不同功能指向不同服务器,比 www.aaa.com
指向一个服务器,test.aaa.com 指向另一个,可在规则中设置。
也可在其中主要服务器上做端口映射
是否需要备案
如果服务器在国内且做自己的网站(有网页或 Http
服务),则需要备案,详见 备案
配置VPN
1 问题解析
VPN 的使用前提是需要知道对方主机 ip 地址及开放的端口。
我遇到的问题是,自用的机器 A 和服务器 B 都没有固定 IP,机器 A
在局域网里,机器 B 使用物联网卡,本身没有对外的 IP
地址,物联网厂商也不提供端口映射。
这样 A 只能使用“向日葵”类的远程桌面软件连接服务器 B,它的问题是:
同一时间只能供一个连接操作
远程桌面传输屏幕变化,比只传输字符的 ssh 类工具慢很多
向日葵在用户登录后才能启动,所以如果远程无人职守,重启后就连不上了
不能复制粘贴,拷个东西费死劲,很多命令只能手敲,界面还反应慢
我的解决方案是:
使用 VPN 隧道,在一台有外部 IP 的云服务器 C 上搭建 VPN,然后用 A 和
B 同时连接 C,此时它们在同一网络中,即可使用 A 访问 B。
进一步简化:只在 B 和 C 上配置 VPN,然后把 B 的端口映射成到 C
的端口,任意机器通过 C 来访问 B,这种做法的优点是不用配置
A,缺点是所有需要暴露的端口都需要映射。选择哪一种方法,主要看需求。
2 生成密钥
2.1 Easy-RSA
Easy-RSA 是一款用于生 ...
Obsidian_插件推荐231005
Obsidian 插件
十一在家整理 OB 笔记,发现两个超好用的插件:Linter & tag
wrangler。
起因
前一阵把 Obsidian 笔记用 Hexo 转换成静态网页发到 github.io 做自己
blog 网站。发现了笔记中的一些问题,比如 tag 过多、重复,markdown
格式不规范,导致转换过程报错,转换后格式混乱…… 虽然用 Python
解决了,但是过程非常别扭:需要穿叉调用 Python 和 Javascript
环境,然后就想,要不学学
TypeScript,自己写插件吧?再后来发现:原来这些都有人写过了,汗死……
分享一下,希望也能提升亲们的笔记效率。
tag wrangler
tag wrangler 目前位居下载量排行榜第 16 位,是个热门插件。
对于笔记多,标签复杂的用户非常实用。文章多了,修改标签,做层级标签,重做分类是非常常见的操作,很难想象手动修改上百个标签,tag
wrangler 可以很好地解决这一问题。
在三方插件界面安装 tag wrangler 后,在 Tags
面板中的标签上点右键,即可看到新菜单,其中的 Ren ...