Skip to main content

Amazon Bedrock

Amazon Bedrock คือบริการ Generative AI แบบ fully managed จาก AWS ที่เปิดให้นักพัฒนาและองค์กรเข้าถึง Foundation Models (FMs) ชั้นนำจากหลายผู้ให้บริการผ่าน API เดียว ไม่ว่าจะเป็น Anthropic Claude, Meta Llama, Mistral AI, Stability AI, Cohere และ Amazon Titan โดยไม่ต้องจัดการโครงสร้างพื้นฐาน (infrastructure) ใดๆ ด้วยตนเอง ข้อมูลที่ส่งผ่าน Bedrock จะไม่ถูกนำไปใช้ฝึกโมเดลใดๆ ทำให้มั่นใจในความปลอดภัยและความเป็นส่วนตัวของข้อมูลองค์กร

นอกจากการเรียกใช้โมเดลโดยตรง Bedrock ยังมีชุดเครื่องมือครบครันสำหรับการสร้าง AI application ระดับ production เช่น Bedrock Agents สำหรับงาน agentic workflows, Knowledge Bases สำหรับ RAG (Retrieval-Augmented Generation), Guardrails สำหรับควบคุมเนื้อหา, Flows สำหรับสร้าง LLM pipeline แบบ no-code และอีกมากมาย รองรับการใช้งานตั้งแต่ prototyping ไปจนถึง production scale

AWS Docs: https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html

สถาปัตยกรรม


ฟีเจอร์หลัก

Foundation Models ที่รองรับ

Bedrock ให้เข้าถึงโมเดลจากผู้ให้บริการชั้นนำหลายราย:

  • Anthropic Claude — Claude 3.5 Sonnet, Claude 3.5 Haiku, Claude 3 Opus, Claude 3 Haiku โมเดลที่มีความสามารถสูงด้านการเขียน การวิเคราะห์ การเขียนโค้ด และการสนทนา
  • Meta Llama — Llama 3.1 8B, 70B, 405B โมเดล open-weight ที่มีประสิทธิภาพสูง
  • Mistral AI — Mistral 7B, Mixtral 8x7B, Mistral Large โมเดลประสิทธิภาพสูงขนาดกะทัดรัด
  • Amazon Titan — Titan Text, Titan Embeddings, Titan Image Generator โมเดลที่ AWS พัฒนาเอง
  • Stability AI — Stable Diffusion XL สำหรับสร้างภาพจาก text
  • Cohere — Command, Embed สำหรับงาน text generation และ embeddings
  • AI21 Labs — Jamba สำหรับงานภาษาศาสตร์

Amazon Bedrock Agents

บริการสำหรับสร้าง AI agents ที่สามารถดำเนินงานหลายขั้นตอนโดยอัตโนมัติ Agent สามารถ:

  • เรียก API ภายนอกผ่าน Action Groups
  • ค้นหาข้อมูลจาก Knowledge Bases
  • รันโค้ดผ่าน Code Interpreter
  • จัดการ session state และ memory ระหว่างการสนทนา
  • ทำงานร่วมกับ sub-agents (multi-agent collaboration)

Amazon Bedrock AgentCore

ชุดเครื่องมือระดับ enterprise สำหรับ deploy และจัดการ AI agents ใน production ประกอบด้วย:

  • AgentCore Runtime — managed runtime สำหรับ deploy agent code (Python/Node.js) พร้อม auto-scaling, session management และ timeout handling
  • AgentCore Memory — persistent memory store สำหรับ agents รองรับทั้ง key-value store และ semantic (vector) search เก็บความจำระยะสั้น (session) และระยะยาว (cross-session)
  • AgentCore Identity — จัดการ OAuth 2.0/OIDC authentication ให้ agents เชื่อมต่อกับบริการภายนอก เช่น Google, GitHub, Salesforce ในนามของผู้ใช้
  • AgentCore Gateway — API gateway สำหรับให้ agents เรียก REST/GraphQL APIs, Lambda functions และฐานข้อมูล พร้อม auto-generate tool schemas จาก OpenAPI specs
  • AgentCore Browser Tool — headless Chromium browser ให้ agents ท่องเว็บ อ่านเนื้อหา กรอกฟอร์ม และจับภาพหน้าจอได้
  • AgentCore Code Interpreter — sandboxed Python execution environment รองรับ pandas, numpy, matplotlib และ file I/O
  • AgentCore Observability — OpenTelemetry traces, token usage metrics, latency monitoring และ visual debugger ใน console เชื่อมต่อกับ CloudWatch

