使用 AWS Bedrock 与 AI 服务(Claude、Nova、Polly、Transcribe)配合您现有的 OpenAI 代码

发布: (2025年12月19日 GMT+8 22:58)
7 分钟阅读
原文: Dev.to

Source: Dev.to

使用 AWS Bedrock 与 AI 服务(Claude、Nova、Polly、Transcribe)以及您现有的 OpenAI 代码的封面图片

J.Goutin

TL;DR

使用您现有的兼容 OpenAI 的工具(OpenWebUI、n8n、Cline、Cursor)配合 AWS Bedrock 的 80 多种模型和 AWS AI 服务(Polly、Transcribe)。只需更改端点——无需修改代码。使用 Terraform 在 15 分钟内部署到您的 AWS 账户。数据保留在您的 AWS 环境中,满足 HIPAA/GDPR 合规要求。

30 秒内的解决方案

from openai import OpenAI

# Just change this line ↓
client = OpenAI(base_url="https://your-aws-api/v1", api_key="your-key")

# Everything else stays the same ↓
response = client.chat.completions.create(
    model="anthropic.claude-sonnet-4-5-20250929-v1:0",  # Claude 4.5 on Bedrock
    messages=[{"role": "user", "content": "Hello from AWS!"}]
)

这能实现的功能

  • 使用 OpenWebUI、n8n、Cline、Cursor 与 AWS Bedrock 以及 AWS AI 服务
  • 访问 Claude 4.5、Nova、Qwen、DeepSeek、Mistral、Cohere 等 75+ 模型
  • 文本转语音(Polly)、语音转文本(Transcribe)、图像生成、嵌入
  • 将所有数据保留在您的 AWS 账户中(符合 HIPAA、GDPR、FedRAMP 要求)
  • 单一端点实现多区域模型访问

我们解决的问题

大多数现代 AI 工具都是为 OpenAI 的 API 构建的,但 AWS Bedrock 使用的是完全不同的 SDK。这迫使你在使用熟悉的工具和因合规/成本原因转向 AWS 之间做出选择,并且需要重写所有代码。

我们在为一位客户工作时遇到了这种情况,该客户的需求包括:

需求为什么重要
合规性所有数据必须保留在其 AWS 账户中(符合 GDPR 要求)
选择多种模型(Claude、Nova、Qwen、Mistral、DeepSeek、Stability AI、Cohere)
多区域访问不同的 Bedrock 模型在不同的 AWS 区域可用
标准工具OpenWebUI、n8n、IDE 编码代理(Cline、Cursor)
完整的 AWS AI 堆栈Bedrock 模型 + Polly(文本转语音)+ Transcribe(语音转文本)

Source:

我们的方法:兼容 OpenAI 的翻译层

stdapi.ai 是一个部署在您 AWS 账户中的 API 网关,能够将 OpenAI API 调用转换为对应的 AWS 服务。

关键特性

OpenAI API 兼容性

您现有的代码无需任何修改即可直接使用:

from openai import OpenAI

client = OpenAI(
    base_url="https://your-deployment.example.com/v1",
    api_key="your-api-key"
)

# Chat completions
response = client.chat.completions.create(
    model="amazon.nova-pro-v1:0",
    messages=[{"role": "user", "content": "Explain AWS Lambda"}]
)

# Text‑to‑speech with Polly
response = client.audio.speech.create(
    model="amazon.polly-neural",
    input="Welcome to the future of voice technology!"
)

# Speech‑to‑text with Transcribe
with open("meeting-recording.mp3", "rb") as audio_file:
    transcription = client.audio.transcriptions.create(
        model="amazon.transcribe",
        file=audio_file,
        response_format="json"
    )

# Image generation with Bedrock
response = client.images.generate(
    model="stability.stable-image-ultra-v1:0",
    prompt="A serene mountain landscape at sunset"
)

# Embeddings with Bedrock
response = client.embeddings.create(
    model="cohere.embed-v4",
    input="Semantic search transforms how we find information"
)

