Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

通过持久化 cache.json 优化模型切换的性能 #1

Open
web3nomad opened this issue Sep 8, 2023 · 0 comments
Open

通过持久化 cache.json 优化模型切换的性能 #1

web3nomad opened this issue Sep 8, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@web3nomad
Copy link
Member

webui 加载模型之前会计算一下 hash,这个过程耗时较长,计算好的 hash 会存在 webui 根目录的 cache.json 里面,可以通过持久化 cache.json 来避免重启 webui 实例以后重新计算 hash。

但是 cache.json 不能被多个 webui 实例共用,因为 cache.json 会在 webui 启动的时候就读取,之后只会更新 cache.json 文件,所以一个 webui 实例无法在运行时读取其他 webui 实例写入的缓存。

这种方案是每个 webui 实例单独维护一个 cache.json。

        command:
        - /bin/bash
        args:
        - -c
        - |
          tee cacheinit.sh <<EOF
          mkdir -p /data/webui-cache-files
          if [ ! -f "/data/webui-cache-files/webui-{{ $i }}-cache.json" ]; then
            echo "{}" > /data/webui-cache-files/webui-{{ $i }}-cache.json
          fi
          rm -rf cache.json
          ln -s /data/webui-cache-files/webui-{{ $i }}-cache.json cache.json
          EOF
          chmod +x cacheinit.sh
          ./cacheinit.sh
          /docker/entrypoint.sh
          python -u webui.py --listen --port 7860 ${CLI_ARGS}

TODO: 需要一个更好的解决方案,通过改写 webui 的 cache 逻辑来实现

@web3nomad web3nomad added the enhancement New feature or request label Sep 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant