更新时间:2024-04-16 GMT+08:00
分享

多人共享模型、插件

使用ECS作为NFS服务器实现多用户资源隔离介绍了如何使用ECS作为NFS服务器解决多人使用Stable-Diffusion WebUI的资源隔离问题,这一方案适合用户之间要求强隔离的场景。

在某些场景下如您希望多人共享部分资源,如模型文件、插件等,因为模型文件普遍都比较大,每个用户都复制一份将造成极大的存储空间浪费。该需求可以通过不同应用挂载同一个SFS文件系统解决,但在默认配置情况下会导致不同用户之间的推理操作和配置信息相互影响,此时您可以按照以下操作解决。

以下操作仍然以使用ECS作为NFS服务器实现多用户资源隔离中的两个用户user1、user2进行介绍。首先您需参考应用创建部署为两个用户分别创建一个Stable-Diffusion应用,并为他们使用同一个SFS文件系统完成自定义模型所述自定义模型初始化。此时两个用户完成了模型、插件的共享。后续步骤将解决操作和配置隔离问题。

创建配置文件

参考初始化步骤4打开任意一个用户的文件管理工具页面,登录后进入sd目录。如果您的文件管理工具打开后没有sd目录或者目录中没有config.json,请参考应用使用启动任意一个用户的WebUI,然后重新跟随本文档操作。
图1 进入sd目录
找到config.json文件,选中后复制到任意目录,这里仍放在sd原目录下,并重命名,例如config_user1.json;同理再为用户user2复制一份,命名为config_user2.json。
图2 复制config.json文件
图3 复制生成config_user1.json和config_user2.json文件

修改环境变量并使用新配置文件

创建配置文件中您已经为每一个用户创建了一个配置文件,现在需要修改环境变量让不同用户使用各自的配置文件。请参考配置环境变量为Stable-Diffusion函数配置如下环境变量并保存(可以与使用API模式启用WebUI认证的内容同时设置),以下为用户user1、user2的环境变量。

表1 user1和user2环境变量

Key

Value

EXTRA_ARGS

--ui-settings-file=/mnt/auto/sd/config_user1.json

EXTRA_ARGS

--ui-settings-file=/mnt/auto/sd/config_user2.json

修改图片保存路径

完成以上配置后两个用户就可以共享模型和插件,且操作互不影响。为进一步隔离不同用户的推理结果,用户可以在WebUI修改自己的结果保存路径,可参考下图。
图4 修改保存路径

相关文档