מדריך לשימוש בפתיחות Amazon Bedrock לאינטגרציה של LLM

כאשר המובילה בייצוג של המודלים לשפה הגדולים (LLMs) משנה באופן דרמטי תעשיות שונות, מפתחים מחפשים דרכים יעילות יותר לשילובם ביישומיהם. Amazon Bedrock היא פתרון עוצמתי. היא מציעה שירות שניהול מלא המאפשר גישה למגוון רחב של מודלי בסיס דרך API מאוחד. מדריך זה יחקור את היתרונות המרכזיים של Amazon Bedrock, כיצד לשלב מודלים שונים של LLM לפרויקטים שלך, איך לפשט את ניהול הפרומפטים השונים של LLM שהיישום שלך משתמש בהם, וכיצד להתייחס לכללי היצור המומלצים לשימוש בייצור.

יתרונות מרכזיים של Amazon Bedrock

Amazon Bedrock פשוטה את השקת ה-LLMs לתוך יישום כלשהו על ידי מציאת כל היכולות הבסיסיות הנחוצות כדי להתחיל.

גישה פשוטה למודלים מובילים

Bedrock מספקת גישה למבחר רחב של מודלי בסיס עם ביצועים גבוהים ממובילי תעשייה כגון AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI ו-Amazon. המגוון הזה מאפשר למפתחים לבחור במודל המתאים ביותר למקרת השימוש שלהם ולעבור בין מודלים כפי הצורך מבלי לנהל יחסי עסקים או APIים מרובים. 

שירות מנוהל לחלוטין וללא שרת

כשירות מנוהלת לחלוטין, Bedrock מסירה את צורך בניהול תשתיות. זה מאפשר למפתחים להתמקד בבניית יישומים במקום לדאוג לפרטיות התשתית, הפרסום של המודל והגדלתו.

אבטחה ופרטיות ברמה עסקית

Bedrock מציע תכונות אבטחה מובנות, המבטיחות שהנתונים לעולם לא יצאו מסביבת ה-AWS שלך והם מוצפנים בתנודה ובמנוחה. הוא תומך גם בעמידה בתקנים שונים, כולל ISO, SOC ו-HIPAA.

הישאר מעודכן עם שדרוגי התשתיות האחרונים

Bedrock משחרר באופן קבוע תכונות חדשות שמדחיקות את גבולות אפליקציות LLM ודורשות מעט או בכלל אין צורך בהגדרה. לדוגמה, לאחרונה השיקה מצב חישוב ממוקד המותאם למיטב התוצאות, שמשפר את לטנציית החישוב ב-LLM מבלי לפגוע בדיוק.

התחל עם Bedrock

במקטע זה, נשתמש ב-AWS SDK עבור Python כדי לבנות אפליקציה קטנה על מחשב המקומי שלך, ונספק מדריך מעשי להתחלה עם Amazon Bedrock. זה יעזור לך להבין את הנושאים המעשיים של שימוש ב-Bedrock וכיצד לשלב אותו בפרויקטים שלך.

דרישות מוקדמות

  1. יש לך חשבון AWS.
  2. יש לך Python מותקן. אם אינו מותקן, ניתן להוריד אותו על פי המדריך הזה.
  3. יש לך את ה-SDK של Python עבור AWS (Boto3) מותקן ומוגדר בצורה נכונה. מומלץ ליצור משתמש AWS IAM שבו Boto3 יכול להשתמש. הוראות זמינות ב-מדריך ההתחלה המהירה של Boto3.
  4. אם אתה משתמש במשתמש IAM, וודא שהוספת את המדיניות AmazonBedrockFullAccess אליו. ניתן לצרף מדיניות באמצעות עקבי ה- AWS.
  5. בקש גישה למודלים 1 או יותר ב-Bedrock על ידי עקבות המדריך.

1. יצירת הלקוח של Bedrock

Bedrock מציע מספר לקוחות הזמינים ב-AWS CDK. הלקוח Bedrock מאפשר לך להתקשר עם השירות כדי ליצור ולנהל מודלים, בעוד הלקוח BedrockRuntime מאפשר לך להפעיל מודלים קיימים. נשתמש באחד מהמודלים הקיימים מראש לצורך המדריך שלנו, ולכן נעבוד עם הלקוח BedrockRuntime.

Python

 

2. קריאה למודל

בדוגמה זו, השתמשתי במודל המיקרו של Amazon Nova (עם modelId amazon.nova-micro-v1:0), אחד מהמודלים הזולים ביותר של Bedrock. נספק פרומט פשוט כדי לבקש מהמודל לכתוב לנו שיר ונגדיר פרמטרים לשליטה באורך הפלט וברמת היצירתיות (נקרא "טמפרטורה") שהמודל צריך לספק. ניתן לשחק עם פרומטים שונים ולכוון פרמטרים כדי לראות כיצד הם משפיעים על הפלט.

Python

 

ניתן גם לנסות זאת עם מודל אחר כמו ההייקו של Anthropic, כפי שמוצג למטה.

Python

 

