小白mac下载chinese-llama-2-7b全过程!

所有步骤来源:
https://my.oschina.net/qyhstech/blog/11046186
只是小白第一次下记录,也为其他小白做个参考!

环境起步

​

​​​​​​​​用这个命令,然后你的base就会变成miaomiao,

然后你在miaomiao里面干的所有事情都不会影响你电脑的配置,

在关联上llama项目,就可以让你的项目用你的miaomiao环境。

点红色框出现终端选项。

下载超时:再次尝试重复命令

llama-cpp-python还是超时:
这个错误表明在通过 pip 下载包时,由于网络连接不稳定或下载速度过慢,导致连接超时。这种情况在网络状况不佳或连接到远程服务器时可能会发生。以下是几种可能的解决方案:

使用镜像源
尝试使用国内镜像源来加速下载,例如阿里云、清华大学等:

bash


pip install transformers==4.31.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/

llama.cpp 模拟

git clone

(miaomiao) consingliu@localhost ~ % git clone https://github.com/ggerganov/llama.cpp

结果:

致命错误:无法访问 ‘https://github.com/ggerganov/llama.cpp/’:Error in the HTTP2 framing layer

搜了一下,说ping一下:

ping github.com

ping得差不多了用Control+C打断。

git clone完成
git clone完成

make

在这里插入图片描述
这个错误提示表示 make 命令在当前目录下没有找到 Makefile 文件,也没有指定目标。以下是一些可能的原因和解决方法:

检查当前目录
确保您在执行 make 命令时所在的目录中包含 Makefile 文件。可以使用以下命令检查当前目录的内容:

ls

如果您没有看到 Makefile 文件,可能您需要进入正确的目录。例如:

cd path/to/project

我的当前检查完之后在Jupyter内部,所以用:

cd llama.cpp

再输入make,成功。

NOTICE: The 'main' binary is deprecated. Please use 'llama-cli' instead.
c++ -std=c++11 -fPIC -O3 -g -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wmissing-declarations -Wmissing-noreturn -pthread   -Wunreachable-code-break -Wunreachable-code-return -Wmissing-prototypes -Wextra-semi -Iggml/include -Iggml/src -Iinclude -Isrc -Icommon -D_XOPEN_SOURCE=600 -D_DARWIN_C_SOURCE -DNDEBUG -DGGML_USE_ACCELERATE -DGGML_USE_BLAS -DACCELERATE_NEW_LAPACK -DACCELERATE_LAPACK_ILP64 -DGGML_USE_LLAMAFILE -DGGML_USE_METAL -DGGML_METAL_EMBED_LIBRARY  examples/deprecation-warning/deprecation-warning.o -o server -framework Accelerate -framework Foundation -framework Metal -framework MetalKit 
NOTICE: The 'server' binary is deprecated. Please use 'llama-server' instead.

这是make最后出现的提示,这个信息提示您正在使用的二进制文件(如 main 和 server)已被弃用,并建议您改用新的二进制文件(llama-cli 和 llama-server)。这通常是开发者对工具进行更新时,逐渐淘汰旧版命令的通知。

LLAMA_METAL=1 make

结果同上,也是一样的提示,正确运行。

下载模型

如果要使用中文语料库,需要先合并为原始模型和中文的模型,再生成 bin,再去转换为 gguf 格式。喜欢折腾的可以试试。

如果要使用我这个中文混合模型,可以直接下载 gguf 格式。下面这几步都不用了。省事多了。

下载地址:https://huggingface.co/hfl/chinese-llama-2-7b-gguf/tree/main 记得选 ggml-model-q4_0.gguf 这个模型。(我选的就是这个模型)

下载加速方法

我当天下载是七夕,不知道电脑是不是跟别人跑了,反正4gb下得特别慢,要一两天。
以下有两种加速方法。我最后面用的还是wget。这两种方法都是下载下着如果出问题了,下次下载还会继续从之前下好的位置开始,不需要再重新下。
这里多说一句,不知道是七夕电脑和别人跑了还是什么,就算用这两种方法加速当天还是特别慢,和浏览器直接下没什么区别,过了七夕第二天就好多了的样子。

raia2c

下载:sudo apt-get install aria2 或者brew install aria2 (brew官网下载不了的我在“如果你不幸买了mac”里面说了下载方法)

aria2c --max-download-limit=2M https://huggingface.co/hfl/chinese-llama-2-7b-gguf/resolve/main/ggml-model-q4_0.gguf

wget

下载:brew install wget

wget --no-cookie --no-check-certificate https://huggingface.co/hfl/chinese-llama-2-7b-gguf/resolve/main/ggml-model-q4_0.gguf

… 失败:Network is unreachable。
这时候连接失败开vpn增强模式!(我自己点得去发现的)
开始下载!
在这里插入图片描述
七夕让电脑一个晚上都在下,结果起来看见电脑:

ggml-model-q4_0.ggu   0%[                    ]   5.16M  --.-KB/s  用时 4m 52s  

2024-08-11 00:12:25 (18.1 KB/s) - 在 5412471 字节处连接关闭。重试中。

我又输入了一遍下载命令:wget --no-cookie --no-check-certificate https://huggingface.co/hfl/chinese-llama-2-7b-gguf/resolve/main/ggml-model-q4_0.gguf,十分钟马上下好了,可能昨晚它自己也下了比较多吧。

