serge - 通过 llama.cpp 与 Alpaca 聊天的 Web 界面。完全docker化,具有易于使用的 API。

Created at: 2023-03-19 16:33:29
Language: Python
License: MIT

塞尔吉 - LLaMa 变得简单 🦙

许可证 不和

基于运行羊驼模型的聊天界面。完全自托管,无需 API 密钥。适合 4GB 内存并在 CPU 上运行。

llama.cpp

  • SvelteKit 前端
  • MongoDB用于存储聊天记录和参数
  • 用于 API 的 FastAPI + beanie,包装对
    llama.cpp

演示.webm

开始

设置 Serge 非常简单。用于与 Alpaca 7B 一起运行的 TLDR:

git clone https://github.com/nsarrazin/serge.git
cd serge

docker compose up -d
docker compose exec serge python3 /usr/src/app/api/utils/download.py tokenizer 7B

窗户

⚠️要在窗口上进行克隆,请使用 。

git clone https://github.com/nsarrazin/serge.git --config core.autocrlf=input

确保已安装 docker 桌面、配置 WSL2 和足够的可用 RAM 来运行模型。(见下文)

Kubernetes

在 Kubernetes 上设置 Serge 可以在 wiki 中找到:https://github.com/nsarrazin/serge/wiki/Integrating-Serge-in-your-orchestration#kubernetes-example

使用塞尔吉

(可以作为参数传递给脚本以下载多个模型。

7B 13B 30B
download.py

然后去 http://localhost:8008/,你就可以走了!

该 API 可在 http://localhost:8008/api/

模型

目前仅支持 7B、13B 和 30B 羊驼型号。如上所述,有一个下载脚本用于在容器内下载它们。

如果你有来自其他项目的现有权重,则可以使用 将其添加到体积中。

serge_weights
docker cp

⚠️有关内存使用情况的说明

如果你的模型没有足够的可用内存,美洲驼就会崩溃。

  • 7B 需要大约 4.5GB 的可用内存
  • 13B 需要大约 12GB 的可用空间
  • 30B 需要大约 20GB 的可用空间

支持

如果你需要设置方面的帮助,请随时加入不和谐:https://discord.gg/62Hc6FEYQH

下一步是什么

  • [x] 与 API 接口的前端
  • [x] 创建聊天时传递模型参数
  • [ ] 用户配置文件和身份验证
  • [ ] 不同的提示选项
  • [ ] 与自定义 LLM 的 LangChain 集成
  • [ ] 支持其他美洲驼模型、量化等。

还有更多!