Amazon Bedrock Flows

เครื่องมือ visual no-code/low-code สำหรับสร้าง LLM pipeline โดยการลากวางโหนดต่างๆ:

  • Prompt nodes — กำหนด prompt template
  • Retrieval nodes — ดึงข้อมูลจาก Knowledge Bases
  • Condition nodes — ตรรกะแบบ if/else
  • Lambda nodes — เรียก Lambda function
  • Iterator nodes — วน loop ประมวลผลข้อมูลหลายชิ้น
  • Output nodes — ส่งผลลัพธ์ออก เหมาะสำหรับ business user และ data analyst ที่ต้องการสร้าง AI workflow โดยไม่ต้องเขียนโค้ด

Amazon Bedrock Knowledge Bases

ระบบ RAG (Retrieval-Augmented Generation) แบบ fully managed:

  • เชื่อมต่อแหล่งข้อมูล: S3, Confluence, SharePoint, Salesforce, web crawling, RDS, custom sources
  • Auto-chunking และ embedding เอกสารอัตโนมัติ
  • เก็บ vector embeddings ใน vector stores ที่รองรับ: OpenSearch Serverless, Aurora PostgreSQL (pgvector), Pinecone, MongoDB Atlas, Redis Enterprise
  • รองรับ hybrid search (keyword + semantic)
  • Metadata filtering สำหรับจำกัดขอบเขตการค้นหา

Amazon Bedrock Prompt Management

ระบบจัดการ prompt แบบครบวงจร:

  • บันทึกและ version prompt templates
  • แชร์ prompt ระหว่างทีม
  • Prompt catalog สำหรับ reuse
  • A/B testing prompt variants
  • เชื่อมต่อกับ Model Evaluation เพื่อวัดผล

Amazon Bedrock Guardrails

ชุดควบคุมความปลอดภัยของ AI:

  • Content filtering — กรอง hate speech, violence, sexual content, self-harm
  • PII redaction — ตรวจจับและลบข้อมูลส่วนตัว (ชื่อ, email, หมายเลขบัตรเครดิต, เลขบัตรประชาชน ฯลฯ)
  • Topic blocking — ห้าม agent พูดถึงหัวข้อที่ระบุ (เช่น การแข่งขัน, กฎหมาย)
  • Grounding check — ตรวจสอบว่าคำตอบสอดคล้องกับข้อมูลอ้างอิง (anti-hallucination)
  • Word filters — บล็อกคำหรือวลีเฉพาะ
  • ใช้งานได้กับทุก API call ไม่จำกัด model

Amazon Bedrock Model Evaluation

เครื่องมือ benchmark โมเดลบนข้อมูลของคุณเอง:

  • Human evaluation — ส่งผลลัพธ์ให้ผู้ใช้งานจริงให้คะแนน
  • Automatic evaluation — ใช้ LLM-as-judge วัดผล
  • Built-in metrics: accuracy, robustness, toxicity, summarization quality
  • เปรียบเทียบโมเดลหลายตัวพร้อมกันใน dashboard เดียว

Amazon Bedrock Fine-tuning

ปรับแต่งโมเดลด้วยข้อมูลของคุณเอง:

  • รองรับ supervised fine-tuning (instruction tuning)
  • ข้อมูล training เก็บใน S3
  • ผลลัพธ์คือโมเดล custom ที่ deploy บน Bedrock ได้ทันที
  • รองรับโมเดล: Amazon Titan, Cohere, Meta Llama

Amazon Bedrock Model Distillation

สร้างโมเดลขนาดเล็กที่มีประสิทธิภาพใกล้เคียงโมเดลใหญ่:

  • ใช้โมเดลใหญ่ (teacher) สร้าง synthetic training data
  • ฝึก fine-tune โมเดลขนาดเล็ก (student) ด้วยข้อมูลนั้น
  • ลดต้นทุนการ inference ได้อย่างมากพร้อมรักษาคุณภาพ

Amazon Bedrock Marketplace

ตลาด third-party models:

  • ค้นพบและ deploy โมเดลจากผู้ให้บริการนอก AWS
  • รวม specialized models สำหรับงานเฉพาะทาง (medical, legal, finance)
  • billing ผ่าน AWS account เดียว

Converse API

Unified chat API ที่ใช้งานได้กับทุก model ใน Bedrock:

  • รูปแบบ messages เดียวกัน ไม่ว่าจะใช้ Claude, Llama หรือ Mistral
  • รองรับ multi-turn conversation, system prompts, tool use
  • ง่ายต่อการสลับโมเดลโดยไม่ต้องแก้โค้ด

Cross-region Inference

การกระจาย inference request ข้ามหลาย AWS regions โดยอัตโนมัติ:

  • เพิ่ม availability และลด throttling
  • รองรับ failover อัตโนมัติเมื่อ region หนึ่งมีปัญหา
  • ไม่ต้องเปลี่ยนโค้ด เพียงใช้ cross-region inference profile

การติดตั้งและการตั้งค่า

เปิดใช้งานใน AWS Console

  1. เข้า AWS Console แล้วไปที่ Amazon Bedrock
  2. คลิก Model access ในแถบเมนูซ้าย
  3. คลิก Modify model access
  4. เลือกโมเดลที่ต้องการใช้ (บางโมเดลต้องกรอกข้อมูลเพิ่มเติมก่อน approve)
  5. คลิก Submit และรอประมาณ 1-5 นาที

ติดตั้ง SDK

Python (boto3)

pip install boto3

Node.js

npm install @aws-sdk/client-bedrock-runtime

AWS CLI

aws configure  # ตั้งค่า credentials
aws bedrock list-foundation-models --region us-east-1

IAM Permissions ที่จำเป็น

สร้าง IAM policy สำหรับการใช้งาน Bedrock:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream",
"bedrock:ListFoundationModels",
"bedrock:GetFoundationModel"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"bedrock:RetrieveAndGenerate",
"bedrock:Retrieve"
],
"Resource": "arn:aws:bedrock:*:*:knowledge-base/*"
},
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeAgent"
],
"Resource": "arn:aws:bedrock:*:*:agent-alias/*"
}
]
}

วิธีใช้งาน

เรียกใช้โมเดลด้วย Converse API (Python)

import boto3
import json

client = boto3.client("bedrock-runtime", region_name="us-east-1")

response = client.converse(
modelId="anthropic.claude-3-5-sonnet-20241022-v2:0",
messages=[
{
"role": "user",
"content": [{"text": "สรุปแนวโน้มธุรกิจ e-commerce ในไทยปี 2025 ให้หน่อย"}]
}
],
system=[
{"text": "คุณคือผู้เชี่ยวชาญด้านธุรกิจดิจิทัลในประเทศไทย ตอบเป็นภาษาไทยเสมอ"}
],
inferenceConfig={
"maxTokens": 1024,
"temperature": 0.7
}
)

output = response["output"]["message"]["content"][0]["text"]
print(output)

Streaming Response (Python)

import boto3

client = boto3.client("bedrock-runtime", region_name="us-east-1")

response = client.converse_stream(
modelId="anthropic.claude-3-5-sonnet-20241022-v2:0",
messages=[
{
"role": "user",
"content": [{"text": "เขียนบทความเกี่ยวกับ AI ในอนาคต"}]
}
]
)

stream = response["stream"]
for event in stream:
if "contentBlockDelta" in event:
delta = event["contentBlockDelta"]["delta"]
if "text" in delta:
print(delta["text"], end="", flush=True)

ใช้งาน Knowledge Bases (RAG)

import boto3

bedrock_agent = boto3.client("bedrock-agent-runtime", region_name="us-east-1")

response = bedrock_agent.retrieve_and_generate(
input={"text": "ขั้นตอนการขอสินเชื่อบ้านมีอะไรบ้าง?"},
retrieveAndGenerateConfiguration={
"type": "KNOWLEDGE_BASE",
"knowledgeBaseConfiguration": {
"knowledgeBaseId": "YOUR_KB_ID",
"modelArn": "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-5-sonnet-20241022-v2:0",
"retrievalConfiguration": {
"vectorSearchConfiguration": {
"numberOfResults": 5
}
}
}
}
)

print(response["output"]["text"])
for citation in response.get("citations", []):
print("อ้างอิงจาก:", citation["retrievedReferences"][0]["location"])

เรียกใช้ Bedrock Agent

import boto3
import uuid

client = boto3.client("bedrock-agent-runtime", region_name="us-east-1")

session_id = str(uuid.uuid4())

response = client.invoke_agent(
agentId="YOUR_AGENT_ID",
agentAliasId="YOUR_ALIAS_ID",
sessionId=session_id,
inputText="ช่วยตรวจสอบยอดเงินในบัญชีและแจ้งรายการล่าสุด 5 รายการ"
)

