0%

搭建并运行Open-LLM-VTuber

最近看到了一个很好玩的项目,谁不希望在电脑里面养个电子宠物、桌面精灵、虚拟女友、赛博猫娘呢,虽然这个项目也还没有达到这个程度,或者说在一般个人电脑上还达不到理想的效果,所以也只是玩玩。

简介

先放上项目地址: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.tomlrequirements.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的大模型的电脑,说不定就能够达到令人满意的效果了。