שימו לב כי מבני הבקשה/התגובה שונים מעט בין המודלים. זהו חסרון שנטפל בו על ידי שימוש בתבניות קריאה מוגדרות מראש בקטע הבא. כדי לנסות עם מודלים אחרים, ניתן לחפש את ה־modelId ובקשות API לדוגמה לכל מודל מעמוד ה"קטלוג של המודלים" בקונסולת Bedrock ולהתאים את הקוד שלך בהתאם. ישנם מודלים שכן יש להם מדריכים מפורטים שנכתבו על ידי AWS, שניתן למצוא כאן.

3. שימוש בניהול פרומפטים

Bedrock מספק כלי נחמד ליצירה וניסוי עם תבניות פרומפט מוגדרות מראש. במקום להגדיר פרומפטים ופרמטרים ספציפיים כגון אורך טוקן או טמפרטורה בקוד שלך בכל פעם שאת/ה זקוק/ה אליהם, ניתן ליצור תבניות מוגדרות מראש בקונסולת ניהול הפרומפטים. את/ה מציינ/ת משתנים קלט שיינתקו בזמן ריצה, מגדיר/ה את כל פרמטרי ההסקה הנדרשים, ומפרסם/ת גרסה של הפרומפט שלך. לאחר השלמת התהליך, קוד היישום שלך יכול להפעיל את הגרסה הרצויה של תבנית הפרומפט שלך.

היתרונות העיקריים של שימוש בפרומפטים מוגדרים מראש:

  1. זה עוזר ליישום שלך לשמור על הסדר ככל שהוא מתרחב ומשתמש בפרומפטים שונים, פרמטרים שונים ומודלים למגוון מקרי השימוש.
  2. זה עוזר בשימוש חוזר בפרומפט אם אותו פרומפט משמש במקומות מרובים.
  3. מסתיר את פרטי ההסקה של LLM מקוד היישום שלנו.
  4. מאפשר למהנדסי הפרומפטים לעבוד על אופטימיזציה של הפרומפט בקונסולה מבלי להשגת קוד היישום הממשי שלך.
  5. זה מאפשר ניסויים קלים, משתמש בגרסאות שונות של פרומפטים. ניתן לכוון את קלט הפרומפט, פרמטרים כמו טמפרטורה, או אפילו את המודל עצמו.

בואו ננסה זאת עכשיו:

  1. עברו לממשק הניהול של Bedrock ולחצו על "ניהול פרומפטים" בפאנל השמאלי.
  2. לחצו על "יצירת פרומפט" ותנו שם לפרומפט החדש שלכם
  3. הזינו את הטקסט שברצונכם לשלוח ל-LLM, יחד עם משתנה מציין מקום. כך נראה זה: כתבו שיר קצר על {{נושא}}.
  4. בקטע התצורה, ציינו איזה מודל ברצונכם להשתמש בו והגדירו את ערכי הפרמטרים שהשתמשנו בהם בעבר, כגון "טמפרטורה" ו"מקסימום טוקנים". אם תרצו, תוכלו להשאיר את הגדרות הברירת מחדל כפי שהן.
  5. זמן לבדוק! בתחתית העמוד, ציינו ערך עבור המשתנה הבדיקה שלכם. אני השתמשתי ב"גיבור פיתוח תוכנה". לאחר מכן, לחצו על "הפעל" בצד ימין כדי לראות אם אתם מרוצים מהפלט.

למטרת התייחסות, הנה התצורה שלי והתוצאות.

עלינו לפרסם גרסה חדשה של הפרומפט כדי להשתמש בו באפליקציה שלכם. כדי לעשות זאת, לחצו על כפתור "יצירת גרסה" בראש העמוד. זה יצר עותק של התצורה הנוכחית שלכם. אם ברצונכם לשחק איתה, תוכלו להמשיך לערוך וליצור עוד גרסאות.

לאחר הפרסום, עליכם למצוא את ARN (שם משאב של אמזון) של גרסת הפרומפט על ידי ניווט לדף הפרומפט שלכם ולחיצה על הגרסה שנוצרה לאחרונה.

העתיקו את ARN של גרסת הפרומפט הספציפית זו כדי להשתמש בה בקוד שלכם.

פעם שיש לנו את ה-ARN, אנו יכולים לעדכן את הקוד שלנו כדי לקרוא לפרומפט המוגדר מראש הזה. אנו רק זקוקים ל-ARN של גרסת הפרומפט ולערכים של כל משתנים שאנו מכניסים אליו.

Python

 

כפי שתוכל לראות, זה מפשט את קוד היישום שלנו על ידי התחזוק פרטים של ניבוי דחוי וקידום נציבות. ניתן לשחק עם פרמטרים בפרומפט שלך, ליצור גרסאות שונות ולהשתמש בהן ביישום שלך. תוכל להרחיב את זה ליישום שורת פקודה פשוט שמקבל קלט מהמשתמש וכותב שיר קצר על הנושא.

שלבים הבאים ושיטות מומלצות

פעם שתרגיש בנוח עם שימוש ב-Bedrock לאינטגרציה של LLM ליישום שלך, כדאי לחקור כמה עיקרויות פרקטיות ושיטות מומלצות כדי להכין את היישום שלך לשימוש בסביבת הייצור. 

