跳转到主要内容

使用llama.cpp运行模型的LLM插件

项目描述

llm-llama-cpp

PyPI Changelog Tests License

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:'

输出开始如下

  1. 海象是令人着迷的动物,它们拥有独特的品质,可以在数小时内吸引和娱乐你。有机会经常接触它们,将确保你永远不会缺乏关于它们的有趣事物来学习,无论是从教育还是个人角度来看。

  2. 宠物海象可以帮助缓解抑郁和焦虑,因为它们需要持续的关怀和注意。与这些聪明生物建立关系可以提供安慰和满足感,在日常生活中培养一种使命感。此外,它们的顽皮天性鼓励笑声和快乐,促进整体的幸福感。 [...]

添加模型

您还可以使用-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-chatl2c

--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 (11.5 kB 查看哈希值)

上传时间:

构建分布

llm_llama_cpp-0.3-py3-none-any.whl (11.6 kB 查看哈希值)

上传时间: Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面