使用MLC运行模型的LLM插件
项目描述
llm-mlc
安装
在与 llm
相同的环境中安装此插件。
llm install llm-mlc
您需要手动安装两个依赖项 - mlc-chat-nightly
和 mlc-ai-nightly
- 因为安装过程因平台而异,尚未自动化。
这些步骤在 mlc.ai/package 网站上有详细描述。
如果您使用的是苹果硅M1/M2 Mac,可以运行以下命令
llm mlc pip install --pre --force-reinstall \
mlc-ai-nightly \
mlc-chat-nightly \
-f https://mlc.ai/wheels
这里的 llm mlc pip
命令确保 pip
将在 llm
本身相同的虚拟环境中运行。
对于其他系统,请 按照此处说明操作。
最后,运行 llm mlc setup
命令以完成安装
llm mlc setup
这将设置 git lfs
并使用它下载一些额外的依赖项
Git LFS is not installed. Should I run 'git lfs install' for you?
Install Git LFS? [y/N]: y
Updated Git hooks.
Git LFS initialized.
Downloading prebuilt binaries...
Cloning into '/Users/simon/Library/Application Support/io.datasette.llm/mlc/dist/prebuilt/lib'...
remote: Enumerating objects: 221, done.
remote: Counting objects: 100% (86/86), done.
remote: Compressing objects: 100% (54/54), done.
remote: Total 221 (delta 59), reused 56 (delta 32), pack-reused 135
Receiving objects: 100% (221/221), 52.06 MiB | 9.13 MiB/s, done.
Resolving deltas: 100% (152/152), done.
Updating files: 100% (60/60), done.
Ready to install models in /Users/simon/Library/Application Support/io.datasette.llm/mlc
安装模型
安装后,您需要使用 llm mlc download-model
命令下载一个模型。
以下是下载和安装Llama 2的方法
llm mlc download-model Llama-2-7b-chat --alias llama2
这将下载大约8GB的内容。
您还可以使用 Llama-2-13b-chat
(约15.15GB)或 Llama-2-70b-chat
(非常大),尽管这些文件要大得多。
-a/--alias
是可选的,但可以用来为模型设置一个更短的别名。然后可以使用 llm -m <alias>
而不是全名。
download-model
命令还可以接受指向 Hugging Face上的MLC存储库 的URL。
例如,要安装 mlc-chat-WizardLM-13B-V1
llm mlc download-model https://hugging-face.cn/mlc-ai/mlc-chat-WizardLM-13B-V1.2-q4f16_1
您可以使用以下方法查看您安装的所有模型的完整列表
llm mlc models
这将还会显示您应使用的模型名称,例如
MlcModel: mlc-chat-Llama-2-7b-chat-hf-q4f16_1 (aliases: llama2, Llama-2-7b-chat)
通过模型运行提示
一旦您下载并添加了模型,您可以运行如下提示
llm -m Llama-2-7b-chat 'five names for a cute pet ferret'
太好了!以下是五个可爱且富有创意的宠物沙鼠名称建议
- Ferbie - 一个适合友好、外向的沙鼠的俏皮、充满爱心的名字。
- Mr. Whiskers - 一个优雅、成熟的名称,适合精心打理、庄重的沙鼠。
- Luna - 一个充满天籁之音、梦幻般的名字,适合好奇、爱冒险的沙鼠。
- Felix - 一个快乐、充满活力的名字,适合活泼、顽皮的沙鼠。
- Sprinkles - 一个有趣、俏皮的名字,适合快乐、充满活力且带有一丝顽皮的沙鼠。
记住,最重要的是选择一个您和您的沙鼠都喜爱并享受的名字!
要发送后续提示以继续当前对话,请使用 -c
llm -c 'two more'
当然!以下是两个更多可爱的宠物沙鼠名称建议
- Digger - 一个适合喜欢挖掘和打洞的宠物,也是对沙鼠作为挖掘者的本能的致敬。
- Gizmo - 一个有趣、古怪的名字,适合好奇、顽皮的宠物,也是对沙鼠爱玩、富有创造力的性格的致敬。
模型选项
这些选项适用于所有模型。它们主要接受0.0到1.0之间的浮点值。
-o temperature
:较高的温度鼓励更多样化的输出,而较低的温度产生更确定的输出。-o top_p
:在每一步中,我们从累积概率超过此值的最低集合中选择标记。-o repetition_penalty
:控制模型生成重复文本的可能性。-o max_gen_len
:接受一个整数,它控制生成的文本的最大长度。
使用方法如下
llm -m Llama-2-7b-chat \
-o temperature 0.5 \
-o top_p 0.9 \
-o repetition_penalty 0.9 \
-o max_gen_len 100 \
'five names for a cute pet ferret'
MLC文档对这些选项有更多详细信息。
开发
要本地设置此插件,首先检出代码。然后创建一个新的虚拟环境
cd llm-mlc
python3 -m venv venv
source venv/bin/activate
现在安装依赖项和测试依赖项
pip install -e '.[test]'
要运行测试
pytest
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。