הנדסת פרומפט

הפרומפט שתשתמש כדי לקרוא למודל עשוי לעשות או לשבש את היישום שלך. הנדסת הפרומפט היא תהליך שבו יוצרים ומשפרים הוראות כדי לקבל את הפלט הרצוי מ-LLM. עם התבניות של פרומפט מוגדרות מראש שבדקנו לעיל, מהנדסי פרומפט מיומנים יכולים להתחיל בהנדסת פרומפט מבלי להפר בתהליך הפיתוח של תוכנה של היישום שלך. עשוי להיות צורך להתאים את הפרומפט שלך כך שיהיה speci קי למודל שתרצה להשתמש בו. כדאי להתנסות בטכניקות פרומפט המיועדות לכל ספק מודל. Bedrock מספקת כמה הנחיותלמודלים גדולים שקריאתם נפוצה.

בחירת המודל

בחירה במודל הנכון היא איזון בין הצרכים של היישום שלך לבין העלויות הכרוכות בכך. מודלים עם יכולות גבוהות נוטים להיות יקרים יותר. לא כל מקרה שימוש דורש את המודל החזק ביותר, בעוד שמודלים הזולים ביותר עשויים לא תמיד לספק את הביצועים שאתה זקוק להם. השתמש בתכונת הערכת מודלים כדי להעריך במהירות ולהשוות את הפלטים של מודלים שונים כדי לקבוע איזה מהם עונה על הצרכים שלך בצורה הטובה ביותר. Bedrock מציעה מספר אפשרויות להעלות מערכי נתונים לבדיקה ולהגדיר כיצד יש להעריך את דיוק המודל עבור מקרים שימוש ספציפיים.

שפר והרחב את המודל שלך עם RAG וסוכנים

אם מודל קנוי לא עובד טוב מספיק עבורך, Bedrock מציעה אפשרויות לכוונן את המודל שלך למקרה השימוש הספציפי שלך. צור את נתוני האימון שלך, העלה אותם ל-S3, והשתמש בקונסולת Bedrock כדי להפעיל עבודה של כוונון עדין. תוכל גם להרחיב את המודלים שלך באמצעות טכניקות כמו הפקת מידע מוגברת בעזרת חיפוש (RAG) לשיפור הביצועים עבור מקרים שימוש ספציפיים. חיבור מקורות נתונים קיימים אשר Bedrock תעשה זמינים למודל כדי לשפר את הידע שלו. Bedrock מציעה גם את היכולת ליצור סוכנים כדי לתכנן ולבצע משימות מורכבות מרובות שלבים באמצעות מערכות נתונים ומקורות הנתונים הקיימים שלך.

אבטחה ומסילות

עם מחסומים, אתה יכול להבטיח שהיישום הגנרטיבי שלך יימנע בנימוס מנושאים רגישים (כגון גזענות, תוכן מיני, וגסויות) ושהתוכן שנוצר יהיה מבוסס כדי למנוע הלוצינציות. תכונה זו חיונית לשמירה על הסטנדרטים האתיים והמקצועיים של היישומים שלך. נצל את תכונות האבטחה המובנות של Bedrock ושילב אותן עם בקרות האבטחה הקיימות של AWS.

אופטימיזציית עלויות

לפני השקת היישום או התכונה שלך באופן רחב, שקול את העלות שיכולה להיגרם על ידי אינפרנס של Bedrock והרחבות כמו RAG.

  • אם אתה יכול לחזות את דפוסי התנועה שלך, שקול להשתמש בקצב מעבר שהוקצה כדי לאפשר אינפרנס מודל יעיל וחסכוני יותר.
  • אם היישום שלך מורכב ממספר תכונות, תוכל להשתמש במודלים שונים ובבקשות שונות לכל תכונה כדי לאופטימיזציה של העלויות על בסיס אינדיבידואלי.
  • חזור על בחירת המודל שלך כמו גם על גודל הבקשה שאתה מספק לכל אינפרנס. Bedrock בדרך כלל מחייב על בסיס "לפי טוקן", כך שבקשות ארוכות ופלטים גדולים יגרמו לעלויות גבוהות יותר.

סיכום

Amazon Bedrock היא פלטפורמה חזקה וגמישה לשילוב LLMs ביישומים. היא מספקת גישה למודלים רבים, מפשטת את הפיתוח ומספקת תכונות התאמה אישית ואבטחה חזקות. כך, מפתחים יכולים לנצל את כוח ה-AI הגנרטיבי תוך כדי התמקדות ביצירת ערך למשתמשים שלהם. מאמר זה מציג כיצד להתחיל עם אינטגרציה חיונית של Bedrock ולשמור על הבקשות שלנו מסודרות.

ככל שהמודלים המלאכותיים מתפתחים, מפתחי תוכנה צריכים להישאר מעודכנים עם התכונות החדישות והפרקטיקות הטובות ב-Amazon Bedrock כדי לבנות את היישומים המלאכותיים שלהם.

Source:
https://dzone.com/articles/amazon-bedrock-prompts-llm-integration-guide