中文 ▾

Ollama API SillyTavern 设置:连接托管接口

SillyTavern 可以通过其自定义源与任何 OpenAI 兼容的接口通信。本页面将逐步介绍设置、需要粘贴的值以及连接失败时的处理方法。

已更新

舞台、面具和聊天气泡通过电缆连接到托管服务器的插图

要点

  1. 在 SillyTavern 中选择 Chat Completion,然后选择自定义(OpenAI 兼容)源。
  2. 将 Base URL 设置为 https://api.ollamaapi.com/v1,将模型 ID 设置为 uncensored。
  3. 先用 curl 测试,以便确定故障是出在密钥还是应用程序上。
  4. 保持上下文窗口大小与你的预算一致;每次回复都会将历史记录作为输入重新发送。

开始前的准备工作

如果你搜索了 ollama api sillytavern,你可能希望 SillyTavern 通过 OpenAI 风格的地址与模型通信,而不是通过本地 Ollama 安装。这是可行的,因为 SillyTavern 允许你添加任何 OpenAI 兼容的接口。本页面将其连接到托管接口,这意味着你这边不需要 GPU。

你需要三样东西:一个可用的 SillyTavern 安装、一个 API 密钥和端点配置值。这些值是:

  • Base URL:https://api.ollamaapi.com/v1
  • 模型 ID:uncensored
  • Authorization:你的密钥,以 Bearer token 形式发送(SillyTavern 会自动完成此操作)

要获取密钥,请使用 Google 或邮箱和密码登录,然后打开 API 密钥页面。新用户只需点击一下即可领取 $0.50 试用额度。每人限领一次,有效期 7 天,无需绑定银行卡。试用密钥限制为 2 个并发请求和每分钟 60 个请求,这足以满足单次聊天需求。

内容规则:该模型经过调整,可在合法成人用途中避免内容拒绝,适合小说、角色扮演和成人伴侣设置。不允许涉及未成年人,且接口对此有硬性限制。

先用 curl 测试密钥

五秒钟的测试可以节省大量猜测。如果此命令返回回复,则密钥、URL 和模型 ID 均正确,后续任何问题都出在 SillyTavern 设置中。

curl https://api.ollamaapi.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "Say hello in one short sentence."}],
    "max_tokens": 40
  }'

你也可以使用相同的请求头列出模型:GET https://api.ollamaapi.com/v1/models。401 表示密钥错误或缺失。回复的 choices[0].message.content 包含文本表示你已准备好配置应用。

逐步连接 SillyTavern

菜单名称在不同版本的 SillyTavern 中可能略有变化,但路径是稳定的。打开顶部的插件图标,即 API 连接面板。

  1. 将 API 设置为 聊天补全。不要在此接口使用文本补全,因为它仅提供聊天补全。
  2. 将聊天补全源设置为自定义(兼容 OpenAI)。
  3. 在 自定义接口(Base URL) 中,输入 https://api.ollamaapi.com/v1。不要包含任何尾部路径,例如 /chat/completions。
  4. 将你的密钥粘贴到自定义 API 密钥中。
  5. 在 Model ID中,输入 uncensored。如果字段提供由 models 端点填充的下拉菜单,请选择相同的条目。
  6. 按Connect。如果显示带有模型名称的绿色状态,则握手成功。

打开任何角色卡并发送一条简短消息。如果文本开始流式传输,则连接完成。其余部分介绍调优,因为默认设置并不总是最适合具有大上下文窗口的托管模型。

如果你来自 Ollama 的提醒:SillyTavern 自带的 Ollama 连接使用本地地址和文本补全路径。该路径指向你自己的计算机。这里我们使用聊天补全路径和公共 HTTPS 地址,以免两种设置混淆。

值得更改的设置

上下文大小

上下文窗口为 100,000 个 token,包括提示词和完成部分。SillyTavern 允许你在采样器面板中设置上下文大小,当聊天超出该大小时,应用程序会丢弃最旧的消息。更大的值可以记住更多的故事,但成本也更高,因为每次回复都会发送整个历史记录作为输入。

