Extras 安装

本页包含在本地设备上安装 SillyTavern Extras 的说明。

在你的操作系统上本地安装 Extras 可能会很困难,甚至无法实现(尤其是 Termux)。

使用官方 Extras Colab

  • 设置简单
  • 免费使用
  • 不需要 Colab GPU 额度(使用 use_cpu 选项即可)
  • 详情请参阅 Colab 指南页面

在 Colab 中运行 Extras

  • 打开 官方 Extras Colab
  • 选择你需要的“Extra”选项
  • 选择 use_cpu,以便在不需要 GPU 额度的情况下运行 Extras
    • 这会让 Stable Diffusion 变慢,但其他所有功能都会正常运行
  • 非必需,但推荐:选择 secure 选项以生成 API 密钥,从而保护你共享的实例。
  • 点击左侧的 Start 按钮(看起来像一个三角形“播放”按钮)
  • 等待所有内容加载完成
  • 在输出结果的底部寻找 trycloudflare.com 链接。忽略 localhost 链接,它无法使用(我们试过了!)。
  • 该链接会以 Running on 文字开头
  • 复制该行下方列出的 API URL 链接。(不要复制 'localhost' URL,使用另一个
  • 以支持扩展的方式启动 SillyTavern:(如有必要,请将 config.yaml 中的 enableExtensions 设为 true
  • 进入 SillyTavern 的 Extensions 菜单(点击页面顶部的“积木堆叠”图标)。
  • 将 API URL 粘贴到顶部的输入框中。(不是 API Key 输入框
  • 如果你没有启用 secure 选项,使用官方 colab 时请确保 API Key 输入框完全为空。
  • 如果你启用了 secure 选项,请将生成的 API 密钥粘贴到 API Key 输入框中。
  • API 密钥会显示在 colab 的控制台输出中,例如:Your API key is fee2f3f559
  • 点击“Connect”

本地安装方法

MiniConda(推荐)

推荐此方法,因为 Conda 会为 Extras 所需的依赖包创建一个“虚拟环境”,使它们不会影响你系统全局的 Python 配置。

  1. 安装 Miniconda

    (重要!)请阅读 如何使用 Conda

  2. 安装 git

    (一开始就用 git 安装 SillyTavern 的高手可以跳过这一步!)

    当两者都安装完成后……

    CONDA 命令提示符窗口中,逐条输入/粘贴以下命令,并在每条命令后按 Enter

  3. 创建一个新的 Conda 环境(我们将其命名为 extras):

    conda create -n extras

  4. 激活新环境

    conda activate extras(你应该会看到命令提示符左侧出现 (extras)

  5. 安装所需的系统包(这会花一些时间)

    conda install python=3.11 git

  6. 克隆 Extras GitHub 仓库

    git clone https://github.com/SillyTavern/SillyTavern-extras

  7. 进入你克隆的 Extras 仓库

    cd SillyTavern-extras

  8. 使用以下命令之一安装 Extras 的依赖(同样会花一些时间):

    • pip install -r requirements.txt - 用于基础功能
    • pip install -r requirements-rvc.txt - 用于实时语音克隆
    • pip install -r requirements-coqui.txt - 用于 Coqui TTS(不推荐)

    如果在这一步遇到错误,请参阅常见问题页面!

  9. 参阅下方的“安装后运行 Extras”


系统级安装

此方法更简单,但会影响你系统全局的 Python 安装。

如果你在使用许多有不同依赖要求的 Python 程序,这可能会引起冲突。

如果这是你第一次接触任何与 Python 相关的内容,那应该不会有问题。

  1. 安装 Python 3.11:https://www.python.org/downloads/release/python-3115/
  2. 安装 git:https://git-scm.com/downloads
  3. 打开命令提示符窗口,并进入一个你拥有完全访问权限的文件夹。
  4. 克隆仓库:git clone https://github.com/SillyTavern/SillyTavern-extras,然后按 Enter。
  5. 克隆完成后,输入 cd SillyTavern-extras,然后按 Enter。
  6. 输入 python -m pip install -r requirements.txt
  7. 参阅下方的“安装后运行 Extras”

安装后运行 Extras

确认扩展已启用

  1. 用文本编辑器打开名为 config.yaml 的文件。该文件位于 ST 的基础安装文件夹中。
  2. 找到内容为 enableExtensions 的那一行。
  3. 确保该行是 true,而不是 false

决定使用哪个模块

(此操作只需进行一次)

  • Extras 总是通过 Python 命令行启动。
  • python server.py 是最基础的命令,但它不会启用任何有用的模块。
  • 要启用模块,你必须使用 --enable-modules= 修饰符,后跟以逗号分隔的模块名列表

示例:python server.py --enable-modules=caption,summarize,classify

这会启用图像描述、聊天摘要以及实时更新的角色表情。

下表描述了每个模块。

名称 说明
caption 图像描述
summarize 文本摘要
classify 文本情感分类
sd Stable Diffusion 图像生成
silero-tts Silero TTS 服务端
edge-tts Microsoft Edge TTS 客户端
chromadb 向量存储服务端
coqui-tts Coqui TTS
rvc 实时语音克隆
  • 决定要将哪些模块添加到你的 Python 命令行中。
  • 它们将在下一步中使用。

注意:你的 Python 命令的模块列表中绝对不能包含任何空格!

启动 Extras 服务端

仍在 Extras 安装文件夹内的命令提示符窗口中……

  1. 确保你的 conda 环境已激活(如果你使用了 Conda 安装方式)
  2. 如果环境未激活,请输入 activate extras
  3. 输入 python server.py --enable-modules=YOUR,SELECTED,MODULE,LIST,HERE
  4. Extras 服务端将会加载。
  5. 过一会儿,它会在末尾显示一个 URL。对于本地安装,默认为 http://localhost:5100
  6. 复制该 API URL。

将 ST 连接到 Extras 服务端

  1. 启动你的 SillyTavern 服务端,并在浏览器中查看 SillyTavern 界面。
  2. 打开扩展面板(通过页面顶部的“积木堆叠”图标)
  3. 将 API URL 粘贴到输入框中。
  4. 点击 Connect

要再次运行 Extras,只需激活环境并在命令提示符中运行这些命令。

conda activate extras,按 Enter。 python server.py,按 Enter。

请务必使用你的配置所需的 server.py 附加选项(见下文)。

制作用于轻松启动的 .bat 文件

此步骤为可选,且仅适用于 Windows,但在 MacOS 上也应该可以实现类似的操作。

  1. 查看你的 Windows 桌面
  2. 右键点击,选择 New,然后点击 Text Document
  3. 桌面上会出现一个新文件,要求输入名称。
  4. 将文件命名为 STExtras.txt
  5. 用文本编辑器打开新创建的文件。
  6. 将以下代码粘贴到其中:

    cd C:\_your_\_full_\_Extras_\_folder_\_path_\
    call conda activate extras
    python server.py --enable-modules=YOUR,SELECTED,MODULE,LIST,HERE,WITH,NO,SPACES
    call conda deactivate
    pause
  7. 将占位符文件夹路径替换为你实际的 Extras 安装文件夹路径。
  8. 将 python 命令行替换为你实际的命令行
  9. 以新名称 STExtras.bat 保存文件(在大多数文本编辑器中使用 File >> Save As

现在你只需双击此 .bat 文件即可轻松启动 Extras。

如果你想更改模块列表(或 Extras 服务端的任何其他命令行修饰符),只需编辑 .bat 文件内的 python 命令即可。

Extras 安装常见问题

本节列出了安装 SillyTavern Extras 时遇到的常见问题和疑问。

错误:Could not import the 'talkinghead' module on Linux(在 Linux 上无法导入 'talkinghead' 模块)

它需要安装一个额外的包,因为由于与 Colab 不兼容,它不会被自动安装。请在安装其他依赖后运行以下命令:

pip install wxpython

Extras 服务端无法连接到 AUTOMATIC1111 的 Stable Diffusion Web UI

Could not connect to remote SD backend at http://127.0.0.1:7860! Disabling SD module...

请确保你用来启动 Stable Diffusion 的 webui-user.bat 中,COMMANDLINE_ARGS 变量包含 --api 命令行选项。

在你的“webui-user.bat”中找到并替换那一行:set COMMANDLINE_ARGS=--api

应有的样子
应有的样子

如果 SD Web UI 的 API 模式被禁用,Extras 服务端将无法建立连接,你也就无法生成图像!

还是不行?

请确保你按正确的顺序启动所有程序,并等待每个程序完成加载后再进行下一步:

  1. Stable Diffusion Web UI
  2. SillyTavern Extras
  3. SillyTavern

如果 Stable Diffusion API 在 Extras 服务端之后才加载,Extras 服务端将无法重新连接到它。

安装 ChromaDB 时出现 hnswlib wheel 构建错误

ERROR: Could not build wheels for hnswlib, which is required to install pyproject.toml-based projects

在安装 ChromaDB 模块之前,你必须先执行 以下操作之一


在 Mac 上安装 Python 依赖时出错

ERROR: No matching distribution found for torch==2.0.0+cu117

Mac 不支持 CUDA,因此 torch 包应在不带 CUDA 支持的情况下安装。

请改用 requirements-silicon.txt 文件来安装依赖。


缺少模块?

  • 你必须在 Python 命令行中使用 --enable-modules 修饰符指定模块名列表。
  • 参见模块章节。

API Key 输入框是做什么用的?

  • SillyTavern 扩展面板中的 API Key 输入框仅在你执行了以下操作时使用:
    • 在你的 Extras 安装文件夹中创建了一个名为 api_key.txt 的文本文件,其中包含你选择的 Extras“密码”。
    • 使用 --secure 命令行参数启动了 extras。
  • 这会使 Extras API“被密码锁定”,因此只有在其 API Key 输入框中填入该密钥的用户才能访问它。
  • 这主要适用于想要构建自己的 Extras 公共部署(colab 等)的用户。
  • 在自己的 PC 上为个人使用而运行 Extras 的用户,不应在 API Key 输入框中输入任何内容。

那么移动端/Android/Termux 呢?🤔

  • 社区中有些人通过 Termux 上的 Ubuntu 成功在手机上运行了 Extras。
  • 但是,Extras 并非为移动端支持而设计。
  • 对于在 Android 设备上运行 Extras 的用户,我们不会提供任何支持。
  • 请将你的所有疑问直接转给下方链接的指南作者。

这不受支持

https://rentry.org/STAI-Termux#downloading-and-running-tai-extras