API 连接
SillyTavern 可以连接到多种 LLM API。 下面介绍它们各自的优势、劣势和使用场景。
ELI5:聊天补全 vs 文本补全
当你首次进入 ST 的“API 连接”页面时,会看到一个下拉选项,可以选择“Chat Completion”(聊天补全)和“Text Completion”(文本补全)等不同类型。理解这些术语的含义会很有帮助。
先澄清一个误区:人们很容易把“Text Completion”当作本地模型,把“Chat Completion”当作云端大语言模型,但事实并非如此。例如“NovelAI”或“Kobold”实际上并非完全独立的模型类型,尽管它们在 ST 的 API 下拉菜单中是独立的选项。你可以通过相应的后端把模型套进不同的 API 结构里,但这并不是本节要讨论的内容。
当你使用 ST 发送消息时,你的对话、角色描述以及其他提示词(例如世界书或作者备注)会被构建成一条发送给模型的完整“提示词”。你所使用模型的 API “类型”决定了这条提示词究竟会被如何构建(这部分由 ST 在后台自动替你完成——你可以打开 ST 终端,查看实际发送给 AI 的提示词长什么样)。
聊天补全(Chat Completions)
聊天补全模型,顾名思义,会把你的提示词组织成一系列用户(你)与助手(AI)或系统(中立)之间的消息。为聊天补全而训练的模型有助于营造“聊天”的感觉,让 AI 去“回应”最后一条消息。当你在使用 ChatGPT 网站时,后台运行的就是聊天补全 API。
文本补全(Text Completions,又称“Completions”)
文本补全则正好相反——同样是顾名思义,它会把你的提示词转换成一条长字符串,然后模型就是单纯地去续写它(想象一下:把你所有的文字、几百条消息、所有的格式和换行等等,全部压成一句超长的话)。
如果你在 ST 中的消息恰好被格式化为 YourPersona: 和 Character: 之间的一系列消息,文本补全模型就会尝试续写这种模式,而 ST 会把它渲染为一条新的聊天消息——但实际上模型只是在续写文本而已。如果你给出的输入是“The Sun rises in the”(太阳从___升起),文本补全模型很可能就会用“East”(东方)来帮你补全这句话。
大多数文本补全模型都有一个推荐的“指令模板”(通常在模型的文档或下载页面中提到),用于帮助它们像聊天补全模型一样“回应”消息和指令。ST 通常在“高级格式化”页面中提供了大多数(甚至全部)指令模板供你选择。
本地 API
- 这些 LLM API 可以在你的 PC 上运行。
- 免费使用,且没有内容过滤。
- 安装过程可能比较复杂(SillyTavern 开发团队不对此提供支持)。
- 需要单独从 HuggingFace 下载 LLM 模型,每个模型大小约为 5-50GB。
- 大多数模型不如云端大语言模型 API 强大。
KoboldCpp
- 易用的 API,支持 CPU 卸载(对低 VRAM 用户很友好)和流式输出
- 在 Windows、Mac 和 Linux 上以单个二进制文件运行
- 支持 GGUF 模型
- 速度比仅使用 GPU 的加载器(如 AutoGPTQ 和 Exllama/v2)慢
- GitHub,设置说明
llama.cpp
- KoboldCpp 和 Ollama 最初都是从它 fork 而来
- 提供预编译二进制文件,也可以选择从源码编译
- 支持 GGUF 模型
- 为 llama-server 提供轻量级 CLI 界面
- GitHub
Ollama
Oobabooga TextGeneration WebUI
- 集流式输出于一体的 Gradio UI
- 对量化(AWQ、Exl2、GGML、GGUF、GPTQ)和 FP16 模型的支持最广泛
- 提供一键安装程序
- 更新频繁,有时会破坏与 SillyTavern 的兼容性
- GitHub
将 SillyTavern 连接到 Ooba 新版 OpenAI API 的正确方法:
- 确保你已将 Oobabooga 的 TextGen 更新到最新版本(截至 2023 年 11 月 14 日)。
- 编辑 CMD_FLAGS.txt 文件,在其中添加
--api标志,然后重启 Ooba 的服务器。 - 将 ST 连接到
http://localhost:5000/(默认地址),不要勾选“Legacy API”复选框。你可以去掉 Ooba 控制台所提供 URL 末尾的/v1后缀。
你可以使用 --api-port 5001 标志来更改 API 托管端口,其中 5001 是你的自定义端口。
TabbyAPI
- 基于 Exllamav2 的轻量级 API,支持流式输出
- 支持 Exl2、GPTQ 和 FP16 模型
- 官方扩展支持直接从 SillyTavern 加载/卸载模型
- 不推荐低 VRAM 用户使用(不支持 CPU 卸载)
- GitHub,设置说明
KoboldAI Classic(已弃用,已停止维护)
- 在你的 PC 上运行,100% 私有,提供丰富的可用模型
- 对 AI 的生成设置给予最直接的控制
- 需要显卡具备大容量 VRAM(6-24GB,具体取决于 LLM 模型)
- 模型上下文限制为 2k
- 不支持流式输出
- 常见的 KoboldAI 版本:
云端大语言模型 API
- 这些 LLM API 作为云服务运行,不会占用你 PC 上的资源
- 比大多数本地 LLM 更强大、更聪明
- 但是它们都有不同程度的内容过滤,且大多数需要付费
AI Horde
- SillyTavern 开箱即可使用此 API,无需额外设置
- 使用个体志愿者(Horde 贡献节点)的 GPU 来处理你聊天输入的回复
- 生成等待时间、AI 设置和可用模型都受贡献节点的影响
- 官网,设置说明
OpenAI (ChatGPT)
Claude(由 Anthropic 提供)
Google AI Studio 和 Vertex AI
Mistral(由 Mistral AI 提供)
- 高效的模型,涵盖各种规模和使用场景。你可以在其平台上创建账户和 API 密钥。
- 通用场景提供 32k 到 128k 的上下文大小,编程场景提供 32k 到 256k 的上下文大小。
- 拥有带速率限制的免费档。
- 内容审核适度,Mistral 的主要原则是保持中立、赋能用户,更多信息见此处。
- 官网,设置说明
OpenRouter
DeepSeek
- 提供对极受欢迎的 DeepSeek V3(
deepseek-chat)和 DeepSeek R1(deepseek-reasoner)模型最新版本的访问 - 需要付费购买额度(最低 2 美元),但就其质量而言,模型价格相当便宜
- API 上没有内容审核,但模型可能会拒绝某些提示词
- 官网,设置说明
AI21
Cohere
Perplexity
Mancer AI
- 托管来自不同系列、无约束模型的服务
- 使用“额度”来为各种模型上的 token 付费
- 默认不记录提示词,但你可以启用日志记录以获得 token 的额度折扣
- 使用类似于
Oobabooga TextGeneration WebUI的 API,详情参见 Mancer 文档。 - 官网,设置说明
DreamGen
- 为可引导的创意写作调优的无审核模型
- 提供每月免费额度,以及付费订阅
- 模型规模从 7B 到 70B 不等
- 设置说明
Pollinations
- 无需设置,开箱即用
- 免费提供对多种模型的访问
- 输出内容偶尔可能包含带有第三方服务链接的广告