Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

AWS Bedrock

الوصول إلى نماذج الأساس (Claude، Titan، Llama، Mistral والمزيد) عبر Converse API في AWS Bedrock مع مصادقة SigV4، واستدعاء الأدوات الأصلي، وتخزين المطالبات مؤقتًا.

المتطلبات المسبقة

  • حساب AWS مع تفعيل الوصول إلى نماذج Bedrock
  • بيانات اعتماد AWS ‏(Access Key ID + Secret Access Key) مع صلاحيات bedrock:InvokeModel

إعداد سريع

1. تفعيل الوصول إلى النموذج

  1. افتح AWS Bedrock Console
  2. انتقل إلى Model access في الشريط الجانبي الأيسر
  3. اطلب الوصول إلى النماذج التي تريد استخدامها (مثل Anthropic Claude وMeta Llama)

2. إعداد بيانات اعتماد AWS

bash
export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_REGION="us-east-1"  # optional, defaults to us-east-1

3. إعداد PRX

toml
[default]
provider = "bedrock"
model = "anthropic.claude-sonnet-4-20250514-v1:0"

4. التحقق

bash
prx doctor models

النماذج المتاحة

تتبع معرفات النماذج في Bedrock الصيغة <provider>.<model>-<version>:

Model IDProviderContextVisionTool UseNotes
anthropic.claude-sonnet-4-20250514-v1:0Anthropic200KYesYesClaude Sonnet 4
anthropic.claude-sonnet-4-6-v1:0Anthropic200KYesYesLatest Claude Sonnet
anthropic.claude-opus-4-6-v1:0Anthropic200KYesYesClaude Opus
anthropic.claude-3-5-haiku-20241022-v1:0Anthropic200KYesYesFast Claude model
meta.llama3-1-70b-instruct-v1:0Meta128KNoYesLlama 3.1 70B
mistral.mistral-large-2407-v1:0Mistral128KNoYesMistral Large
amazon.titan-text-premier-v1:0Amazon32KNoNoAmazon Titan

راجع توثيق AWS Bedrock للحصول على القائمة الكاملة للنماذج المتاحة في منطقتك.

مرجع الإعدادات

الحقلالنوعالافتراضيالوصف
modelstringمطلوبمعرّف نموذج Bedrock (مثل anthropic.claude-sonnet-4-6)

تتم المصادقة بالكامل عبر متغيرات بيئة AWS:

متغير البيئةمطلوبالوصف
AWS_ACCESS_KEY_IDنعممعرّف مفتاح وصول AWS
AWS_SECRET_ACCESS_KEYنعممفتاح AWS السري
AWS_SESSION_TOKENلارمز جلسة مؤقت (للأدوار المفترضة)
AWS_REGIONلامنطقة AWS ‏(الافتراضي: us-east-1)
AWS_DEFAULT_REGIONلامنطقة احتياطية إذا لم يتم ضبط AWS_REGION

الميزات

توقيع SigV4 بدون تبعيات

ينفّذ PRX توقيع طلبات AWS SigV4 باستخدام مكتبات hmac وsha2 فقط، دون الاعتماد على AWS SDK. هذا يُبقي الحزمة صغيرة ويتجنب تعارضات إصدارات SDK. يشمل التوقيع:

  • سلسلة اشتقاق مفتاح HMAC-SHA256
  • بناء طلب canonical مع ترويسات مرتبة
  • دعم x-amz-security-token لبيانات الاعتماد المؤقتة

Converse API

يستخدم PRX واجهة Converse API في Bedrock (وليس واجهة InvokeModel القديمة)، والتي توفر:

  • صيغة رسائل موحدة عبر جميع مزودي النماذج
  • استدعاء أدوات منظّمًا باستخدام كتل toolUse وtoolResult
  • دعم مطالبات النظام
  • صيغة استجابة متسقة

الاستدعاء الأصلي للأدوات

تُرسل الأدوات باستخدام صيغة toolConfig الأصلية في Bedrock مع تعريفات toolSpec التي تتضمن name وdescription وinputSchema. تُلف نتائج الأدوات ككتل محتوى toolResult داخل رسائل user.

التخزين المؤقت للمطالبات

يطبّق PRX آليات Bedrock للتخزين المؤقت للمطالبات (بنفس الحدود المستخدمة في مزود Anthropic):

  • مطالبات النظام الأكبر من 3 KB تحصل على كتلة cachePoint
  • المحادثات التي تحتوي على أكثر من 4 رسائل غير نظامية يتم وسم آخر رسالة فيها بـ cachePoint

ترميز URL لمعرفات النماذج

معرفات نماذج Bedrock التي تحتوي على النقطتين (مثل v1:0) تحتاج معالجة خاصة. PRX:

  • يرسل النقطتين كما هي في رابط HTTP (كما يفعل reqwest)
  • يرمّز النقطتين إلى %3A في canonical URI لتوقيع SigV4
  • يضمن هذا النهج المزدوج نجاح التوجيه عبر HTTP والتحقق من التوقيع معًا

الأسماء المستعارة للمزوّد

الأسماء التالية تُحل إلى مزود Bedrock:

  • bedrock
  • aws-bedrock

استكشاف الأخطاء وإصلاحها

"AWS Bedrock credentials not set"

تأكد من ضبط كل من AWS_ACCESS_KEY_ID وAWS_SECRET_ACCESS_KEY كمتغيرات بيئة. لا يقرأ PRX من ~/.aws/credentials أو ~/.aws/config.

403 AccessDeniedException

الأسباب الشائعة:

  • مستخدم/دور IAM لا يملك صلاحية bedrock:InvokeModel
  • لم تطلب الوصول إلى النموذج من وحدة تحكم Bedrock
  • النموذج غير متاح في المنطقة المضبوطة

SignatureDoesNotMatch

يشير هذا غالبًا إلى انحراف في ساعة النظام. تأكد من مزامنة ساعة النظام:

bash
# Linux
sudo ntpdate pool.ntp.org
# macOS
sudo sntp -sS pool.ntp.org

النموذج غير متاح في المنطقة

ليست كل النماذج متاحة في كل المناطق. راجع مصفوفة توافر نماذج Bedrock واضبط AWS_REGION وفقًا لذلك.

استخدام بيانات اعتماد مؤقتة (STS)

إذا كنت تستخدم AWS STS (أدوار مفترضة، SSO)، اضبط المتغيرات الثلاثة:

bash
export AWS_ACCESS_KEY_ID="ASIA..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_SESSION_TOKEN="..."

يتم تضمين رمز الجلسة تلقائيًا في توقيع SigV4 كترويسة x-amz-security-token.

Released under the Apache-2.0 License.