最近看到了一个很好玩的项目,谁不希望在电脑里面养个电子宠物、桌面精灵、虚拟女友、赛博猫娘呢,虽然这个项目也还没有达到这个程度,或者说在一般个人电脑上还达不到理想的效果,所以也只是玩玩。
简介
先放上项目地址:https://github.com/Open-LLM-VTuber/Open-LLM-VTuber
官方文档(中文的):https://open-llm-vtuber.github.io/docs/quick-start
这个项目大概就是结合了,大语言模型、文字转语音、语音识别、图像识别、Live2D,以及一堆我不知道的东西做成的项目。
其实核心就是大语言模型,其他的都是交互方式上的东西,不过也不是说这些不重要,我为什么不直接使用网页或者App上的大语言模型的文字问答,而是费劲使用这个,就是因为这些外在的交互方式。毕竟人也是先看外表的,所以一个美丽的外表也是相当重要的。
相同类型的项目还有VirtualWife
,这个是3D的,说实话我其实对这个更感兴趣,而且我也有现成的.vrm
模型可以换着玩,甚至幻想着如果这个能够做得跟鹿鸣桌面一样就好了。
其实官方文档写的很好了,主要问题就是网络环境,所以这篇文章主要就是写几个需要魔法上网的地方,其他的按照官方文档来。
注意,本文不提供魔法下载的方法,只是告知哪些地方需要魔法下载。
安装 FFmpeg
官方文档使用winget install ffmpeg
来安装。这里先不说winget
换源,这个下载的ffmpeg是从GitHub上下载的,正常下载可能会很慢,所以这里建议复制下载的链接自行使用魔法下载。
下载下来是一个压缩包,自行找到一个地方解压,之后进入解压出来的ffmpeg
目录,可以看到有一个bin
目录,将bin
目录的地址添加到系统环境变量PATH
中,之后打开cmd输入ffmpeg
看是否安装好。
获取项目代码
第一个需要魔法的地方就是从GitHub上下载项目源代码。从GitHub上面下载东西大部分人应该都会,要么用ghproxy镜像,要么浏览器挂梯子用浏览器下载。
然后在git submodule update --init --recursive
这里停一下。正常情况下这样会从GitHub下载,小概率会下不下来。打开.gitmodules
,可以看到是要把https://github.com/Open-LLM-VTuber/Open-LLM-VTuber-Web
克隆到frontend
。大家可以将url改为从ghproxy下载,也可以手动下载之后放到frontend
安装项目依赖
官方文档使用uv
来管理依赖,这个我没有用过,而且安装和使用uv
会碰到更多需要魔法上网的问题,所以这里我用conda
创建环境,手动安装依赖。
打开pyproject.toml
,可以看到这个需求的python版本是>=3.10
,我们就创建个3.10的环境
1 | conda create -n VTuber python=3.10 |
不要忘记激活环境1
conda activate VTuber
下面就是骚操作了,复制pyproject.toml
为requirements.txt
,然后将包名前后的东西全部删掉,
然后用正则替换,把每行首尾的空格双引号逗号全删掉,变成这样
保存,然后安装依赖1
pip install -r .\requirements.txt
安装完包之后,再手动运行一下。1
python .\run_server.py
这时候应该是能运行,但是会下载一个压缩包,很大,1G多,从GitHub下载,如果下载很慢或者下载失败,我们可以复制链接手动使用魔法下载,之后把它放到models
目录下,再次运行它会自动解压
再次运行应该就没有问题了,Ctrl点击下面的链接就可以打开了
运行效果:
然后再在命令行用Ctrl+C
停掉程序,然后修改配置文件。
修改配置文件
看我的文章的应该都是看中文的,默认的配置文件conf.yaml
是英文注释,所以我们直接把配置文件删掉,然后复制一份conf.CN.yaml
改为conf.yaml
,原来的conf.CN.yaml
留作默认配置的备份,其他的按照官方文档进行配置。
总结
实际使用起来,其实效果并没有达到我的预期,主要是本地部署的大模型的问题,或者说这是小模型的问题,小模型感觉都不太聪明,很多方面很难让人满意,如果我有一台能够运行671b的大模型的电脑,说不定就能够达到令人满意的效果了。