Amazon Bedrock¶
OpenClaw، pi‑ai کے Bedrock Converse اسٹریمنگ فراہم کنندہ کے ذریعے Amazon Bedrock ماڈلز استعمال کر سکتا ہے۔ Bedrock کی توثیق AWS SDK default credential chain استعمال کرتی ہے، API کی نہیں۔
pi‑ai کیا سپورٹ کرتا ہے¶
- فراہم کنندہ:
amazon-bedrock - API:
bedrock-converse-stream - Auth: AWS اسناد (env vars، shared config، یا instance role)
- Region:
AWS_REGIONیاAWS_DEFAULT_REGION(بطورِ طے شدہ:us-east-1)
خودکار ماڈل دریافت¶
اگر AWS اسناد کا پتا چل جائے تو OpenClaw خودکار طور پر ایسے Bedrock ماڈلز دریافت کر سکتا ہے جو اسٹریمنگ اور متنی آؤٹ پٹ کی حمایت کرتے ہوں۔ دریافت کے لیے
bedrock:ListFoundationModels استعمال ہوتا ہے اور یہ کیش کیا جاتا ہے (ڈیفالٹ: 1 گھنٹہ)۔
کنفیگ کے اختیارات models.bedrockDiscovery کے تحت موجود ہوتے ہیں:
{
models: {
bedrockDiscovery: {
enabled: true,
region: "us-east-1",
providerFilter: ["anthropic", "amazon"],
refreshInterval: 3600,
defaultContextWindow: 32000,
defaultMaxTokens: 4096,
},
},
}
نوٹس:
enabledبطورِ طے شدہtrueہوتا ہے جب AWS اسناد موجود ہوں۔regionبطورِ طے شدہAWS_REGIONیاAWS_DEFAULT_REGION، پھرus-east-1ہوتا ہے۔providerFilterBedrock فراہم کنندہ کے ناموں سے میل کھاتا ہے (مثلاًanthropic)۔refreshIntervalسیکنڈز میں ہے؛ کیشنگ غیر فعال کرنے کے لیے0سیٹ کریں۔defaultContextWindow(بطورِ طے شدہ:32000) اورdefaultMaxTokens(بطورِ طے شدہ:4096) دریافت شدہ ماڈلز کے لیے استعمال ہوتے ہیں (اگر آپ کو اپنے ماڈل کی حدود معلوم ہوں تو اووررائیڈ کریں)۔
سیٹ اپ (دستی)¶
- یقینی بنائیں کہ گیٹ وے ہوسٹ پر AWS اسناد دستیاب ہوں:
export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_REGION="us-east-1"
# Optional:
export AWS_SESSION_TOKEN="..."
export AWS_PROFILE="your-profile"
# Optional (Bedrock API key/bearer token):
export AWS_BEARER_TOKEN_BEDROCK="..."
- اپنی کنفیگ میں Bedrock فراہم کنندہ اور ماڈل شامل کریں (
apiKeyدرکار نہیں):
{
models: {
providers: {
"amazon-bedrock": {
baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
api: "bedrock-converse-stream",
auth: "aws-sdk",
models: [
{
id: "us.anthropic.claude-opus-4-6-v1:0",
name: "Claude Opus 4.6 (Bedrock)",
reasoning: true,
input: ["text", "image"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 200000,
maxTokens: 8192,
},
],
},
},
},
agents: {
defaults: {
model: { primary: "amazon-bedrock/us.anthropic.claude-opus-4-6-v1:0" },
},
},
}
EC2 انسٹینس رولز¶
جب OpenClaw کو کسی IAM رول کے ساتھ منسلک EC2 انسٹینس پر چلایا جاتا ہے تو AWS SDK خودکار طور پر توثیق کے لیے instance metadata service (IMDS) استعمال کرتا ہے۔ تاہم، OpenClaw کی اسناد کی شناخت فی الحال صرف ماحولاتی متغیرات کو چیک کرتی ہے، IMDS اسناد کو نہیں۔
حل: AWS اسناد کی دستیابی کا اشارہ دینے کے لیے AWS_PROFILE=default سیٹ کریں۔ اصل توثیق پھر بھی IMDS کے ذریعے انسٹینس رول استعمال کرتی ہے۔
# Add to ~/.bashrc or your shell profile
export AWS_PROFILE=default
export AWS_REGION=us-east-1
EC2 انسٹینس رول کے لیے درکار IAM اجازتیں:
bedrock:InvokeModelbedrock:InvokeModelWithResponseStreambedrock:ListFoundationModels(خودکار دریافت کے لیے)
یا managed policy AmazonBedrockFullAccess منسلک کریں۔
فوری سیٹ اپ:
# 1. Create IAM role and instance profile
aws iam create-role --role-name EC2-Bedrock-Access \
--assume-role-policy-document '{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": {"Service": "ec2.amazonaws.com"},
"Action": "sts:AssumeRole"
}]
}'
aws iam attach-role-policy --role-name EC2-Bedrock-Access \
--policy-arn arn:aws:iam::aws:policy/AmazonBedrockFullAccess
aws iam create-instance-profile --instance-profile-name EC2-Bedrock-Access
aws iam add-role-to-instance-profile \
--instance-profile-name EC2-Bedrock-Access \
--role-name EC2-Bedrock-Access
# 2. Attach to your EC2 instance
aws ec2 associate-iam-instance-profile \
--instance-id i-xxxxx \
--iam-instance-profile Name=EC2-Bedrock-Access
# 3. On the EC2 instance, enable discovery
openclaw config set models.bedrockDiscovery.enabled true
openclaw config set models.bedrockDiscovery.region us-east-1
# 4. Set the workaround env vars
echo 'export AWS_PROFILE=default' >> ~/.bashrc
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
source ~/.bashrc
# 5. Verify models are discovered
openclaw models list
نوٹس¶
- Bedrock کے لیے آپ کے AWS اکاؤنٹ/ریجن میں model access فعال ہونا ضروری ہے۔
- خودکار دریافت کے لیے
bedrock:ListFoundationModelsکی اجازت درکار ہے۔ - اگر آپ profiles استعمال کرتے ہیں تو گیٹ وے ہوسٹ پر
AWS_PROFILEسیٹ کریں۔ - OpenClaw اس ترتیب میں اسناد کے ماخذ کو ظاہر کرتا ہے:
AWS_BEARER_TOKEN_BEDROCK، پھرAWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEY، پھرAWS_PROFILE، اور آخر میں default AWS SDK chain۔ - reasoning کی سپورٹ ماڈل پر منحصر ہے؛ موجودہ صلاحیتوں کے لیے Bedrock ماڈل کارڈ چیک کریں۔
- اگر آپ managed key فلو کو ترجیح دیتے ہیں تو آپ Bedrock کے سامنے ایک OpenAI‑compatible پراکسی بھی رکھ سکتے ہیں اور اسے OpenAI فراہم کنندہ کے طور پر کنفیگر کر سکتے ہیں۔