引入文本生成的Web用户界面

首先

在努力构建环境的过程中,当到了准备安装LLM的时候,我意外地发现了一个名为”Text generation web UI”的工具。据说这个工具非常易于使用。

 

因此,我们将在Text generation web UI中加入LLM,以便能够进行互动玩耍。

环境

操作系统:Windows11 专业版
CPU:Intel 酷睿(TM) i7-13700K
内存:DDR4 128GB
显卡:GEFORCE 4070ti
虚拟化:Docker

只需提供一种选择的中文释义:

只需使用WSL2,在Ubuntu 22.04.3 LTS上执行。

请查看以下详细信息:https://qiita.com/umauma-hagihagi/items/130804c14ba09f716bfd

从Docker镜像中安装和使用文本生成的Web界面的步骤。

请参考以下官方ReadMe中的”Alternative: Docker”部分。

 

从那里跳转到有关Docker镜像的指南,并确认步骤。

 

因為不太熟悉英語,所以我先用ChatGPT來解讀一下。

使用ChatGPT4生成文本的Web UI Docker镜像的ReadMe说明。

因为很长,所以只有想读的人才请看
这个README文件是关于oobabooga/text-generation-webui和其变种(variant)在Docker中部署的项目的说明。具体来说,这个Docker镜像的设计是为了方便部署文本生成的Web UI。介绍:

这个项目是oobabooga/text-generation-webui的Docker版本。
还提供了其他设置(仅CPU、Triton、CUDA等)的预配置。

支持平台:

主要针对Linux,但也可能在WSL2上工作。

前提条件:

需要安装Docker
需要安装Docker Compose
如果要使用GPU,还需要安装CUDA的Docker Runtime

变种:

该镜像提供了一些版本(或变种)。

default:推荐给大多数用户使用的基本版本。

triton,cuda:基于特定分支的版本。

llama-cpu:用于不支持CUDA的系统。
等等

部署和删除:

使用docker compose up启动服务。

使用docker compose down -v删除服务。

执行步骤

安装所需软件(Docker,Docker Compose,CUDA Runtime)。
根据要使用的变种,设置docker-compose.yml文件中的镜像标签。

使用docker compose up命令启动服务。
如果需要删除服务,执行docker compose down -v。

通过使用此Docker镜像和相应的docker-compose.yml文件,可以轻松部署文本生成的Web UI,无需手动管理所需的配置和依赖关系。README的后半部分提供了有关Docker容器设置的详细信息。具体来说,有以下项目:

配置

端口:

7860:用于Web UI
5000:用于API
5005:用于流式传输
这些端口可以在docker-compose.yml中进行配置。

卷:

对于映射到容器的本地配置目录(如loras、models、presets、prompts、training、extensions等),进行了说明。

额外的启动参数:

可以使用环境变量EXTRA_LAUNCH_ARGS进行定义,可以进行特定模型的加载等配置。

运行时扩展构建:

可以使用环境变量BUILD_EXTENSIONS_LIVE指定需要在启动时构建的扩展功能。

更新:

说明了执行docker compose pull获取最新镜像,然后执行docker compose up重新创建容器的步骤。

构建(可选):

介绍了本地构建镜像的方法,并提供了针对特定变种构建的目标设置。

开发者/高级用户:

介绍了如何修改Dockerfile来从本地源代码文件夹编译和运行应用程序的方法。

实用步骤

配置端口和卷:

在docker-compose.yml中进行适当的设置。

额外的启动参数:

根据需要设置EXTRA_LAUNCH_ARGS。

运行时扩展功能的构建:

如果有正在开发中的扩展功能,可以设置BUILD_EXTENSIONS_LIVE。

更新:

定期执行docker compose pull和docker compose up获取最新版本。

本地构建(可选):

如果要使用自己的变种,可以在本地进行构建。

因此,这个README提供了非常详细的设置和自定义选项。根据各自的需求和环境,可以调整这些设置。

只简要概括关键部分。

前提条件

    • Dockerがインストールされている

 

    • docker-composeがインストールされている

 

    CUDA Dockerランタイムが必要(GPUを使用する場合)

所以,由于我满足了所有条件,可以省略这里的安装。

使用方法有两种选择:一种是使用docker-compose(一次性控制多个容器的工具?),另一种是使用单独的Docker容器。但是,推荐使用前者,因此选择使用docker-compose。

克隆Github上的Docker代码并使用text-generation-webui进行使用。

尽管我仍然倾向于使用“下载”一词,但其实我先误操作了一步,提前获取了Docker镜像。但我认为,如果按照以下步骤操作,应该会自动获取相关内容。
如果还没有获取Docker镜像,请运行docker pull atinoda/text-generation-webui来进行安装。

在wsl2的Ubuntu上,前往想要存储源代码的目录后执行以下命令。

git clone https://github.com/Atinoda/text-generation-webui-docker.git

移动到之后复制的目录中。

cd text-generation-webui-docker

在这个层次结构中,有一个docker-compose.yml文件。运行以下命令后,将执行docker-compose,并且可以通过浏览器访问应用程序。

docker compose up

运行后会显示如下内容。

image.png

使用浏览器访问 http://0.0.0.0:7860。

image.png

太棒了!!!它在动!!!!

停止Docker Compose

虽然它已经动了,但即使打docker compose down也无法停止它…
没办法,我只能从Docker桌面停止容器。
如果还有其他更聪明的方法,请告诉我。

追加信息:无法访问 http://0.0.0.0:7860。

我不知道原因。
尝试访问http://localhost:7860,但向ChatGPT问了一下是怎么回事。

0.0.0.0 和 localhost 的区别在于服务在哪个网络接口上进行监听。
0.0.0.0: 这个地址表示”在所有可用的网络接口上进行监听”,也就是说可以从外部网络进行访问。
localhost(或 127.0.0.1): 这个地址表示”仅限本机访问”。
然而,这两个地址的行为也可能因运行它们的程序或环境而不同。
如果在 Docker 中运行应用程序,使用 0.0.0.0 进行监听的应用程序将在 Docker 容器内的所有接口上进行监听。但是,要从主机机器(您的 PC)访问该应用程序,需要使用 localhost。这是因为 Docker 使用了网络桥接。
简而言之,0.0.0.0 是容器内部的地址,而 localhost 是从主机机器(您的 PC)访问容器的地址。所以,可以通过 http://localhost:7860/ 进行访问。

啊,原来如此。看起来在使用Docker时需要注意啊。

最后的话

虽然比想象中更顺利地完成了,但由于无法正确阅读Github的自述文件,所以必须先阅读一下。
下次将在文本生成的网络界面上实际安装并运行模型。

广告
将在 10 秒后关闭
bannerAds