项目概述
llama2-webui
项目是一款强大的工具,旨在帮助用户通过简单的网络界面在不同的操作系统(Linux/Windows/Mac)中使用 GPU 或 CPU 云端运行 Llama 2 模型。它支持各种 Llama 2 模型,包括 7B、13B、70B 版本,以及 GPTQ、GGML、GGUF 和 CodeLlama 模型,并提供 8 比特和 4 比特模式选择。
功能特色
llama2-webui
为用户提供了多种强大的功能:
- 模型支持:支持所有主要的 Llama 2 模型,包括 Llama-2-7b、13b、70b 版本及其不同变体如 GPTQ 和 GGML。此外,还支持 CodeLlama 模型,用于代码补全和填充。
- 多种后端支持:可以使用多种后端如 transformers、bitsandbytes 和 AutoGPTQ 等来运行模型。
- 灵活的 API 接口:通过 Llama2 提供与 OpenAI 兼容的 API,使得在与 OpenAI 兼容的客户端、库或服务中使用成为可能。
- 利用
llama2-wrapper
:可以将llama2-wrapper
用作本地后端,方便在应用中集成和使用生成代理。 - 良好的社区支持和文档:提供详细的安装指导、使用案例、性能基准测试和问题解决方案文档。
安装指南
方法一:通过 PyPI 安装
用户可以通过以下命令直接从 PyPI 安装 llama2-wrapper
:
pip install llama2-wrapper
支持最新的 gguf 模型。
方法二:从源代码安装
用户可以从 GitHub 仓库克隆项目并安装其依赖项:
git clone https://github.com/liltom-eth/llama2-webui.git
cd llama2-webui
pip install -r requirements.txt
使用指南
启动聊天界面
用户可以通过运行app.py
来启动简单的聊天机器人 UI:
python app.py
启动代码补全界面
提供用于 Code Llama 的代码补全/填充 UI,通过以下命令运行:
python code_completion.py --model_path ./models/codellama-7b.Q4_0.gguf
使用 llama2-wrapper
开发者可以通过llama2-wrapper
来开发和部署属于自己的应用:
from llama2_wrapper import LLAMA2_WRAPPER
llama2_wrapper = LLAMA2_WRAPPER()
prompt = "你知道什么是PyTorch吗?"
answer = llama2_wrapper(get_prompt(prompt), temperature=0.9)
性能基准测试
用户可以使用benchmark.py
脚本来测试在不同设备上的模型性能,并可以自定义迭代次数以及后端类型。
模型下载
Llama 2 提供了从 7B 到 70B 参数的多种预训练及微调文本生成模型,用户可以通过指定路径和相应链接访问这些资源。
提示与技巧
- 运行环境示例:提供了多种环境配置示例,适用于不同的模型和后端。
- 使用 GPU 加速:详细讲解了如何在 Nvidia 和 AMD 显卡上使用不同模式(如 8bit 及 4bit)来提升模型运行速率。
- 在 CPU 上运行:说明了如何在 CPU 上配置和运行低比特模型,并提供了特定于 Mac 的 Metal 加速方案。
许可证与贡献
项目使用 MIT 许可证,能够在商业项目中自由使用并进行二次开发。欢迎感兴趣的开发者阅读贡献指南,参与改进项目。
以上是 llama2-webui
项目的一个全面概括,旨在帮助用户便捷地部署和利用 Llama 2 模型进行文本和代码处理任务。