前置要求
- Docker
- Git (可选)
快速开始
从 LLMStack 的发布页面下载最新版本并解压缩。导航到解压缩目录,创建您的 .env 文件并更新 SECRET_KEY、CIPHER_SALT 和 DATABASE_PASSWORD:
cp .env.prod .env
用下面的命令启动 LLMStack
./run-llmstack.sh
如果你使用的是 windows 系统,则使用
run-llmstack.bat
来替代上面的命令
一旦 LLMStack 准备就绪,它应该自动打开您的浏览器并将其指向 http://localhost:3000 上的登录页面。您也可以选择使用 docker compose up --pull always
命令手动启动容器并打开 http://localhost:3000 以登录到平台。确保在尝试加载 LLMStack 之前等待 API 服务器准备就绪。
LLMStack 附带一个默认的管理员帐户,其凭据为 admin 和 promptly。请确保在登录后从管理面板中更改密码。
如果您正在服务器上部署 LLMStack,请确保更新 .env 文件中的 ALLOWED_HOSTS 和 CSRF_TRUSTED_ORIGINS,以包含您的服务器主机名。有关更多信息,请参阅配置部分。
除了下载发布版本,您还可以克隆代码仓库并在克隆的代码仓库中运行上述命令。
git clone https://github.com/trypromptly/LLMStack.git
该平台的用户可以通过“设置”页面将自定义密钥添加到 OpenAI、Cohere、Stability 等提供商。如果您希望为 LLMStack 实例的所有用户提供默认密钥,则可以将其添加到 .env 文件中。请确保在添加密钥后重新启动容器。
更新 LLMStack
要更新 LLMStack 到新版本,请从 LLMStack 的发布页面下载最新版本并解压缩。导航到解压缩目录,将旧安装中的 .env 文件复制到这里并运行以下命令:
./run-llmstack.sh
如果您想要在容器重启之间持久化数据,请记得在 .env 文件中更新 POSTGRES_VOLUME、REDIS_VOLUME 和 WEAVIATE_VOLUME。
关键概念
Processors - 处理器
处理器是 LLMStack 的基本构建块。它们提供处理用户输入或来自链中先前处理器的输入的功能,采取某些操作并可选地生成响应。LLMStack 附带了一些内置处理器,如 OpenAI 的 ChatGPT、图像生成、Stability 的图像生成等。您还可以创建自己的处理器并将其添加到 LLMStack 中。
Providers
Providers 是向处理器提供功能的实体。例如,OpenAI 的 ChatGPT 处理器使用 OpenAI 的 API 生成文本。LLMStack 附带了一些内置的提供商,如 OpenAI、Cohere、Stability 等。提供商充当处理器的命名空间。您还可以创建自己的提供商并将其添加到 LLMStack 中。
EndPoints - 端点
端点(Endpoints)是处理器的实例。您可以基于单个处理器创建多个端点。例如,您可以使用不同的参数和提示为 OpenAI 的 ChatGPT 处理器创建多个端点。这些端点可以使用 API 进行调用。端点还构成了 LLMStack 中的应用程序的基础。当通过链接多个处理器创建应用程序时,LLMStack 会为每个处理器创建一个端点并将它们连接在一起。
Apps
Apps 是 LLMStack 的最终产品。Apps 是通过链接多个处理器创建而成的。LLMStack 提供了一个可视化编辑器来创建 Apps。Apps 可以与其他 LLMStack 安装的用户共享。可以使用 API、从 UI 调用或从 Slack、Discord 等触发 Apps。
Datasources - 数据源
数据源(Datasources)用于为 LLMs 提供上下文,以构建可以在您的数据上执行任务的应用程序。LLMStack 允许您从各种来源(如 CSV、PDF、URLs、Youtube 等)导入数据,并将其用于您的应用程序中。当创建数据源时,LLMStack 根据类型将数据分块,创建嵌入向量并将其保存在安装中包含的矢量数据库中。数据源还可以与 LLMStack 安装的其他用户在组织上下文中共享。
Variables - 变量
变量(Variables)在 LLMStack 中用于向处理器提供动态值。例如,您可以使用变量向处理器提供用户的名称。变量以 {{name}} 的形式提供,其中 name 是变量名称。在应用程序编辑器中,来自先前处理器/步骤的数据作为变量提供,并可用于后续处理器/步骤。
如果您有任何问题、建议或需要帮助,请随时加入我们的 Discord 服务器或在 Github 讨论页上发起讨论。