Skip to main content

集成 Amazon Bedrock

warning

本教程是社区贡献的内容,不属于 Open WebUI 团队的官方支持范围。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要贡献?请查看贡献教程。


将 Open-WebUI 与 Amazon Bedrock 集成

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

前提条件

为了跟随本教程,您必须具备以下条件:

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

什么是 Amazon Bedrock

直接摘自 AWS 官网:

“Amazon Bedrock 是一项完全托管的服务,通过单个 API 提供来自 AI21 Labs、Anthropic、Cohere、Luma、Meta、Mistral AI、poolside(即将推出)、Stability AI 和 Amazon 等领先 AI 公司的高性能基础模型 (FM),以及构建具有安全性、隐私性和负责任 AI 的生成式 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 基础模型

第 2 步:配置 Bedrock Access Gateway (BAG)

既然我们至少拥有一个 Bedrock 基础模型的访问权限,我们需要配置 Bedrock Access Gateway,简称 BAG。您可以将 BAG 看作是由 AWS 开发的一种代理或中间件,它封装了 AWS 原生的 Bedrock 端点/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 中了。

  • 在管理员面板下,转到 设置 -> 外部链接。
  • 使用 OpenAI 下的 “+”(加号)按钮添加新连接。
  • URL 使用 "http://host.docker.internal:8000/api/v1"
  • 密码使用 BAG 中定义的默认密码 "bedrock"。您随时可以在 BAG 设置中更改此密码(参见 DEFAULT_API_KEYS)
  • 点击 “校验连接” 按钮,您应该会在右上角看到 “已校验服务器连接” 的提示。

添加新连接

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

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

使用 Bedrock 模型

其他有用的教程

这些是在将 Open-WebUI 与 Amazon Bedrock 集成时非常有用的其他一些教程。