跳至主要内容

🛌 集成 Amazon Bedrock

警告

本教程由社区贡献,不受 Open WebUI 团队支持。它仅作为演示,说明如何根据你的特定用例自定义 Open WebUI。想贡献吗?请查看贡献教程。


将 Open-WebUI 与 Amazon Bedrock 集成

在本教程中,我们将探讨一种最常见和流行的方法,将 Open-WebUI 与 Amazon Bedrock 集成。

先决条件

要按照本教程操作,你必须具备以下条件

  • 一个活跃的 AWS 账户
  • 一个活跃的 AWS 访问密钥和 Secret Key
  • 在 AWS 中具有启用 Bedrock 模型或已启用模型的 IAM 权限
  • 你的系统上已安装 Docker

什么是 Amazon Bedrock

直接引用 AWS 网站的描述

"Amazon Bedrock 是一项完全托管的服务,通过单一 API 提供来自领先 AI 公司(如 AI21 Labs、Anthropic、Cohere、Luma、Meta、Mistral AI、poolside(即将推出)、Stability AI 和 Amazon)的多种高性能基础模型 (FM),同时还提供构建安全、隐私和负责任的生成式 AI 应用程序所需的一系列广泛功能。使用 Amazon Bedrock,你可以轻松地试验和评估适用于你用例的顶级 FM,利用微调和检索增强生成 (RAG) 等技术使用你的数据对其进行私密自定义,并构建可使用你的企业系统和数据源执行任务的代理。由于 Amazon Bedrock 是无服务器的,你无需管理任何基础设施,并且可以使用你已熟悉的 AWS 服务安全地将生成式 AI 功能集成和部署到你的应用程序中。"

要了解更多关于 Bedrock 的信息,请访问:Amazon Bedrock 官方页面

集成步骤

步骤 1:验证对 Amazon Bedrock 基础模型的访问

在与 Bedrock 集成之前,你首先必须验证你至少拥有一个(最好是多个)可用基础模型的访问权限。截至本文撰写时(2025 年 2 月),共有 47 个基础模型可用。你可以从下面的截图中看到我拥有多个模型的访问权限。如果模型旁边显示“✅ Access Granted”,则表示你拥有该模型的访问权限。如果你没有访问任何模型的权限,下一步将会出错。

AWS 在此处提供了有关请求访问/启用这些模型的详细文档:Amazon Bedrock 模型访问文档

Amazon Bedrock Base Models

步骤 2:配置 Bedrock 访问网关

既然我们拥有至少一个 Bedrock 基础模型的访问权限,我们需要配置 Bedrock 访问网关(Bedrock Access Gateway,简称 BAG)。你可以将 BAG 视为 AWS 开发的一种代理或中间件,它封装了 Bedrock 的 AWS 原生端点/SDK,进而暴露与 OpenAI 架构兼容的端点,而 Open-WebUI 正需要这种兼容性。

供参考,以下是端点之间的简单映射

OpenAI 端点Bedrock 方法
/modelslist_inference_profiles
/models/{model_id}list_inference_profiles
/chat/completionsconverse 或 converse_stream
/embeddingsinvoke_model

BAG 仓库可以在此处找到:Bedrock Access Gateway 仓库

要设置 BAG,请按照以下步骤操作

  • 克隆 BAG 仓库
  • 删除默认的 dockerfile
  • Dockerfile_ecs 文件名更改为 Dockerfile

现在我们可以使用以下命令构建并启动 docker 容器

docker build . -f Dockerfile -t bedrock-gateway

docker run -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN -e AWS_REGION=us-east-1 -d -p 8000:80 bedrock-gateway

现在你应该能够访问 BAG 的 swagger 页面:http://localhost:8000/docs

Bedrock Access Gateway Swagger

步骤 3:在 Open-WebUI 中添加连接

现在 BAG 已经启动并运行,是时候将其作为新连接添加到 Open-WebUI 中了。

  • 在 Admin Panel(管理面板)下,进入 Settings(设置)-> Connections(连接)。
  • 使用“+”(加号)按钮在 OpenAI 下添加新连接
  • 对于 URL,使用“http://host.docker.internal:8000/api/v1
  • 对于密码,BAG 中定义的默认密码是“bedrock”。你可以在 BAG 设置中更改此密码(参见 DEFAULT_API_KEYS)
  • 点击“Verify Connection”(验证连接)按钮,你应该会在右上角看到“Server connection verified”(服务器连接已验证)提示

Add New Connection

步骤 4:开始使用 Bedrock 基础模型

现在你应该能看到所有可用的 Bedrock 模型了!

Use Bedrock Models

其他有用的教程

以下是一些其他非常有用的教程,用于将 Open-WebUI 与 Amazon Bedrock 集成。