기존 OpenAI 코드로 AWS Bedrock 및 AI 서비스(Claude, Nova, Polly, Transcribe) 사용
Source: Dev.to

TL;DR
기존 OpenAI‑compatible 도구(OpenWebUI, n8n, Cline, Cursor)를 AWS Bedrock의 80개 이상의 모델 및 AWS AI 서비스(Polly, Transcribe)와 함께 사용하세요. 엔드포인트만 변경하면 코드 수정이 필요 없습니다. Terraform을 사용해 15 분 안에 AWS 계정에 배포할 수 있습니다. 데이터는 HIPAA/GDPR 준수를 위해 AWS 환경 내에 머무릅니다.
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) |
| 다중 지역 접근 | 서로 다른 AWS 리전에서 다양한 Bedrock 모델을 이용 가능 |
| 표준 도구 | OpenWebUI, n8n, IDE 코딩 에이전트 (Cline, Cursor) |
| 전체 AWS AI 스택 | Bedrock 모델 + Polly (TTS) + Transcribe (STT) |
우리의 접근 방식: 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 URLs
- S3 URLs (데이터에 직접 접근)
- Base64 데이터 URIs
비전 작업, 문서 분석, 그리고 Retrieval‑Augmented Generation (RAG) 애플리케이션에 이상적입니다.
Deployment
Deploy to your AWS account in 5‑15 minutes using Terraform.
Sample configurations set up:
- Application Load Balancer with ECS/Fargate
- IAM roles with least‑privilege access
- CloudWatch logging
- S3 storage
- Optional custom domain with ACM certificate
Get started: 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용 맞춤형 챗봇
기술 세부 정보
작동 방식
- OpenAI API 형식을 Bedrock 형식으로 변환합니다
- 모델 ID를 적절한 AWS 서비스 및 리전으로 매핑합니다
- 구성된 AWS 리전 전반에 걸쳐 모델에 대한 통합 액세스를 제공합니다
- Bedrock 응답을 OpenAI 형식으로 다시 변환합니다
- Server‑Sent Events(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일 무료 체험, 프로덕션 준비 완료)
🚀 오픈 소스: GitHub (실험용 AGPL‑3.0)
📦 샘플 배포: Terraform configurations
📚 문서: 전체 가이드 및 API 레퍼런스
결론
이 번역‑레이어 접근 방식은 AWS Bedrock 호환성 격차를 해결하면서 모든 것을 AWS‑네이티브로 유지합니다.
핵심 이점
- 코드 변경 없음 – OpenAI SDK 코드를 그대로 사용할 수 있습니다
- AWS‑네이티브 – Bedrock, Polly, Transcribe와 완전 통합
- 멀티‑리전 – 하나의 엔드포인트에서 AWS 여러 리전의 모델에 접근
- 프로덕션‑준비 – Terraform 배포, CloudWatch 통합
여러분의 피드백을 기다립니다! 이 문제를 다른 방법으로 해결한 경험이 있나요? 워크플로에 Bedrock을 통합하면서 겪은 어려움은 무엇인가요?
다음 단계
우리는 다음과 같은 상세 튜토리얼을 계획하고 있습니다:
- AWS에 OpenWebUI 배포 – Bedrock을 활용한 프라이빗 ChatGPT 대안
- n8n 워크플로우 구축 – 자동화 파이프라인에서 AWS AI 서비스 활용
- IDE 코딩 에이전트 설정 – Bedrock과 함께 Cline 및 Cursor 구성
- RAG 애플리케이션 – Bedrock 임베딩을 이용한 문서 검색
특정 튜토리얼을 원하시나요? 댓글을 남기거나 GitHub에 이슈를 열어 주세요!
