关于副业的一些想法
关于副业的一些想法
前言最近看到一篇文章,是关于做出海网站的,下面的这段话来自与公众号哥飞的文章。
看完之后我觉得挺有道理的,自己的副业(公众号)其实一直没啥起色。但是我觉得还是要有一些副业能分担一些资金收入的,现在大环境又不好,谁也没法确定会不会被裁。而且年纪会一天天变大,总会有干不动的一天,趁着年轻多多折腾,弄一些可以一劳永逸的被动收入,不管是失业还是生病了,都还是会有一些资金能支持自己的生活。我想如果副业能做到供应上我每个月吃喝,就满足了,也不指望靠这个实现财务自由。
所以想想还是得在空余时间多花时间弄弄自己的副业,现在公众号没啥收入的原因可能有以下几个:
1.公众号,粉丝太少的话变现没那么容易
2.自己文章输出频率太低了(看心情更新,有时候学技术也不想写博客),用户粘性不够
3.纯技术文章创作其实很费时间
以上原因感觉形成了一个恶性循环,技术文章输出慢,频率低,看的人就少,看得人少粉丝少,没有正反馈,更加没有动力去更新文章,这样就又回到了第一个技术文章输出慢,循环往复。所以我打算做一些改变,公众号这块多加入一些想法的分享,个人生活之类的,这种东西对我来说输出就很快,从源头上把 ...
忍法:声音克隆之术-GPT-sovits
声音克隆
前言:最近因为一直在给肚子里面的宝宝做故事胎教,每天(其实是看自己心情抽空讲下故事)都要给宝宝讲故事,心想反正宝宝也看不见我,只听我的声音,干脆偷个懒,克隆自己的声音,然后把故事输入进去。然后老婆想给宝宝做胎教的时候就可以输入一个故事,即使我还没下班也可以给宝宝讲故事,岂不美哉!果然,偷懒是人类进步的阶梯,说干就干。我找了一圈相应的软件,发现GPT-sovits非常符合我的需求,又是开源的,又不需要很长时间的音频素材,简直完美,所以就有了下面的GPT-vosits使用教程。其实网上已经有很多这样的教程了,大家都可以搜一搜,我也只是记录一下自己的使用过程,顺便水(记录)一篇博客,好久没写了,感觉还是的写一写,要不然真的是浪费了自己空闲时间。
使用:前置条件:测试通过的环境下面这个摘自官网,需要用python环境,最好是有一张好的显卡,没有的话cpu其实也可以跑,就是慢嘛。
Python 3.9,PyTorch 2.0.1,CUDA 11
Python 3.10.13,PyTorch 2.1.2,CUDA 12.3
Python 3.9,Pytorch 2.2.2,macOS ...
LangChain-Chatchat知识库使用
LangChain-Chatchat知识库使用
前言上次我们完成了Chatchat的本地部署,使用了LLM对话的功能。这次我们尝试一下其他的功能,之前总是有报错没有跑通,这次处理了几个问题之后才跑通了知识库对话和文件对话。
知识库对话原理:
首先我们看这个图可以明白,知识库对话是有很多步骤的,1-7步是把上传的文件做处理,拆分,转为向量储存起来。然后当我们发起查询请求,也会被转换为向量,接着和向量数据库的向量做相似度比较,找到比较相近的向量对应的文本。最后根据这些文本去构造了prompt请求LLM获取返回数据。
使用步骤:先说明一下这里我用的是智谱AI的API,也就是在线的LLM,本地如果是使用chatglm的话,因为本身个人电脑配置不高,所以能运行的模型参数都相对较小,有些知识库对应的信息可能查不出来,用知识库对话的话建议是使用在线的llm。一开始用本地的llm,问了很多知识库的问题都回答不上来,找不到知识库匹配结果,我还以为是我哪里运行有问题,后来换成在线的llm就可以了。
1.点击知识库管理
2.选择或者新建一个知识库
这里面有一些向量数据库和Embedding模型可以选择, ...
Langchain-Chatchat安装使用
Langchain-Chatchat安装使用
1.前言:最近AI爆发式的火,忆往昔尤记得16,17那会移动互联网是特别火热的,也造富了一批公司和个人,出来了很多精妙的app应用。现在轮到AI发力了,想想自己也应该参与到这场时代的浪潮之中,所以就找了开源的项目来玩一玩,学习下里面的知识。不管最后结果有没有造富自己,学到的知识总是有用的,至少不会让自己在AI时代掉队。
今天要讲的是LangChain-chatchat, 用官网自己的话来说就是: 基于 Langchain 与 ChatGLM 等大语言模型的本地知识库问答应用实现。 一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。
界面如下:
2.安装步骤:官网有三种安装方式:
1.autoDL
2.docker
3.本地部署
第一种其实比较方便和实惠,机器配置不够也可以跑模型,每个小时几块钱,而且都是autoDL有对应的镜像可以直接运行,非常的便捷。
第二种大概有40G的包,部署也算比较方便。
今天我们讲的是第三种本地部署,虽然比较麻烦,但是在 ...
RAG的一点理解
RAG的一点理解
2023年回顾
2023年回顾
前言:上班的日子渐渐靠近,年味的假期也快消耗殆尽,趁着无人打扰,静静的坐在书桌前,想想去年一年发生的事情。桌上放一杯刚冲泡好的岩茶,香气四溢,浓郁茶香沁人心脾,小酌一口,刚开始有些烫嘴,在口中停留片刻,一饮而下,茶香味从喉部返回到口中,回甘绵长,再看看自己贴在墙面毛毡板上的2023年计划便签,有超标完成的,也有压根没去尝试的,心中升起一丝自嘲的想法,嘴角便上扬了起来,哼哼笑出了声。看完了计划,再解锁手机,瞅瞅自己的相册,往下滑一滑看看这一年去了哪些地方,珍藏下多少美丽的风光和印象深刻的回忆。
2023年回顾:成长回顾下面是自己将23年计划根据完成情况整理的思维导图:
书籍推荐书籍里面《穷查理宝典》,《运动改造大脑》,《我的事业是父亲》这三本比较推荐的。
《穷查理宝典》我去年的书单里面其实就有了,之前看的都是电子版的,今年芒格去世了,缅怀下芒格先生就又买了纸质版本的《穷查理宝典》, 《芒格之道》(这本书都是芒格在股东大会上的讲话),重新看了一遍这些书,里面有很多普世智慧值得我们学习。举个例子,**芒格说“我这辈子遇到的聪明人没有不每天阅读的,没有,一个都没有。沃伦读书之 ...
Mysql大数据量分页优化
Mysql大数据量分页优化
前言之前有看过到mysql大数据量分页情况下性能会很差,但是没有探究过它的原因,今天讲一讲mysql大数据量下偏移量很大,性能很差的问题,并附上解决方式。
原因将原因前我们先做一个试验,我做试验使用的是mysql5.7.24版本(mysql8上我也试验出来同样的问题),看看mysql是不是在偏移量比较大的时候分页会比较慢,性能比较差
版本1234567mysql> select version();+-----------+| version() |+-----------+| 5.7.24 |+-----------+1 row in set (0.00 sec)
表结构12345678910111213141516CREATE TABLE `trace_monitor_log` ( `id` varchar(30) NOT NULL COMMENT '表主键id', `user_id` varchar(30) DEFAULT NULL COMMENT '用户id', `trace_id` var ...
SqlServerTimeStamp类型
SqlServer timestamp类型
前言: 最近在对接客户数据的时候发现有SqlServer数据库里面有timestamp类型,一开始以为跟mysql,postgresql的timestamp类型差不多,是时间类型。结果接入之后发现竟然是二进制的,就感觉到很困惑,为什么时间类型要用二进制来存呢?难道是有什么优势可言吗?查了资料之后发现,原来SqlServer比较早期的版本里面timestamp是一个递增的数字,用来记录行增加和更新的次数,而不是用来记录时间的字段,所以这个类型的字段是没有业务含义的字段,数据接入的时候忽略这个字段或者直接置为null就可以了。另外提一嘴,我原本以为SqlServer只会出现在大学教学数据库的时候存在,结果发现它还是有很多的用户在使用的,微软的生态还是挺强大的。
介绍:概念timestamp在sqlServer早期版本比如SqlServer2008,还是叫做timestamp,后面新一些的版本就叫rowversion了,这个也更贴切它的作用,所以timestamp和rowversion是同一个东西,SqlServer的timestamp和ISO标 ...
Trino dynamic filtering(动态过滤)
Trino dynamic filtering(动态过滤)
前言:最近看了下trino的文档,看到里面有提到一个概念,叫dynamic filtering 动态过滤。就想了解下它是怎么一个动态法呢?看了trino的官方文档和一些其他引擎其他相关的动态过滤的资料,写一点自己的理解。
介绍:概念:Dynamic filtering optimizations significantly improve the performance of queries with selective joins by avoiding reading of data that would be filtered by join condition.
这个是官方文档描述动态过滤的第一句话,翻译过来就是动态过滤优化通过减少了join中读取了不必要的数据,显著的提高了查询性能。我们就可以知道动态过滤作用是提高查询性能的,然后通过它自己的一系列优化,能让sql少去读取一些不会用到的数据。数据量减少,传输和计算就意味着减少,那么性能自然就提高了,这也是sql优化的核心宗旨,减少用不到的数据量。
执行过程:我们再来 ...
前缀和+hash表
前缀和+哈希表方法笔记
前言374周赛Q4没做出来,看了灵神的前缀和+哈希表的文章,学习到一些东西记录一下。
LeetCode: 字母与数字
1234567891011121314151617181920212223面试题 17.05. 字母与数字已解答中等相关标签相关企业提示给定一个放有字母和数字的数组,找到最长的子数组,且包含的字母和数字的个数相同。返回该子数组,若存在多个最长子数组,返回左端点下标值最小的子数组。若不存在这样的数组,返回一个空数组。示例 1:输入: ["A","1","B","C","D","2","3","4","E","5","F","G","6","7","H","I","J","K","L&q ...