利用openai开源语音识别模型whipser,自建stt服务,替代讯飞和百度的语音转文字
openai whipser开源的语音转文字服务微信公众号下线了语音消息转文字能力,不再返回Recongnition字段。讯飞的语音识别有额度限制,得知Openai开源的whipser语音识别能力非常强悍,于是决定自己搭建语音识别服务。
服务搭建whipser本身无法直接提供接口给用户使用,github上有个项目jianchang512-stt集成了whipser并提供了http的api接口给用户使用。jianchang512-stt有详细的安装教程,不复杂,但是需要保证网络环境通畅,需要下载的依赖有7-8gb。
基于jianchang512-stt打了一个docker镜像,包含的base模型,方便docker用户运行stt服务。不想折腾可以直接使用我打的docker镜像运行。大小有7-8g。
运行默认base模型的stt服务1docker run -d -p 9977:9977 nathanhuang/stt:latest
运行openai whisper的small/medium/large-v3等模型从此网友提供的全部模型下载地址下载模型。
下载并解压的模型 ...
面向AI编程
AI焦虑症openai的chatGPT大流行后,国内一大批国产大模型跟进,让大模型的AI成为2023最火热的技术焦点。于是很多自媒体就开始了夸张的宣传,“你再不快点学习使用chatGPT,就要落伍了,要被淘汰了,要被AI取代了”。“快来报名,只要699,保你精通chatGPT,送账号”。这样的氛围下,假如自己现在的工作还没有用到AI,就感觉自己要被淘汰了,急得像热锅上的蚂蚁。大家似乎患上了一种AI焦虑症,感觉自己要被时代抛弃了。于是赶紧掏出699购买课程,学习使用chatGPT。但是这时候会发现 ,AI并没有他们说的那么高大上。大部分人付费学习后也就是把网上的示例试了一试。并不能在自己的工作中得到帮助。于是又开始焦虑了。
如何缓解AI焦虑症我们要知道AI确实能提高人类的生产效率,只是它目前还处于初期阶段,智能不足。我个人认为我们已经处在了另一场工业革命的初期,这次工业革命的特点是,实现了将电能转换成了智能,这个特点意味着,它会越来越智能。你现在之所以需要花699学习怎么使用它,不过是因为它还不够智能,但是当他足够智能的时候,就不是你要学习怎么使用它,而是它要学习怎么理解你需求了。也就是 ...
基于微软的免费的接近真人效果的TTS java实现
基于微软的免费的接近真人效果的TTS java实现微软的tts语音合成发音接近真人。效果非常好,本仓库基于微软官方的demo实现了免费的tts示例,使用了java语言实现。
微软官方demo解析微软的语音合成demo使用了websocket连接,一次合成会通过websocket想服务器发起三次请求,服务器通过若干个响应信息返回mp3格式音频
三次请求内容格式
第一次请求内容:123456Path: speech.configX-RequestId: 81C8781545B84F5394A3949B28716251X-Timestamp: 2023-03-05T02:44:26.068ZContent-Type: application/json{"context":{"system":{"name":"SpeechSDK","version":"1.19.0","build":"JavaScript" ...
openai gpt-3.5-turbo新模型java demo
openai gpt-3.5-turbo新模型java demo
openai 新增了gpt-3.5-turbo模型,该模型可以有chatgpt网页一样的效果,可以记住上下文信息。官方提供了python和nodejs的sdk,我基于java的sdk写了一个demo
代码依赖:123456789101112131415161718192021<dependencies> <!-- openai的一个开源的java sdk库,git地址是:https://github.com/TheoKanning/openai-java/tree/main --> <dependency> <groupId>com.theokanning.openai-gpt3-java</groupId> <artifactId>service</artifactId> <version>0.11.0</version> </de ...
基于jenkins+kubernetes的持续集成流水线搭建
jenkins是什么?Jenkins是一款开源 CICD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
why jenkins kubernetes持续构建与发布是我们日常工作中必不可少的一个步骤,jenkins需要的资源有时候单台机器不一定能满足全公司的构建发布需求,所以使用一般需要Jenkins 集群来搭建符合需求的 CI/CD 流程,然而传统的 Jenkins Slave 一主多从方式会存在一些痛点:
痛点1:主 Master 发生单点故障时,整个流程都不可用了;
痛点2:每个 Slave 的配置环境不一样,来完成不同语言的编译打包等操作,但是这些差异化的配置导致管理起来非常不方便,维护起来也是比较费劲;
痛点3:资源分配不均衡,有的 Slave 要运行的 job 出现排队等待,而有的 Slave 处于空闲状态;
痛点4:最后资源有浪费,每台 Slave 可能是实体机或者 VM,当 Slave 处于空闲状态时,也不会完全释放掉资源。
如何解决传统jenkins 集 ...
nexus安装配置教程
安装此教程帮助搭建在kubernetes集群中安装nexus。选择nexus的理由:
轻松管理所有包裹
存储和分发具有本机包管理器兼容性的组件
支持 Java/Maven、npm、NuGet、PyPI、RubyGems、CocoaPods 等生态系统
分发打包和容器化的应用程序,例如 Docker、Helm、Yum 和 APT
与流行的 IDE 和 CI 兼容,例如 Eclipse、IntelliJ、Visual Studio、Jenkins
安装依赖:安装kuberneter集群
安装nexus主程序12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511 ...
配置免imagePullSecrets拉取私有仓库镜像
在kubernetes中的pod运行的镜像有时候会存储在企业搭建的私有镜像仓库,拉取这类镜像的时候一般需要登录授权后才能拉取,这时候有两种方式实现:
方法一:在deployment或pod中配置imagePullSecrets声明拉取镜像时需要使用的账号密码secret,但是需要每个deployment和pod都要配置该字段,比较繁琐
方法二:给namespace下的default serviceaccount添加拉取镜像的账号密码secret,这样整个namespace下的deployment和pod拉取镜像是使用该serviceaccount下的secret去拉取镜像
以下就是方法二的设置方式:
步骤1:生成拉取docker镜像的用户名密码的secret生成用户名密码base64字符串123#假设用户名是:"admin",密码是:"123456",构建"admin:123456"这样的字符串,然后base64编码echo "admin:123456"|base64YWRtaW46MTIzND ...