多区域访问

通过单一端点即可访问多个 AWS Bedrock 区域的模型。不同模型在不同区域可用,您可以自行配置要包含的区域。Bedrock 推理配置会在需要时自动进行路由。

多模态能力

在一次请求中同时处理文本、图像、视频和文档。支持:

  • HTTP URL
  • S3 URL(直接访问您的数据)
  • Base64 数据 URI

非常适用于视觉任务、文档分析以及检索增强生成(RAG)应用。

部署

使用 Terraform 在 5‑15 分钟内将其部署到您的 AWS 账户。

示例配置已设置:

  • 带有 ECS/Fargate 的应用负载均衡器
  • 具备最小权限访问的 IAM 角色
  • CloudWatch 日志记录
  • S3 存储
  • 可选的自定义域名及 ACM 证书

开始使用: Sample Terraform configurations

使用场景

  • Chat interfaces – OpenWebUI 或 LibreChat,用于私有的 ChatGPT 替代方案
  • Workflow automation – n8n 将 AI 连接到 400+ 服务
  • Developer tools – IDE 编码代理(Cline、Cursor、Continue)
  • Knowledge management – AI 驱动的笔记和语义搜索
  • Internal AI tools – 为 Slack、Discord、Teams 定制的聊天机器人

技术细节

工作原理

  1. 将 OpenAI API 格式转换为 Bedrock 的格式
  2. 将模型 ID 映射到相应的 AWS 服务和区域
  3. 在已配置的 AWS 区域中提供统一的模型访问
  4. 将 Bedrock 响应转换回 OpenAI 格式
  5. 支持通过服务器发送事件 (SSE) 进行流式传输

安全性

  • 所有流量均保持在您的 AWS 账户内部
  • 基于 IAM 角色的访问控制
  • 可选的 API 密钥认证
  • 支持 VPC 部署
  • 与 AWS Bedrock 防护栏集成

性能

  • 低延迟的转换层
  • 支持流式响应
  • 随 ECS/Fargate 自动伸缩而扩展

开源与商业选项

stdapi.ai 以开源(AGPL‑3.0)形式提供用于实验,也有附加支持、SLA 和托管服务选项的商业版本。

如有疑问或想要贡献,欢迎随时联系!

# Internal Use

**For production deployments, we recommend the AWS Marketplace version**, which includes:

- Hardened container images  
- Regular security updates  
- Production support  
- 14‑day free trial  

The commercial license also removes AGPL obligations for proprietary applications.

入门

🏢 推荐: AWS Marketplace (14‑day free trial, production‑ready)

🚀 开源: GitHub (AGPL‑3.0 for experimentation)

📦 示例部署: Terraform configurations

📚 文档: 完整指南和 API 参考

结论

这种翻译层方法在保持全部 AWS 原生的同时,解决了 AWS Bedrock 的兼容性差距。

主要优势

  • 零代码更改 – 您的 OpenAI SDK 代码可直接使用
  • AWS 原生 – 完全集成 Bedrock、Polly、Transcribe
  • 多区域 – 通过单一端点访问跨 AWS 区域的模型
  • 生产就绪 – Terraform 部署,CloudWatch 集成

我们期待您的反馈!您是否以其他方式解决了此问题?在将 Bedrock 集成到工作流中时遇到了哪些挑战?

接下来

我们计划提供以下详细教程:

  • 在 AWS 上部署 OpenWebUI – 使用 Bedrock 的私有 ChatGPT 替代方案
  • 构建 n8n 工作流 – 在自动化流水线中使用 AWS AI 服务
  • IDE 编码代理设置 – 使用 Bedrock 配置 Cline 和 Cursor
  • RAG 应用 – 使用 Bedrock 嵌入进行文档搜索

想要特定的教程吗? 在 GitHub 上留下评论或打开 issue!

Back to Blog

相关文章

阅读更多 »