for event in response["completion"]:
if "chunk" in event:
print(event["chunk"]["bytes"].decode("utf-8"), end="")

ใช้งาน Guardrails

import boto3

client = boto3.client("bedrock-runtime", region_name="us-east-1")

response = client.converse(
modelId="anthropic.claude-3-5-sonnet-20241022-v2:0",
messages=[
{
"role": "user",
"content": [{"text": "แนะนำวิธีลงทุนในหุ้น"}]
}
],
guardrailConfig={
"guardrailIdentifier": "YOUR_GUARDRAIL_ID",
"guardrailVersion": "1",
"trace": "enabled"
}
)

# ตรวจสอบว่า Guardrail ถูก trigger หรือไม่
if response.get("stopReason") == "guardrail_intervened":
print("เนื้อหาถูกกรองโดย Guardrail")
else:
print(response["output"]["message"]["content"][0]["text"])

ราคา (ประมาณการในบาท)

อัตราแลกเปลี่ยน: 1 USD = 35 บาท

ค่าใช้จ่ายตาม Token (On-demand)

โมเดลInput (ต่อ 1M tokens)Output (ต่อ 1M tokens)
Claude 3.5 Sonnet$3.00 (~105 บาท)$15.00 (~525 บาท)
Claude 3.5 Haiku$0.80 (~28 บาท)$4.00 (~140 บาท)
Claude 3 Haiku$0.25 (~8.75 บาท)$1.25 (~43.75 บาท)
Claude 3 Opus$15.00 (~525 บาท)$75.00 (~2,625 บาท)
Llama 3.1 70B$0.72 (~25.20 บาท)$0.72 (~25.20 บาท)
Llama 3.1 8B$0.22 (~7.70 บาท)$0.22 (~7.70 บาท)
Mistral Large$3.00 (~105 บาท)$9.00 (~315 บาท)
Amazon Titan Text G1 Express$0.20 (~7 บาท)/1K$0.25 (~8.75 บาท)/1K

Knowledge Bases

  • เก็บ vectors: $0.10 ต่อ 1,000 vectors ต่อเดือน (~3.50 บาท)
  • Query: $0.0004 ต่อ query (~0.014 บาท)
  • ตัวอย่าง: เก็บเอกสาร 10,000 หน้า (~100,000 vectors) = $10/เดือน (~350 บาท) + ค่า query

Bedrock Agents

  • คิดตามจำนวน API call ที่ agent ทำ + ค่า token ของโมเดลที่ใช้
  • ไม่มีค่าธรรมเนียมเพิ่มเติมสำหรับ orchestration

Bedrock Guardrails

  • $0.75 ต่อ 1,000 text units (~26.25 บาท) สำหรับ content filtering
  • $0.10 ต่อ 1,000 text units (~3.50 บาท) สำหรับ grounding check

Fine-tuning

  • ขึ้นอยู่กับโมเดลและขนาด dataset แต่ละโมเดลมีราคาแตกต่างกัน
  • ตัวอย่าง Amazon Titan Text: $0.0080 ต่อ 1,000 token สำหรับ training

เหมาะสำหรับ

  • บริษัท startup และองค์กรขนาดใหญ่ ที่ต้องการสร้าง Generative AI application โดยไม่ต้องดูแล GPU infrastructure
  • ทีม developer ที่ต้องการทดลองและเปรียบเทียบ Foundation Models หลายตัวเพื่อเลือกที่ดีที่สุดสำหรับงาน
  • องค์กรที่มีข้อกังวลด้าน data privacy เพราะ Bedrock ไม่นำข้อมูลไปฝึกโมเดล และรองรับ VPC endpoint
  • ทีมที่ต้องการสร้าง chatbot หรือ AI assistant จากเอกสารภายในองค์กรด้วย Knowledge Bases
  • ทีม operations ที่ต้องการ automate workflow ด้วย Agents
  • บริษัทที่ต้องการ compliance เช่น ธุรกิจการเงิน สุขภาพ กฎหมาย ที่ต้องการ Guardrails ควบคุมเนื้อหา
  • นักวิจัยและ data scientist ที่ต้องการ fine-tune โมเดลด้วยข้อมูลเฉพาะทาง

ใช้ร่วมกับ AWS Services

