Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

AWS Bedrock ​

ფუნდამენტურ მოდელებზე (Claude, Titan, Llama, Mistral და სხვები) წვდომა AWS Bedrock-ის Converse API-ით 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"  # არასავალდებულო, ნაგულისხმევი us-east-1

3. PRX-ის კონფიგურაცია ​

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

4. შემოწმება ​

bash
prx doctor models

ხელმისაწვდომი მოდელები ​

მოდელის ID-ები Bedrock ფორმატს მიჰყვება <პროვაიდერი>.<მოდელი>-<ვერსია>:

მოდელის IDპროვაიდერიკონტექსტივიზუალიინსტრუმენტებიშენიშვნები
anthropic.claude-sonnet-4-20250514-v1:0Anthropic200KდიახდიახClaude Sonnet 4
anthropic.claude-sonnet-4-6-v1:0Anthropic200Kდიახდიახუახლესი Claude Sonnet
anthropic.claude-opus-4-6-v1:0Anthropic200KდიახდიახClaude Opus
anthropic.claude-3-5-haiku-20241022-v1:0Anthropic200Kდიახდიახსწრაფი Claude მოდელი
meta.llama3-1-70b-instruct-v1:0Meta128KარადიახLlama 3.1 70B
mistral.mistral-large-2407-v1:0Mistral128KარადიახMistral Large
amazon.titan-text-premier-v1:0Amazon32KარაარაAmazon Titan

შეამოწმეთ AWS Bedrock დოკუმენტაცია თქვენს რეგიონში ხელმისაწვდომი მოდელების სრული სიისთვის.

კონფიგურაციის მითითება ​

ველიტიპინაგულისხმევიაღწერა
modelstringსავალდებულოBedrock მოდელის ID (მაგ., anthropic.claude-sonnet-4-6)

ავტენტიფიკაცია მთლიანად AWS გარემოს ცვლადებით ხორციელდება:

გარემოს ცვლადისავალდებულოაღწერა
AWS_ACCESS_KEY_IDდიახAWS წვდომის გასაღების ID
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 crate-ების გამოყენებით ახორციელებს, AWS SDK-ზე დამოკიდებულების გარეშე. ეს ბინარულ ფაილს პატარას ინარჩუნებს და SDK ვერსიების კონფლიქტებს თავიდან აიცილებს. ხელმოწერა მოიცავს:

  • HMAC-SHA256 გასაღების წარმოების ჯაჭვს
  • კანონიკური მოთხოვნის კონსტრუქციას დახარისხებული ჰედერებით
  • x-amz-security-token მხარდაჭერას დროებითი ავტორიზაციის მონაცემებისთვის

Converse API ​

PRX იყენებს Bedrock-ის Converse API-ს (არა მოძველებულ InvokeModel API-ს), რომელიც უზრუნველყოფს:

  • ერთიან შეტყობინების ფორმატს ყველა მოდელის პროვაიდერზე
  • სტრუქტურირებულ ინსტრუმენტების გამოძახებას toolUse და toolResult ბლოკებით
  • სისტემური პრომპტის მხარდაჭერას
  • თანმიმდევრული პასუხის ფორმატს

მშობლიური ინსტრუმენტების გამოძახება ​

ინსტრუმენტები Bedrock-ის მშობლიურ toolConfig ფორმატში იგზავნება toolSpec განსაზღვრებებით, რომლებიც მოიცავს name, description და inputSchema. ინსტრუმენტის შედეგები შეფუთულია როგორც toolResult კონტენტ ბლოკები user შეტყობინებებში.

პრომპტ ქეშირება ​

PRX Bedrock-ის პრომპტ ქეშირების ევრისტიკას იყენებს (Anthropic პროვაიდერის იგივე ზღვრულ მნიშვნელობებით):

  • 3 KB-ზე მეტი სისტემური პრომპტები cachePoint ბლოკს იღებს
  • 4-ზე მეტი არა-სისტემური შეტყობინების მქონე საუბრებში ბოლო შეტყობინება cachePoint-ით არის მონიშნული

URL კოდირება მოდელის ID-ებისთვის ​

ორწერტილების შემცველი Bedrock მოდელის ID-ები (მაგ., v1:0) სპეციალურ დამუშავებას მოითხოვს. PRX:

  • ნედლ ორწერტილებს HTTP URL-ში აგზავნის (როგორც reqwest აკეთებს)
  • ორწერტილებს %3A-ით კოდირებს კანონიკურ 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.