我的家庭AI助手成功上线

in voilk •  2 months ago

    继续研究火爆全网的DeepSeek,话说我将使用这个大模型(问答)归纳为几种方法:网络版、本机版以及本地网络版。

    81279d30-2446-406f-b322-24dd76c58ad2.webp
    (插图由ChatGPT生成)

    网络版的好处是随时随地可以,而且部署的是最新最强大的版本,不足之处嘛,据说由于DDoS攻击,现在访问还可以卡。(还有就是API应该是收费的)

    本机版好处就是在本机上随时可用,缺点嘛,对电脑配置要求极高,而且没法部署满血的大模型,我在我的11代Intel NUC 上跑deepseek-r1:8b都卡得不得了。为了让我的机器多活几年,还是不在上边折腾了。(不过我打算回头在我的笔记本上折腾一下,毕竟它号称AIPC,看看是否就是个噱头)。

    另外一个部署方法就是部署在家庭(或者小公司的)网络中的一台服务器上,然后家庭(或者公司)范围内的所有成员都可以访问,达到局域网共享使用的目的。我觉得相对而言,这种方法最适合不过啦。

    所以,我用了两天的时间,终于把deepseek-r1多个版本部署到家里的Linux主机上,并安装了Open WebUI,实现了在任何一台电脑均可以通过web浏览器访问的目的。既方便了家庭成员的使用,又可以解放我工作用机(11代NUC的压力),一举多得。

    下边将设置过程分享给大家,有需要的朋友自取哦。

    安装

    参考ollama Linux系统下手动安装教程:其中使用如下语句下载至本地

    curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz

    但是或许由于ollama.com路由的问题,或许是其它原因,下载超慢,预估完成时间要几十个小时,我可等不起。

    于是选择在一台德国的VPS上使用如上语句下载,然后再通过scp复制到本地机器,下载搞定。

    接下来是安装问题,官网上的代码是使用root权限将程序解压到/usr目录:

    sudo tar -C /usr -xzf ollama-linux-amd64.tgz

    不过我想在本地用户权限下运行和使用ollama,所以直接使用如下语句解压缩:

    tar xzvf ollama-linux-amd64.tgz

    解压完成后,会发现用户目录下多了两个子目录,bin以及lib分别是ollama可执行文件以及相关的依赖库。

    使用

    (执行source ~/.bashrc或者退出重新登录用户,是bin目录被包含进相应的环境变量。)

    安装完成之后,我们就可以使用ollama啦,比如查看帮助之类的都没问题啦。

    ollama --help

    上述指令返回如下信息:
    1738678791843.png

    不过若是直接像在Windows命令行里运行如下指令:

    ollama run deepseek-r1:1.5b

    就会得到如下错误提示:

    Error: could not connect to ollama app, is it running?

    我想了一下,它应该是先作为一个服务程序(或者后台程序)运行,然后才能给它发送指令。至于为何Windows下没用到这个步骤呢?我猜想是执行指令的同时启动了后台,看了一下Windows的任务管理器,果然如此。

    1738679334875.png

    好,既然知道了缘故,那就好解决了,先在一个窗口执行:

    ollama serve

    上述指令将启动服务程序,同时屏幕上可以看到一些输出,对我们了解ollama都做了哪些操作还是很有帮助的。

    模型与问答

    做好上述准备后,就可以开始下载模型,并问它问题啦。

    另外一个新窗口中执行:

    ollama run deepseek-r1:1.5b

    如果系统中没有相应的模型,首先会去下载模型:
    1738679656921.png

    下载成功,就可以使用啦,让我先问它一个问题先:

    >>> 如何计算圆周率?

    最终给我的答复(思考过程过长,就不截屏了),哪位懂数学的大咖,给我看看它有没有在胡说八道?
    1738679812516.png

    继续下两个模型,14b回答问题的质量比1.5b要好很多(也不一定),但是反应要慢许多。

    ollama run deepseek-r1:14b

    1738719280107.png

    再下一个编程助手(不过貌似编程水平还真不能恭维)

    ollama pull deepseek-coder-v2

    1738718824752.png

    使用Open WebUI

    完成上述工作后,就可以使用各种大模型进行问答了。不过实在受不了字符界面,而且还要ssh登录到主机上去。之前在Windows电脑上,我们用了Open WebUI,这里必须也整一个呀。

    首先创建Python的虚拟运行环境,然后执行如下指令:

    pip install open-webui

    结果却提示如下错误:

    ERROR: Could not find a version that satisfies the requirement open-webui (from versions: none)
    ERROR: No matching distribution found for open-webui

    这是怎么回事呢?找了半天,还是在Open WebUI PyPi找到了相关信息:

    Open WebUI can be installed using pip, the Python package installer. Before proceeding, ensure you're using Python 3.11 to avoid compatibility issues.

    而Ubuntu 22.04 LTS 默认的是Python 3.10,所以要升级一下Python,再重新创建一下虚拟环境,然后再执行上述安装指令,一切OK。

    启动open-webui,就可以愉快地使用了:

    open-webui serve

    1738723371306.png

    远程访问

    等等,我好像忘掉了点什么?对呀,我不想登录服务器访问,无论是字符界面还是WebUI。

    open-webui serve监听127.0.0.1只能服务器本地访问,这岂不是白忙活了?别急,还有一些魔法,可以搞定这个事情,那就是启动open-webui时,指定绑定地址和端口。

    比如这样:

    open-webui serve --host 192.168.1.88 --port 1234

    其中192.168.1.88是我家里服务器地址,这样操作以后,就可以在家里任意一台电脑上,通过如下网址,访问大模型进行问答啦。

    http://192.168.1.88:1234

    这回才真的可以愉快地使用了呢!
    1738724210249.png

    测试问答

    我向DeepSeek问了小伙伴们普遍关心的问题,看看它如何回答:

    它竟然直接拒绝了我!
    9b4ecdf771dae877ec27a78ba284221.png

    不过,我非常有耐心,不回答是吧?不回答我就一直问:
    6fb3663d07f56cd491124060601ff99.png

    看吧,功夫不负有心人,在我强烈猛攻下,DeepSeek终于给出的答案。怎么样,对于这个答案,小伙伴们满意嘛?有没有从中受到什么启发?

    看看服务器资源占用情况,呃,有人累得冒烟,有人闲的长毛
    1738725181323.png

    同时问它几个问题,这样就很好,大家一起努力嘛
    23e1645d48798701d585636ba98252c.png

    这样弄完之后,以后再用起来就方便多啦,也方便继续深入地研究和学习使用DeepSeek R1和其它各种模型,比如API调用等等。

    哎,其实根本算不上学习和研究,充其量算是瞎折腾吧,AI时代已来,别被小伙伴们甩得太远就好。

    相关链接

      Authors get paid when people like you upvote their post.
      If you enjoyed what you read here, create your account today and start earning FREE VOILK!