AWS Serviceการเชื่อมต่อ
Amazon S3เก็บเอกสารสำหรับ Knowledge Bases, training data สำหรับ fine-tuning, output ของ batch inference
AWS LambdaAction Groups ของ Agents เรียก Lambda เพื่อ execute business logic
Amazon OpenSearch ServerlessVector store สำหรับ Knowledge Bases
Amazon Aurora PostgreSQLVector store ผ่าน pgvector extension
Amazon CloudWatchเก็บ logs, metrics และ traces ของ Bedrock API calls
AWS IAMควบคุม access ด้วย roles และ policies
Amazon Kendraทำ hybrid search ร่วมกับ Knowledge Bases
AWS Step FunctionsOrchestrate multi-step AI workflows
Amazon EventBridgeTrigger Bedrock workflows จาก events
AWS Secrets Managerเก็บ API keys สำหรับ Action Groups
Amazon SageMakerนำโมเดลที่ train บน SageMaker มา deploy บน Bedrock Marketplace

Use Case ตัวอย่าง

Use Case 1: ระบบ Customer Support อัจฉริยะสำหรับธุรกิจประกันภัย

บริษัทประกันภัยไทยมีเอกสารกรมธรรม์และข้อกำหนดกว่า 50,000 หน้า ที่พนักงาน call center ต้องค้นหาทุกครั้งที่ลูกค้าโทรมาสอบถาม

สถาปัตยกรรม:

  1. อัปโหลดเอกสารกรมธรรม์ทั้งหมดไป S3
  2. สร้าง Knowledge Base ที่ชี้ไปยัง S3 bucket นั้น ใช้ Amazon Titan Embeddings สร้าง vector
  3. สร้าง Bedrock Agent พร้อม Action Groups ที่เชื่อมต่อกับระบบ CRM ผ่าน Lambda
  4. ตั้ง Guardrails กรองข้อมูล PII และหัวข้อที่ไม่เกี่ยวข้อง
  5. Agent ค้นหาข้อมูลจาก Knowledge Base และดึงข้อมูลลูกค้าจาก CRM พร้อมกัน

ผลลัพธ์: ลดเวลาตอบคำถามต่อสายจาก 8 นาที เหลือ 1.5 นาที พนักงานสามารถรับสายได้มากขึ้น 5 เท่า

Use Case 2: Content Generation Pipeline สำหรับ e-commerce

บริษัท e-commerce ต้องการสร้าง product description ภาษาไทยสำหรับสินค้าใหม่วันละหลายร้อยรายการ

สถาปัตยกรรม:

  1. ใช้ Bedrock Flows สร้าง pipeline: รับ product spec → แปลงเป็น description → ตรวจสอบ SEO keywords → output
  2. ใช้ Claude 3.5 Haiku (ราคาประหยัด) สำหรับ description generation
  3. ใช้ Prompt Management จัดการ templates หลายแบบ (สั้น/ยาว, formal/casual)
  4. ใช้ Guardrails ตรวจสอบว่าไม่มีคำกล่าวอ้างที่เกินจริง
  5. เชื่อมต่อ EventBridge trigger ให้ pipeline รันอัตโนมัติเมื่อมีสินค้าใหม่เข้าระบบ

ผลลัพธ์: ลดต้นทุน content creation จาก 50 บาท/รายการ (จ้างนักเขียน) เหลือ ~0.50 บาท/รายการ

Use Case 3: ระบบวิเคราะห์เอกสารสัญญาทางกฎหมาย

สำนักงานกฎหมายต้องการเครื่องมือช่วยทนายความวิเคราะห์สัญญาและหาความเสี่ยง

สถาปัตยกรรม:

  1. รับ PDF สัญญาผ่าน API → แปลงเป็น text → ส่งไป Bedrock
  2. ใช้ Claude 3.5 Sonnet วิเคราะห์ข้อสัญญาที่มีความเสี่ยงสูง
  3. ใช้ Knowledge Base เก็บ case law และมาตรฐานสัญญา เพื่อ RAG
  4. ใช้ Model Evaluation เปรียบเทียบ Claude กับ Llama เพื่อเลือกโมเดลที่ดีที่สุดสำหรับงานกฎหมายไทย
  5. ใช้ Guardrails กรองข้อมูลลูกค้าที่เป็น PII ก่อนส่งไปโมเดล

ผลลัพธ์: ทนายความสามารถวิเคราะห์สัญญาได้เร็วขึ้น 10 เท่า มีเวลาโฟกัสกับงานที่ซับซ้อนมากขึ้น