这里有一个计算示例。一次聊天轮次发送 8,000 个 token 的历史记录并接收 300 个 token 的回复,输入成本为 8,000 x $0.15 / 1M = $0.0012,输出成本为 300 x $0.50 / 1M = $0.00015。每次轮次成本为 $0.00135,因此 100 次轮次成本为 $0.135。如果将历史记录推送到 60,000 个 token,仅输入部分每次轮次成本为 $0.009,因此 100 次轮次成本为 $0.90,加上 $0.015 的输出成本,总计 $0.915。大多数聊天不需要这么多,对旧事件的摘要通常比原始历史记录效果更好。

最大回复长度

max_tokens 是可选的。将回复长度设置为 300 到 500 个 token 可以使回复整洁并限制输出成本。如果角色倾向于在句子中间被截断,请增加该值。

采样

温度、top_p、停止序列、种子以及频率惩罚和存在惩罚会传递给模型。从聊天预设的默认值附近开始,每次只更改一个值。如果回复重复短语,请稍微提高惩罚值,而不是温度。

流式传输

保持流式传输开启。文本使用 SSE 生成时显示。使用情况在流结束时报告。注意,流式传输请求会占用并发槽位直到完成,因此在试用密钥(2 个并发)下快速连续按两次重新生成可能会产生错误。

故障排除

症状可能原因修复方法
401 未授权密钥错误或缺失再次粘贴密钥并检查两端是否有空格
404 未找到Base URL 中的路径错误精确使用https://api.ollamaapi.com/v1,后面不要跟任何内容
未找到模型模型 ID 错误以小写输入 uncensored
429 错误对应 concurrency 限制同时请求过多等待正在运行的回复结束;试用密钥避免使用群聊
429 带有rate_limited超过每分钟请求数放慢速度;完整密钥允许每分钟 300 个请求
429 且 Retry-After 为 5临时过载五秒后重试
浏览器 CORS 消息SillyTavern 在另一台设备或代理上运行启用其服务器端请求路径或在单台机器上运行

群聊值得注意。SillyTavern 可以按顺序或同时发送多个角色回复。如果你看到群聊的并发错误,请减少活跃角色的数量或从试用密钥升级。完整密钥允许 8 个并发请求。

当回复为空或被截断时,首先查看响应长度设置,然后查看停止序列。如果停止字符串匹配常见单词,回复会提前结束且无错误。

充值并保持成本可预测

试用额度足以让你尝试设置并评估写作效果。根据上述示例的每轮成本,$0.50 可支付大约 370 轮 8,000 token 聊天的费用(0.50 除以 0.00135)。之后,你可以从 $20 起充值,任何整金额最高可达 $500。支持银行卡(Visa、Mastercard、Apple Pay、Google Pay)和加密货币(TRC20 上的 USDT、Base 上的 USDC)。大额充值享有奖励:$50 起 +5%,$100 起 +10%,$200 起 +15%。额度永不过期,不会自动续期,失败或被拒绝的请求不会收费。完整表格请参阅 定价页面。

每次调用后的余额会显示在 X-Balance-USD 响应头中,你也可以查看仪表板。文档 解释了请求字段,如果你以后想从 SillyTavern 迁移到自己的脚本,可以参考。提示词不用于训练。

问答

我应该选择哪个 SillyTavern 源?

Chat Completion 使用自定义(OpenAI 兼容)源。输入 Base URL https://api.ollamaapi.com/v1、API 密钥以及模型 ID uncensored。

这与将 SillyTavern 连接到本地 Ollama 服务器相同吗?

不。本地 Ollama 连接指向你自己的计算机。这是一个通过 HTTPS 访问的托管接口,你的机器上没有运行模型。

为什么在试用密钥下重新生成有时会返回错误?

试用密钥允许 2 个并发请求。流式传输回复会占用其槽位直到结束,因此快速连续重新生成可能会超出限制。

我可以用于角色扮演和角色聊天吗?

可以,适用于合法的成人用途,如小说、角色扮演和伴侣应用。不允许涉及未成年人的色情内容。

只需填写一个表单即可获得密钥

创建账户,复制密钥,更改基础 URL。这就是全部设置。

获取 API 密钥阅读文档