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

발행: (2025년 12월 19일 오후 11:58 GMT+9)
9 분 소요
원문: Dev.to

Source: Dev.to

Use AWS Bedrock & AI Services (Claude, Nova, Polly, Transcribe)와 기존 OpenAI 코드를 활용한 커버 이미지

J.Goutin

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용 맞춤형 챗봇

기술 세부 정보

작동 방식

  1. OpenAI API 형식을 Bedrock 형식으로 변환합니다
  2. 모델 ID를 적절한 AWS 서비스 및 리전으로 매핑합니다
  3. 구성된 AWS 리전 전반에 걸쳐 모델에 대한 통합 액세스를 제공합니다
  4. Bedrock 응답을 OpenAI 형식으로 다시 변환합니다
  5. 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에 이슈를 열어 주세요!

Back to Blog

관련 글

더 보기 »