使用llama.cpp运行模型的LLM插件
项目描述
llm-llama-cpp
安装
在与 llm
相同的环境中安装此插件。
llm install llm-llama-cpp
该插件有一个额外的依赖项 llama-cpp-python,需要单独安装。
如果您系统中有C编译器,可以像这样安装
llm install llama-cpp-python
您也可以尝试安装GitHub上提供的最新版本中的一个wheel。找到您平台的wheel的URL(如果存在),然后运行
llm install https://...
如果您在Apple Silicon Mac上,可以尝试这个命令,它应该使用GPU支持编译包
CMAKE_ARGS="-DLLAMA_METAL=on" FORCE_CMAKE=1 llm install llama-cpp-python
直接运行GGUF模型
尝试此插件的最快方法是下载一个GGUF文件,并使用带有 -o path PATH
选项的 gguf
模型来执行它
例如,从 TheBloke/una-cybertron-7B-v2-GGUF 下载 una-cybertron-7b-v2-bf16.Q8_0.gguf
文件,并像这样执行它
llm -m gguf \
-o path una-cybertron-7b-v2-bf16.Q8_0.gguf \
'Instruction: Five reasons to get a pet walrus
Response:'
输出开始如下
海象是令人着迷的动物,它们拥有独特的品质,可以在数小时内吸引和娱乐你。有机会经常接触它们,将确保你永远不会缺乏关于它们的有趣事物来学习,无论是从教育还是个人角度来看。
宠物海象可以帮助缓解抑郁和焦虑,因为它们需要持续的关怀和注意。与这些聪明生物建立关系可以提供安慰和满足感,在日常生活中培养一种使命感。此外,它们的顽皮天性鼓励笑声和快乐,促进整体的幸福感。 [...]
添加模型
您还可以使用-m
选项添加或下载模型,直接执行它们。
此工具应与任何与llama.cpp
兼容的模型一起工作。
该插件可以为您下载模型。尝试运行以下命令
llm llama-cpp download-model \
https://hugging-face.cn/TheBloke/Llama-2-7b-Chat-GGUF/resolve/main/llama-2-7b-chat.Q6_K.gguf \
--alias llama2-chat --alias l2c --llama2-chat
这将下载Llama 2 7B Chat GGUF模型文件(这个是5.53GB),保存它,并用插件注册 - 使用两个别名,llama2-chat
和l2c
。
--llama2-chat
选项配置它以特殊Llama 2 Chat提示格式运行。对于不是Llama 2 Chat模型的模型,您应该省略此选项。
如果您已经下载了与llama.cpp
兼容的模型,可以像这样告诉插件从其当前位置读取它
llm llama-cpp add-model path/to/llama-2-7b-chat.Q6_K.gguf \
--alias l27c --llama2-chat
模型文件名(减去.gguf
扩展名)将被注册为其ID,以执行模型。
您还可以使用--alias
选项设置一个或多个别名。
您可以像这样查看以这种方式注册的模型列表
llm llama-cpp models
模型注册在models.json
文件中。您可以通过以下方式找到该文件的路径以直接编辑它
llm llama-cpp models-file
例如,要在Vim中编辑该文件
vim "$(llm llama-cpp models-file)"
要查找下载模型的目录,运行
llm llama-cpp models-dir
以下是切换到该目录的方法
cd "$(llm llama-cpp models-dir)"
通过模型运行提示
一旦下载并添加了模型,您就可以像这样运行提示
llm -m llama-2-7b-chat.Q6_K 'five names for a cute pet skunk'
或者如果您注册了别名,可以使用它代替
llm -m llama2-chat 'five creative names for a pet hedgehog'
更多要尝试的模型
Llama 2 7B
此模型是未进行聊天训练的Llama 2 7B GGML。您需要稍微改变对它的提示方式
llm llama-cpp download-model \
https://hugging-face.cn/TheBloke/Llama-2-7B-GGUF/resolve/main/llama-2-7b.Q6_K.gguf \
--alias llama2
尝试期望由模型完成的提示,例如
llm -m llama2 'Three fancy names for a posh albatross are:'
Llama 2 Chat 13B
这是一个10.7GB下载的Llama 2 13B Chat GGML模型
llm llama-cpp download-model \
'https://hugging-face.cn/TheBloke/Llama-2-13B-chat-GGUF/resolve/main/llama-2-13b-chat.Q6_K.gguf'\
-a llama2-chat-13b --llama2-chat
Llama 2 Python 13B
这是一个9.24GB下载的Llama 2 13B Python GGML模型
llm llama-cpp download-model \
'https://hugging-face.cn/TheBloke/CodeLlama-13B-Python-GGUF/resolve/main/codellama-13b-python.Q5_K_M.gguf'\
-a llama2-python-13b --llama2-chat
选项
以下选项可用
-o verbose 1
- 输出更多详细日志-o max_tokens 100
- 返回的最大令牌数。默认为4000。-o no_gpu 1
- 移除默认的`n_gpu_layers=1`参数,这将禁用GPU使用-o n_gpu_layers 10
- 将n_gpu_layers
参数增加到更高的值(默认为1
)-o n_ctx 1024
- 将n_ctx
参数设置为1024
(默认为4000
)
例如
llm chat -m llama2-chat-13b -o n_ctx 1024
这些主要提供支持以不同的方式执行底层模型。
开发
要本地设置此插件,首先检出代码。然后创建一个新的虚拟环境
cd llm-llama-cpp
python3 -m venv venv
source venv/bin/activate
现在安装依赖项和测试依赖项
pip install -e '.[test]'
要运行测试
pytest
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定要选择哪个,请了解更多关于安装软件包的信息。
源分布
构建分布
llm-llama-cpp-0.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8de7ab99fc62510e96ff8d5ca084aebf7b8f6051eae114409a7c35cd6d26c557 |
|
MD5 | 12a81286f02b77e3dbfa9ba29b10d08c |
|
BLAKE2b-256 | 5c3a0163b63b1cce4b52877fd29bd25ec1b1335f2757c785d3f022b0f5c44997 |
llm_llama_cpp-0.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a67d30ca7724a202b96d6d1f6dd9cbf1a6e44bde03db03820a487282eb857588 |
|
MD5 | 1bc71704c36b1dd7d01f53c24c24a8e8 |
|
BLAKE2b-256 | 129d696c621382c439ccff25535e3b09fad5c990cfae11ec4bdf65c2eaecd690 |