在这里插入图片描述

以 WebServer 形式启动

因为第一次下模型,不知道这些怎么用,所以就试着,报错了再给gpt告诉我怎么解决。

(miaomiao) consingliu@localhost ~ % ./server -h
#运行结果:zsh: no such file or directory: ./server

使用ls命令列出当前目录的所有文件:
发现都是jupyter里面的文件。
在电脑里搜索server:
在这里插入图片描述
点开server,出现以下终端内容。

里面有server的路径,我们选取它的上级路径,以此cd。

(miaomiao) consingliu@localhost ~ % cd /Users/consingliu/llama.cpp
(miaomiao) consingliu@localhost llama.cpp %

输入server

(miaomiao) consingliu@localhost llama.cpp % ./server -h
运行结果:WARNING: The binary 'server' is deprecated.
 Please use 'llama-server' instead.
 See https://github.com/ggerganov/llama.cpp/tree/master/examples/deprecation-warning/README.md for more information.

你已经进入了 llama.cpp 目录并尝试运行了 ./server -h,但系统提示这个文件已经被弃用,并建议使用 llama-server 代替。
上述代码替换:

./llama-server --host 0.0.0.0 -m /Users/consingliu/llama.cpp/ggml-model-q4_0.gguf.1  -c 4096 --n-gpu-layers 1

这里注意:必须在你自己设置的环境里面弄,我的前面就是miaomiao,我忘记调成miaomiao就失败了一次,后面立刻换成miaomiao就好了。

运行成功!
注意这里运行成功就是不会截止然后再出现命令行的,这里就是告诉你正在运行!

有人就要问了,运行成功去哪里了呢?
这个模型已经成功加载并运行了一个HTTP服务器,监听在 0.0.0.0:8080 端口。这意味着你可以通过Web浏览器或者其他客户端(例如Postman)访问这个模型,进行交互。
使用Web浏览器
打开Web浏览器:在你的计算机上打开一个Web浏览器(如Chrome、Firefox、Safari等)。

访问HTTP服务器:

在浏览器的地址栏中输入 http://localhost:8080 然后按回车。
如果你的模型提供了一个Web界面,它应该会在这里显示。

我输入就是如下界面:
在这里插入图片描述

用 CURL 进行测试

终于到调用模型了!
因为我们现在这个终端窗口正在运行,
我们打开另一个新的终端,在当前终端窗口,用command+shift+n,打开新终端(有时候时如下图的输入新命令,那把代码放到新命令栏就可以了),输入:

在这里插入图片描述

curl --request POST \
    --url http://127.0.0.1:8080/completion \
    --header "Content-Type: application/json" \
    --data '{"prompt": "给我讲个冷笑话:","n_predict": 128}'

最终结果:

(base) consingliu@localhost ~ % curl --request POST \
    --url http://127.0.0.1:8080/completion \
    --header "Content-Type: application/json" \
    --data '{"prompt": "给我讲个冷笑话:","n_predict": 128}'


{"content":"你有一块砖头,放在地上,别人走过了,你把它拿走了,那叫偷,放在地上,别人又走过了,
你把它拿走了,那叫偷,放在地上,别人又走过了,你把它拿走了,那叫偷,放在地上,别人又走过了,你把
它拿走了,那叫捡... 搞笑段子:我:女朋友,你太漂亮了,我好想娶你。不说了,我要去洗个澡了! 女
朋友:为什么呀?我:我怕我的身体不干净。女朋友:什么不干净,你没看到我身上","id_slot":0,"stop":true,"model":"/Users/consingliu/llama.cpp/ggml-model-
q4_0.gguf.1","tokens_predicted":128,"tokens_evaluated":8,"generation_settings":
{"n_ctx":4096,"n_predict":-1,"model":"/Users/consingliu/llama.cpp/ggml-model-
q4_0.gguf.1","seed":4294967295,"temperature":0.800000011920929,"dynatemp_range":
0.0,"dynatemp_exponent":1.0,"top_k":40,"top_p":0.949999988079071,"min_p":0.05000
000074505806,"tfs_z":1.0,"typical_p":1.0,"repeat_last_n":64,"repeat_penalty":1.0
,"presence_penalty":0.0,"frequency_penalty":0.0,"penalty_prompt_tokens":
[],"use_penalty_prompt_tokens":false,"mirostat":0,"mirostat_tau":5.0,"mirostat_e
ta":0.10000000149011612,"penalize_nl":false,"stop":
[],"n_keep":0,"n_discard":0,"ignore_eos":false,"stream":false,"logit_bias":
[],"n_probs":0,"min_keep":0,"grammar":"","samplers":
["top_k","tfs_z","typical_p","top_p","min_p","temperature"]},"prompt":"给我讲个冷
话:","truncated":false,"stopped_eos":false,"stopped_word":false,"stopped_limit":t
rue,"stopping_word":"","tokens_cached":135,"timings":
{"prompt_n":8,"prompt_ms":535.136,"prompt_per_token_ms":66.892,"prompt_per_secon
d":14.94947078873408,"predicted_n":128,"predicted_ms":10220.302,"predicted_per_t
oken_ms":79.846109375,"predicted_per_second":12.524091753844456}}%

下载成功!
完美收尾!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值