הפוסט הזה נכתב בשיתוף עם סטניסלב ישצ'נקו מ-Q4 Inc.
ארגונים פונים ל-Retrieval Augmented Generation (RAG) כגישה מיינסטרים לבניית צ'טבוטים של שאלות ותשובות. אנו ממשיכים לראות אתגרים מתעוררים הנובעים מאופי מבחר מערכי הנתונים הזמינים. מערכי נתונים אלה הם לעתים קרובות שילוב של נתונים מספריים וטקסטים, לפעמים מובנים, לא מובנים או מובנים למחצה.
Q4 Inc. נדרש להתמודד עם כמה מהאתגרים הללו באחד ממקרי השימוש הרבים שלהם בבינה מלאכותית שנבנו על AWS. בפוסט זה, אנו דנים במקרה של שימוש בבוט של שאלות ותשובות ש-Q4 יישם, האתגרים שהציגו מערכי נתונים מספריים ומובנים, וכיצד Q4 הגיע למסקנה ששימוש ב-SQL עשוי להיות פתרון בר-קיימא. לבסוף, נסתכל מקרוב על האופן שבו צוות Q4 השתמש סלע אמזון ו- SQLDatabaseChain ליישם פתרון מבוסס RAG עם יצירת SQL.
השתמש בסקירת המקרים
Q4 Inc., שבסיסה בטורונטו, עם משרדים בניו יורק ובלונדון, היא פלטפורמת גישה לשוקי הון מובילה שמשנה את האופן שבו מנפיקים, משקיעים ומוכרים מתחברים, מתקשרים ומתקשרים זה עם זה ביעילות. פלטפורמת Q4 מאפשרת אינטראקציות ברחבי שווקי ההון באמצעות מוצרי אתרי אינטרנט IR, פתרונות לאירועים וירטואליים, ניתוח מעורבות, ניהול קשרי לקוחות ביחסי משקיעים (CRM), ניתוח בעלי מניות ושוק, מעקב וכלי ESG.
בנוף הפיננסי המהיר והמבוסס על נתונים של ימינו, קציני קשרי משקיעים (IRO) ממלאים תפקיד קריטי בטיפוח התקשורת בין חברה לבעלי המניות, האנליסטים והמשקיעים שלה. כחלק מהמטלות היומיומיות שלהם, IRO מנתחים מערכי נתונים מגוונים, כולל CRM, רשומות בעלות ונתוני שוק המניות. המצטבר של נתונים אלה משמש להפקת דוחות פיננסיים, הגדרת יעדי קשרי משקיעים וניהול תקשורת עם משקיעים קיימים ופוטנציאליים.
כדי לענות על הדרישה ההולכת וגוברת לאחזור נתונים יעיל ודינמי, Q4 שאף ליצור כלי שאלות ותשובות צ'אטבוט שיספק שיטה אינטואיטיבית ופשוטה ל-IRO לגשת למידע הדרוש להם בפורמט ידידותי למשתמש.
המטרה הסופית הייתה ליצור צ'אטבוט שישלב בצורה חלקה נתונים זמינים לציבור, יחד עם נתוני Q4 ספציפיים ללקוח, תוך שמירה על הרמה הגבוהה ביותר של אבטחה ופרטיות נתונים. באשר לביצועים, המטרה הייתה לשמור על זמן תגובה לשאילתה של שניות כדי להבטיח חוויה חיובית למשתמשי הקצה.
השווקים הפיננסיים הם ענף מפוקח עם סיכון גבוה. מתן מידע שגוי או מיושן עלול להשפיע על אמון המשקיעים ובעלי המניות, בנוסף לסיכוני פרטיות נתונים אפשריים אחרים. מתוך הבנה של התעשייה והדרישות, Q4 מגדיר פרטיות נתונים ודיוק תגובה כעקרונות המנחים שלה בהערכת כל פתרון לפני שניתן להוציאו לשוק.
להוכחת הרעיון, הרבעון הרביעי החליט להשתמש במערך נתונים של בעלות פיננסית. מערך הנתונים מורכב מנקודות נתונים מסדרות זמן המייצגות את מספר הנכסים שבבעלותם; היסטוריית העסקאות בין מוסדות השקעה, יחידים וחברות ציבוריות; ועוד הרבה אלמנטים.
מכיוון ש-Q4 רצה להבטיח שהוא יעמוד בכל הדרישות הפונקציונליות והלא-פונקציונליות שדיברנו עליהן, הפרויקט גם היה צריך להישאר אפשרי מבחינה מסחרית. זה כובד לאורך כל תהליך ההחלטה על הגישה, הארכיטקטורה, בחירת הטכנולוגיה ואלמנטים ספציפיים לפתרון.
ניסויים ואתגרים
מההתחלה היה ברור שכדי להבין שאלה בשפה אנושית ולייצר תשובות מדויקות, רבעון 4 יצטרך להשתמש במודלים של שפה גדולה (LLM).
להלן חלק מהניסויים שנערכו על ידי הצוות, יחד עם האתגרים שזוהו והלקחים שהופקו:
- אימון מקדים – Q4 הבין את המורכבות והאתגרים שמגיעים עם אימון מקדים של LLM באמצעות מערך נתונים משלו. מהר מאוד התברר שגישה זו היא עתירת משאבים עם שלבים לא טריוויאליים רבים, כגון עיבוד מקדים של נתונים, הדרכה והערכה. בנוסף למאמץ הכרוך בכך, זה יהיה יקר. בהתחשב באופי של מערך הנתונים של סדרת הזמן, Q4 גם הבין שהוא יצטרך לבצע באופן רציף אימון מקדים מצטבר ככל שיגיעו נתונים חדשים. זה היה מצריך צוות חוצה-תחומי מסור עם מומחיות במדעי הנתונים, למידת מכונה ותחום. יֶדַע.
- כוונון עדין – כוונון עדין של מודל בסיס מאומן מראש (FM) כולל שימוש במספר דוגמאות מסומנות. גישה זו הראתה הצלחה ראשונית מסוימת, אך במקרים רבים, הזיות מודל היוותה אתגר. המודל התקשה להבין רמזים הקשריים בעלי ניואנסים והחזיר תוצאות שגויות.
- RAG עם חיפוש סמנטי - RAG קונבנציונלי עם חיפוש סמנטי היה השלב האחרון לפני המעבר לדור SQL. הצוות התנסה בשימוש בחיפוש, חיפוש סמנטי והטמעות כדי לחלץ הקשר. במהלך ניסוי ההטמעות, מערך הנתונים הומר להטמעות, אוחסן במסד נתונים וקטור, ולאחר מכן הותאם להטמעות השאלה כדי לחלץ הקשר. ההקשר שאוחזר בכל אחד משלושת הניסויים שימש לאחר מכן כדי להגדיל את ההנחיה המקורית כקלט ל-LLM. גישה זו עבדה היטב עבור תוכן מבוסס טקסט, כאשר הנתונים מורכבים משפה טבעית עם מילים, משפטים ופסקאות. בהתחשב באופי של מערך הנתונים של Q4, שהוא בעיקר נתונים פיננסיים המורכבים ממספרים, עסקאות פיננסיות, שערי מניות ותאריכים, התוצאות בכל שלושת המקרים היו לא אופטימליות. גם בעת שימוש בהטמעות, ההטבעות שנוצרו ממספרים נאבקו בדירוג הדמיון, ובמקרים רבים הובילו לשחזור מידע שגוי.
המסקנה של Q4: יצירת SQL היא הדרך קדימה
בהתחשב באתגרים העומדים בפני שימוש במתודולוגיית RAG קונבנציונלית, הצוות החל לשקול יצירת SQL. הרעיון היה להשתמש ב-LLM כדי ליצור תחילה משפט SQL משאלת המשתמש, המוצגת ל-LLM בשפה טבעית. לאחר מכן, השאילתה שנוצרה מופעלת כנגד מסד הנתונים כדי להביא את ההקשר הרלוונטי. ההקשר משמש לבסוף כדי להגדיל את הנחיית הקלט לשלב סיכום.
ההשערה של Q4 הייתה שכדי לקבל זיכרון גבוה יותר עבור שלב האחזור, במיוחד עבור מערך הנתונים המספרי, הם צריכים ליצור תחילה SQL משאלת המשתמש. זה היה האמין לא רק להגביר את הדיוק, אלא גם לשמור את ההקשר בתוך התחום העסקי עבור שאלה נתונה. עבור יצירת השאילתות, וכדי ליצור SQL מדויק, Q4 היה צריך להפוך את ה-LLM למודע לחלוטין למבנה הנתונים שלהם. משמעות הדבר הייתה ההנחיה הדרושה לכלול את סכימת מסד הנתונים, כמה שורות נתונים לדוגמה והסברי שדות הניתנים לקריאה עבור השדות שאינם קלים להבנה.
בהתבסס על הבדיקות הראשוניות, שיטה זו הראתה תוצאות מצוינות. ה-LLM מצויד בכל המידע הדרוש הצליח ליצור את ה-SQL הנכון, שהופעל לאחר מכן כנגד מסד הנתונים כדי לאחזר את ההקשר הנכון. לאחר ניסוי ברעיון, Q4 החליט שדור SQL הוא הדרך קדימה להתמודד עם אתגרי מיצוי הקשר עבור מערך הנתונים הספציפי שלהם.
נתחיל בתיאור גישת הפתרון הכוללת, נחלק אותה למרכיביה, ואז נחבר את החלקים.
סקירת פתרונות
LLMs הם מודלים גדולים עם מיליארדי פרמטרים שהוכשרו מראש תוך שימוש בכמויות גדולות מאוד של נתונים ממגוון מקורות. בשל רוחב מערכי ההכשרה, צפויים ל-LLMs ידע כללי במגוון תחומים. LLMs ידועים גם ביכולות החשיבה שלהם, המשתנות מדגם אחד למשנהו. ניתן לבצע אופטימיזציה של התנהגות כללית זו לתחום או תעשייה ספציפיים על ידי אופטימיזציה נוספת של מודל היסוד באמצעות נתוני אימון קדם ספציפיים נוספים לתחום או על ידי כוונון עדין באמצעות נתונים מסומנים. בהינתן ההקשר, המטא נתונים וההוראות הנכונים, LLM למטרות כלליות שנבחרו היטב יכול לייצר SQL באיכות טובה כל עוד יש לו גישה להקשר המתאים לתחום הספציפי.
במקרה השימוש של Q4, אנו מתחילים בתרגום שאלת הלקוח ל-SQL. אנו עושים זאת על ידי שילוב שאלת המשתמש, סכימת מסד הנתונים, כמה שורות לדוגמה של מסד נתונים והוראות מפורטות כהנחיה ל-LLM ליצור SQL. לאחר שיש לנו את ה-SQL, נוכל להריץ שלב אימות אם יימצא צורך. כאשר אנו מרוצים מאיכות ה-SQL, אנו מריצים את השאילתה מול מסד הנתונים כדי לאחזר את ההקשר הרלוונטי שאנו צריכים לשלב הבא. כעת, לאחר שיש לנו את ההקשר הרלוונטי, אנו יכולים לשלוח את השאלה המקורית של המשתמש, את ההקשר שאוחזר ומערכת הוראות חזרה ל-LLM כדי להפיק תגובה סופית. המטרה של השלב האחרון היא שה-LLM יסכם את התוצאות ויספק תשובה הקשרית ומדויקת שניתן להעביר למשתמש.
הבחירה של LLM בשימוש בכל שלב בתהליך משפיעה מאוד על הדיוק, העלות והביצועים. בחירת פלטפורמה או טכנולוגיה שיכולה לאפשר לך את הגמישות לעבור בין LLMs בתוך אותו מקרה שימוש (מספר נסיעות LLM עבור משימות שונות), או על פני מקרי שימוש שונים, יכולה להיות מועילה באופטימיזציה של איכות הפלט, ההשהיה והעלות . אנו מתייחסים לבחירה של LLM בהמשך פוסט זה.
אבני בניין לפתרון
כעת, לאחר שהדגשנו את הגישה ברמה גבוהה, בואו נצלול לפרטים, החל מאבני הבניין של הפתרון.
סלע אמזון
Amazon Bedrock הוא שירות מנוהל במלואו המציע מבחר של FMs בעלי ביצועים גבוהים מחברות מובילות, כולל AI21 Labs, Anthropic, Cohere, Meta, Stability AI ואמזון. Amazon Bedrock מציעה גם קבוצה רחבה של כלים הדרושים לבניית יישומי בינה מלאכותית, לפשט את תהליך הפיתוח ולשמור על פרטיות ואבטחה. בנוסף, עם Amazon Bedrock אתה יכול לבחור מבין אפשרויות FM שונות, ותוכל לכוונן עוד יותר את הדגמים באופן פרטי באמצעות הנתונים שלך כדי להתאים את תגובות הדגמים לדרישות השימוש שלך. Amazon Bedrock הוא חסר שרתים לחלוטין ללא תשתית בסיסית לניהול הרחבת הגישה לדגמים זמינים באמצעות API יחיד. לבסוף, Amazon Bedrock תומכת במספר דרישות אבטחה ופרטיות, כולל זכאות HIPAA ותאימות ל-GDPR.
בפתרון של Q4, אנו משתמשים ב-Amazon Bedrock כאבן בניין של מודלים מרובי יסודות ללא שרתים, מבוססי API. מכיוון שאנו מתכוונים לבצע מספר נסיעות ל-LLM באותו מקרה שימוש, בהתבסס על סוג המשימה, אנו יכולים לבחור את המודל האופטימלי ביותר עבור משימה ספציפית, בין אם זה יצירת SQL, אימות או סיכום.
LangChain
LangChain הוא מסגרת אינטגרציה ותזמור בקוד פתוח עם קבוצה של מודולים מובנים מראש (I/O, אחזור, שרשראות וסוכנים) שבהם אתה יכול להשתמש כדי לשלב ולתזמר משימות בין FMs, מקורות נתונים וכלים. המסגרת מאפשרת בניית יישומי AI גנרטיביים הדורשים תזמור של שלבים מרובים כדי לייצר את הפלט הרצוי, מבלי לכתוב קוד מאפס. LangChain תומכת ב- Amazon Bedrock כ-API של מודל רב-בסיסי.
ספציפית למקרה השימוש של Q4, אנו משתמשים ב-LangChain לתיאום ותזמור משימות בזרימת העבודה שלנו, כולל חיבור למקורות נתונים ו-LLMs. גישה זו פשטה את הקוד שלנו מכיוון שאנו יכולים להשתמש במודולים הקיימים של LangChain.
SQLDatabaseChain
SQLDatabaseChain היא רשת LangChain שניתן לייבא מ-langchain_experimental. SLDatabaseChain עושה את זה פשוט ליצור, ליישם ולהפעיל שאילתות SQL, תוך שימוש בהמרות וההטמעות היעילות של טקסט ל-SQL.
במקרה השימוש שלנו, אנו משתמשים ב-SQLDatabaseChain בדור ה-SQL, מפשטים ומתזמרים אינטראקציות בין מסד הנתונים ל-LLM.
מערך הנתונים
מערך הנתונים המובנה שלנו יכול להימצא במסד נתונים של SQL, באגם נתונים או במחסן נתונים כל עוד יש לנו תמיכה ב-SQL. בפתרון שלנו, אנו יכולים להשתמש בכל סוג מערך נתונים עם תמיכה ב-SQL; זה צריך להיות מופשט מהפתרון ולא צריך לשנות את הפתרון בשום צורה.
פרטי היישום
כעת, לאחר שחקרנו את גישת הפתרון, רכיבי הפתרון, בחירת הטכנולוגיה והכלים, נוכל לחבר את החלקים יחד. התרשים הבא מדגיש את הפתרון מקצה לקצה.
בואו נעבור על פרטי היישום ועל זרימת התהליך.
צור את שאילתת SQL
כדי לפשט את הקידוד, אנו משתמשים במסגרות קיימות. אנו משתמשים ב-LangChain כמסגרת תזמורת. אנו מתחילים בשלב הקלט, בו אנו מקבלים את שאלת המשתמש בשפה טבעית.
בשלב ראשון זה, אנו לוקחים את הקלט הזה ומייצרים SQL מקביל שנוכל להריץ מול מסד הנתונים לצורך מיצוי הקשר. כדי ליצור SQL, אנו משתמשים ב- SQLDatabaseChain, המסתמכת על Amazon Bedrock לגישה ל-LLM הרצוי שלנו. עם Amazon Bedrock, באמצעות ממשק API יחיד, אנו מקבלים גישה למספר LLMs הבסיסיים ויכולים לבחור את המתאים עבור כל טיול LLM שאנו מבצעים. תחילה אנו יוצרים חיבור למסד הנתונים ומחזירים את סכימת הטבלה הנדרשת יחד עם כמה שורות לדוגמה מהטבלאות שבהן אנו מתכוונים להשתמש.
בבדיקה שלנו, מצאנו 2-5 שורות של נתוני טבלה כדי לספק מספיק מידע למודל מבלי להוסיף יותר מדי תקורה מיותרת. שלוש שורות הספיקו רק כדי לספק הקשר, מבלי להציף את המודל עם יותר מדי קלט. במקרה השימוש שלנו, התחלנו עם Anthropic קלוד V2. המודל ידוע בהנמקה המתקדמת שלו ובתגובות ההקשריות שלו לביטוי כאשר הוא מסופק עם ההקשר וההנחיות הנכונות. כחלק מההנחיות, נוכל לכלול פרטים מבהירים יותר ל-LLM. לדוגמה, אנו יכולים לתאר את העמודה הזו Comp_NAME
מייצג את שם החברה. כעת נוכל לבנות את ההנחיה על ידי שילוב שאלת המשתמש כפי שהיא, סכימת מסד הנתונים, שלוש שורות לדוגמה מהטבלה שבה אנו מתכוונים להשתמש, ומערכת הוראות ליצירת ה-SQL הנדרש בפורמט SQL נקי ללא הערות או תוספות.
כל רכיבי הקלט המשולבים נחשבים כהנחיית קלט הדגם. הנחית קלט מהונדסת היטב המותאמת לתחביר המועדף של הדגם משפיעה מאוד הן על האיכות והן על הביצועים של הפלט. בחירת הדגם לשימוש עבור משימה מסוימת חשובה גם היא, לא רק משום שהיא משפיעה על איכות הפלט, אלא גם משום שיש לה השלכות על עלות וביצועים.
אנו דנים בבחירת דגם ובהנדסה ואופטימיזציה מהירה בהמשך הפוסט הזה, אך ראוי לציין שבשלב יצירת השאילתות, שמנו לב שקלוד אינסטנט הצליח להפיק תוצאות דומות, במיוחד כאשר שאלת המשתמש מנוסחת היטב ולא מתוחכמת כל כך. עם זאת, קלוד V2 הפיק תוצאות טובות יותר אפילו עם קלט משתמש מורכב ועקיף יותר. למדנו שלמרות שבמקרים מסוימים קלוד אינסטנט עשוי לספק דיוק מספיק עם זמן אחזור ומחיר טובים יותר, המקרה שלנו ליצירת שאילתות התאים יותר לקלוד V2.
אמת את שאילתת SQL
הצעד הבא שלנו הוא לוודא שה-LLM יצר בהצלחה את תחביר השאילתה הנכון ושהשאילתה הגיונית בהקשר בהתחשב בסכימות מסד הנתונים ובשורות הדוגמאות שסופקו. עבור שלב אימות זה, נוכל לחזור לאימות שאילתה מקורית בתוך SQLDatabaseChain, או שנוכל להריץ נסיעה שנייה ל-LLM כולל השאילתה שנוצרה יחד עם הוראת אימות.
אם אנו משתמשים ב-LLM עבור שלב האימות, נוכל להשתמש באותו LLM כמו קודם (קלוד V2) או ב-LLM קטן יותר, בעל ביצועים יותר עבור משימה פשוטה יותר, כגון קלוד אינסטנט. מכיוון שאנו משתמשים ב- Amazon Bedrock, זו צריכה להיות התאמה פשוטה מאוד. באמצעות אותו API, נוכל לשנות את שם הדגם בקריאה ל-API שלנו, שדואגת לשינוי. חשוב לציין שברוב המקרים, LLM קטן יותר יכול לספק יעילות טובה יותר הן בעלות והן בזמן, ויש לקחת בחשבון - כל עוד אתה מקבל את הדיוק הרצוי. במקרה שלנו, בדיקות הוכיחו שהשאילתה שנוצרה היא מדויקת באופן עקבי ועם התחביר הנכון. בידיעה זאת, הצלחנו לדלג על שלב האימות הזה ולחסוך בהשהייה ובעלות.
הפעל את שאילתת SQL
כעת, לאחר שיש לנו את שאילתת ה-SQL המאומתת, אנו יכולים להריץ את שאילתת ה-SQL מול מסד הנתונים ולאחזר את ההקשר הרלוונטי. זה צריך להיות צעד פשוט.
אנחנו לוקחים את ההקשר שנוצר, מספקים אותו ל-LLM לפי בחירתנו עם שאלת המשתמש הראשונית והוראה כלשהי, ומבקשים מהמודל ליצור סיכום הקשרי ומפורש. לאחר מכן אנו מציגים את הסיכום שנוצר למשתמש כתשובה לשאלה הראשונית, הכל מיושר להקשר שחולץ ממערך הנתונים שלנו.
עבור ה-LLM המעורב בשלב הסיכום, אנו יכולים להשתמש ב-Titan Text Express או ב-Claude Instant. שניהם יציגו אפשרויות טובות למשימת הסיכום.
שילוב יישומים
יכולת הצ'אטבוט של שאלות ותשובות היא אחד משירותי הבינה המלאכותית של Q4. כדי להבטיח מודולריות ומדרגיות, Q4 בונה שירותי AI כשירותי מיקרו הנגישים ליישומי Q4 דרך ממשקי API. גישה זו מבוססת API מאפשרת אינטגרציה חלקה עם מערכת האקולוגית של פלטפורמת Q4 ומקלה על חשיפת יכולות שירותי הבינה המלאכותית לחבילת יישומי הפלטפורמה המלאה.
המטרה העיקרית של שירותי הבינה המלאכותית היא לספק יכולות פשוטות לאחזור נתונים מכל מקור נתונים ציבורי או קנייני תוך שימוש בשפה טבעית כקלט. בנוסף, שירותי הבינה המלאכותית מספקים שכבות נוספות של הפשטה כדי להבטיח שמתקיימות דרישות פונקציונליות ולא פונקציונליות, כגון פרטיות נתונים ואבטחה. התרשים הבא מדגים את מושג האינטגרציה.
אתגרי הטמעה
בנוסף לאתגרים שהציג אופי מערך הנתונים המובנה והמספרי שדיברנו עליהם קודם לכן, התמודדו ברבעון הרביעי עם מספר אתגרי יישום אחרים שיש לטפל בהם.
בחירת LLM וביצועים
בחירת ה- LLM המתאים למשימה היא קריטית מכיוון שהיא משפיעה ישירות על איכות הפלט כמו גם על הביצועים (שהייה הלוך ושוב). להלן כמה גורמים שמשחקים בתהליך הבחירה של LLM:
- סוג של LLM - האופן שבו ה-FMs בנויים והנתונים הראשוניים שעליהם המודל הוכשר מראש קובעים את סוגי המשימות שה-LLM יהיה טוב בהן ועד כמה הוא יהיה טוב. לדוגמה, טקסט LLM יהיה טוב ביצירת טקסט וסיכום, בעוד שמודל טקסט לתמונה או תמונה לטקסט יהיה מכוון יותר לניתוח תמונה ומשימות יצירת.
- גודל LLM - גדלי FM נמדדים לפי מספר פרמטרי הדגם שיש לדגם מסוים, בדרך כלל במיליארדים עבור LLMs מודרניים. בדרך כלל, ככל שהדגם גדול יותר, כך יקר יותר לאימון תחילה או לאחר מכן לכוונן. מצד שני, באופן כללי, עבור אותה ארכיטקטורת מודל, ככל שהמודל גדול יותר, כך אנו מצפים שהוא יהיה חכם יותר בביצוע סוג המשימה אליה הוא מכוון.
- ביצועי LLM - בדרך כלל, ככל שהמודל גדול יותר, ייקח יותר זמן ליצור פלט, בהנחה שאתה משתמש באותם פרמטרי מחשוב ו-I/O (הנחיה וגודל פלט). בנוסף, עבור אותו גודל דגם, הביצועים מושפעים מאוד ממידת האופטימיזציה של ההנחיה שלך, גודל אסימוני ה-I/O והבהירות והתחביר של ההנחיה. הנחיה מהונדסת היטב, יחד עם גודל אסימון קלט/פלט אופטימלי, יכולה לשפר את זמן התגובה של הדגם.
לכן, בעת אופטימיזציה של המשימה שלך, שקול את השיטות המומלצות הבאות:
- בחרו דגם המתאים למשימה שלפניכם
- בחר את גודל הדגם הקטן ביותר שיכול לייצר את הדיוק שאתה מחפש
- בצע אופטימיזציה של מבנה ההנחיות שלך והיה ספציפי ככל האפשר עם ההוראות בצורה שקל להבין את המודל
- השתמש בהודעת הקלט הקטנה ביותר שיכולה לספק מספיק הוראה והקשר כדי לייצר את רמת הדיוק שאתה מחפש
- הגבל את גודל הפלט לגודל הקטן ביותר שיכול להיות משמעותי עבורך ולספק את דרישות הפלט שלך
בהתחשב בגורמי בחירת המודל ואופטימיזציית הביצועים, הלכנו לעבוד כדי לייעל את מקרה השימוש שלנו בדור ה-SQL. לאחר בדיקות מסוימות, שמנו לב שבתנאי שיש לנו את ההקשר וההוראות הנכונות, קלוד אינסטנט, עם אותם נתונים מיידיים, יפיק איכות דומה של SQL כמו קלוד V2 בביצועים ומחיר טובים בהרבה. זה נכון כאשר קלט המשתמש הוא ישיר יותר ופשוט יותר באופיו. עבור קלט מתוחכם יותר, קלוד V2 היה נחוץ כדי לייצר את הדיוק הרצוי.
יישום אותו היגיון על משימת הסיכום הוביל אותנו למסקנה ששימוש ב-Claude Instant או Titan Text Express יפיק את הדיוק הנדרש בנקודת ביצועים הרבה יותר טובה מאשר אם נשתמש בדגם גדול יותר כגון Claude V2. Titan Text Expressed גם הציע מחיר-ביצועים טובים יותר, כפי שדיברנו קודם לכן.
אתגר התזמור
הבנו שיש הרבה מה לתזמר לפני שנוכל לקבל תגובת פלט משמעותית לשאלת המשתמש. כפי שמוצג בסקירת הפתרון, התהליך כלל נסיעות מרובות של מסד נתונים ונסיעות מרובות LLM המשולבות זו בזו. אם היינו בונים מאפס, היינו צריכים להשקיע משמעותית בהרמה הכבדה הבלתי מובחנת רק כדי להכין את הקוד הבסיסי. התחלנו במהירות להשתמש ב-LangChain כמסגרת תזמורת, תוך ניצול הכוח של קהילת הקוד הפתוח ושימוש חוזר במודולים קיימים מבלי להמציא את הגלגל מחדש.
אתגר SQL
הבנו גם שיצירת SQL אינה פשוטה כמו מנגנוני חילוץ הקשר כמו חיפוש סמנטי או שימוש בהטמעות. עלינו לקבל תחילה את סכימת מסד הנתונים וכמה שורות לדוגמה לכלול בהנחיה שלנו ל-LLM. ישנו גם שלב אימות SQL, שבו היינו צריכים ליצור אינטראקציה גם עם מסד הנתונים וגם עם ה-LLM. SQLDatabaseChain היה הבחירה הברורה של הכלי. מכיוון שזה חלק מ-LangChain, זה היה פשוט להתאים אותו, ועכשיו אנחנו יכולים לנהל את יצירת ה-SQL ואת האימות בסיוע השרשרת, ולמזער את כמות העבודה שהיינו צריכים לעשות.
אתגרי ביצועים
עם השימוש ב- Claude V2, ולאחר הנדסה מהירה נכונה (עליה נדון בסעיף הבא), הצלחנו לייצר SQL באיכות גבוהה. בהתחשב באיכות ה-SQL שנוצר, התחלנו לבדוק כמה ערך בעצם מוסיף שלב האימות. לאחר ניתוח נוסף של התוצאות, התברר כי איכות ה-SQL שנוצר הייתה מדויקת באופן עקבי באופן שהפך את העלות/תועלת של הוספת שלב אימות SQL לבלתי חיובית. בסופו של דבר חיסלנו את שלב אימות ה-SQL מבלי להשפיע לרעה על איכות הפלט שלנו וגלחנו את זמן אימות ה-SQL הלוך ושוב.
בנוסף לאופטימיזציה עבור LLM חסכוני יותר בעלות וביצועים עבור שלב הסיכום, הצלחנו להשתמש ב- Titan Text Express כדי להשיג ביצועים טובים יותר ויעילות עלות.
אופטימיזציה נוספת של ביצועים כללה כוונון עדין של תהליך יצירת השאילתות באמצעות טכניקות הנדסה מיידיות יעילות. במקום לספק שפע של אסימונים, ההתמקדות הייתה במתן הכמות הקטנה ביותר של אסימוני קלט, בתחביר הנכון שהמודל מאומן להבין, ועם סט ההוראות המינימלי אך האופטימלי. נדון בזה יותר בסעיף הבא - זה נושא חשוב שישים לא רק כאן אלא גם במקרים אחרים של שימוש.
הנדסה ואופטימיזציה מהירה
אתה יכול להתאים את קלוד ב-Amazon Bedrock למקרי שימוש עסקיים שונים אם נעשה שימוש בטכניקות הנדסיות מהירות. קלוד פועל בעיקר כעוזר שיחה המשתמש בפורמט אנושי/עוזר. קלוד מאומן למלא טקסט לתפקיד העוזר. בהינתן ההוראות וההשלמות המהירות הרצויות, נוכל לייעל את ההנחיות שלנו עבור קלוד באמצעות מספר טכניקות.
אנו מתחילים עם תבנית הנחיה בפורמט תקין שנותנת השלמה חוקית, ואז נוכל לייעל עוד יותר את התגובות תוך ניסוי בהנחיה עם קבוצות שונות של קלט המייצגים נתונים מהעולם האמיתי. מומלץ לקבל תשומות רבות תוך כדי פיתוח תבנית בקשה. אתה יכול גם להשתמש בקבוצות נפרדות של נתוני פיתוח מהיר ונתוני בדיקה.
דרך נוספת לייעל את התגובה של קלוד היא להתנסות ולחזור על ידי הוספת כללים, הוראות ו אופטימיזציות שימושיות. מתוך אופטימיזציות אלה, אתה יכול לראות סוגים שונים של השלמות על ידי, למשל, לומר לקלוד להזכיר "אני לא יודע" כדי למנוע הזיות, חשיבה צעד אחר צעד, שימוש בשרשור מהיר, מתן מקום "לחשוב" תוך כדי יצירת תגובות , ובדיקה כפולה של הבנה ודיוק.
בואו נשתמש במשימת יצירת השאילתות שלנו ונדון בכמה מהטכניקות שבהן השתמשנו כדי לייעל את ההנחיה שלנו. היו כמה מרכיבי ליבה שהיטיבו עם מאמצי יצירת השאילתות שלנו:
- שימוש בתחביר האדם/עוזר הנכון
- שימוש בתגי XML (קלוד מכבד ומבין את תגי XML)
- הוספת הוראות ברורות לדגם למניעת הזיות
הדוגמה הגנרית הבאה מראה כיצד השתמשנו בתחביר האנושי/עוזר, החלנו תגי XML והוספנו הוראות להגביל את הפלט ל-SQL ולהורות למודל לומר "מצטער, אני לא יכול לעזור" אם הוא לא יכול לייצר SQL רלוונטי . תגי ה-XML שימשו למסגרת ההוראות, רמזים נוספים, סכימת מסד נתונים, הסברים נוספים על טבלאות ושורות לדוגמה.
פתרון העבודה הסופי
לאחר שטיפלנו בכל האתגרים שזוהו במהלך הוכחת הרעיון, עמדנו בכל דרישות הפתרון. Q4 היה מרוצה מאיכות ה-SQL שנוצר על ידי ה-LLM. זה נכון למשימות פשוטות שדרשו רק סעיף WHERE כדי לסנן את הנתונים, וגם עם משימות מורכבות יותר שדרשו צבירות מבוססות הקשר עם GROUP BY ופונקציות מתמטיות. השהיה מקצה לקצה של הפתרון הכולל הגיע למה שהוגדר כמקובל במקרה השימוש - שניות חד ספרתיות. כל זה היה הודות לבחירה ב-LLM אופטימלי בכל שלב, הנדסה מהירה נכונה, ביטול שלב אימות ה-SQL ושימוש ב-LLM יעיל לשלב הסיכום (Titan Text Express או Claude Instant).
ראוי לציין ששימוש ב-Amazon Bedrock כשירות מנוהל במלואו והיכולת לקבל גישה לחבילה של LLMs דרך אותו API אפשרו ניסויים ומעבר חלק בין LLMs על ידי שינוי שם הדגם בקריאה ל-API. עם רמה זו של גמישות, Q4 היה מסוגל לבחור את ה-LLM בעל הביצועים הטובים ביותר עבור כל קריאת LLM בהתבסס על אופי המשימה, בין אם זה יצירת שאילתות, אימות או סיכום.
סיכום
אין פתרון אחד שמתאים לכל מקרי השימוש. בגישת RAG, איכות הפלט תלויה מאוד במתן ההקשר הנכון. חילוץ ההקשר הנכון הוא המפתח, וכל מערך נתונים שונה עם המאפיינים הייחודיים שלו.
בפוסט זה, הוכחנו שעבור מערכי נתונים מספריים ומובנים, שימוש ב-SQL כדי לחלץ את ההקשר המשמש להגדלה יכול להוביל לתוצאות טובות יותר. הוכחנו גם שמסגרות כמו LangChain יכולות למזער את מאמץ הקידוד. בנוסף, דנו בצורך להיות מסוגל לעבור בין LLMs באותו מקרה שימוש על מנת להשיג את הדיוק, הביצועים והעלות האופטימליים ביותר. לבסוף, הדגשנו כיצד אמזון Bedrock, בהיותה חסרת שרתים ועם מגוון של LLMs מתחת למכסה המנוע, מספקת את הגמישות הדרושה לבניית יישומים מאובטחים, ביצועים ומותאמים לעלות עם הרמה הנמוכה ביותר של הרמה כבדה.
התחל את המסע שלך לקראת בניית יישומים תומכי בינה מלאכותית על ידי זיהוי מקרה שימוש בעל ערך לעסק שלך. יצירת SQL, כפי שצוות הרבעון הרביעי למד, יכול להיות מחליף משחק בבניית יישומים חכמות המשתלבים עם מאגרי הנתונים שלך, תוך פתיחת פוטנציאל הכנסה.
על המחברים
תאמר סולימן הוא אדריכל פתרונות בכיר ב-AWS. הוא עוזר ללקוחות עצמאיים של ספקי תוכנה (ISV) לחדש, לבנות ולהגדיל ב-AWS. יש לו למעלה משני עשורים של ניסיון בתעשייה בייעוץ, הדרכה ושירותים מקצועיים. הוא ממציא ריבוי פטנטים עם שלושה פטנטים מוענקים וניסיונו משתרע על פני תחומי טכנולוגיה רבים, כולל טלקום, רשתות, שילוב יישומים, AI/ML ופריסות ענן. הוא מתמחה ב-AWS Networking ויש לו תשוקה עמוקה להישענת מכונות, בינה מלאכותית ובינה מלאכותית.
מני חנוג'ה היא מובילה טכנולוגית – מומחי בינה מלאכותית, מחברת הספר – Applied Machine Learning and High Performance Computing on AWS, וחברה במועצת המנהלים של קרן החינוך לנשים בייצור. היא מובילה פרויקטים של למידת מכונה (ML) בתחומים שונים כמו ראייה ממוחשבת, עיבוד שפה טבעית ובינה מלאכותית גנרטיבית. היא עוזרת ללקוחות לבנות, לאמן ולפרוס מודלים גדולים של למידת מכונה בקנה מידה. היא מדברת בכנסים פנימיים וחיצוניים כגון re:Invent, Women in Manufacturing West, סמינרים מקוונים ביוטיוב ו-GHC 23. בזמנה הפנוי היא אוהבת לצאת לריצות ארוכות לאורך החוף.
סטניסלב ישצ'נקו הוא אדריכל תוכנה ב-Q4 Inc. יש לו למעלה מעשור של ניסיון בתעשייה בפיתוח תוכנה וארכיטקטורת מערכות. הרקע המגוון שלו המשתרע על פני תפקידים כמו מוביל טכני ומפתח Full Stack בכיר, מניע את תרומתו לקידום החדשנות של פלטפורמת Q4. סטניסלב מוקדש להנעת חדשנות טכנית ועיצוב פתרונות אסטרטגיים בתחום.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/how-q4-inc-used-amazon-bedrock-rag-and-sqldatabasechain-to-address-numerical-and-structured-dataset-challenges-building-their-qa-chatbot/
- :יש ל
- :הוא
- :לֹא
- :איפה
- $ למעלה
- 100
- 118
- 125
- 15%
- 23
- 7
- a
- יכולות
- יכולת
- יכול
- הפשטה
- שפע
- קביל
- גישה
- נגיש
- חֶשְׁבּוֹן
- דיוק
- מדויק
- להשיג
- לרוחב
- מעשים
- למעשה
- להסתגל
- הוסיף
- מוסיף
- תוספת
- נוסף
- בנוסף
- נוסף
- כתובת
- ממוען
- התאמה
- מתקדם
- מתקדם
- יתרון
- לאחר
- נגד
- סוכנים
- לְקַבֵּץ
- AI
- שירותי AI
- מקרי שימוש
- AI / ML
- מכוון
- ליישר
- מיושר
- תעשיות
- להתיר
- מותר
- לאורך
- גם
- למרות
- am
- אמזון בעברית
- אמזון שירותי אינטרנט
- כמות
- כמויות
- an
- אנליזה
- אנליסטים
- ניתוח
- לנתח
- ניתוח
- ו
- אחר
- לענות
- תשובות
- אנתרופי
- כל
- דבר
- API
- ממשקי API
- ישים
- בקשה
- יישומים
- יישומית
- גישה
- ארכיטקטורה
- ARE
- AS
- לשאול
- נכסים
- עוזר
- סייע
- מבחר
- At
- לְהַגדִיל
- מוגבר
- מחבר
- זמין
- מודע
- AWS
- בחזרה
- רקע
- מבוסס
- בסיסי
- BE
- חוף
- הפך
- כי
- היה
- לפני
- ההתחלה
- התנהגות
- להיות
- האמין
- מועיל
- הטוב ביותר
- שיטות עבודה מומלצות
- מוטב
- בֵּין
- מיליארדים
- לחסום
- אבני
- לוּחַ
- דירקטוריון
- ספר
- בוט
- שניהם
- רוחב
- לשבור
- רחב
- לִבנוֹת
- בִּניָן
- בונה
- נבנה
- עסקים
- אבל
- by
- שיחה
- הגיע
- CAN
- יכול לקבל
- יכולות
- יכולת
- הון
- שוקי הון
- אשר
- מקרה
- מקרים
- שרשרת
- שרשראות
- לאתגר
- האתגרים
- בניית אתגרים
- שינוי
- מחלף
- משתנה
- מאפיינים
- chatbot
- chatbots
- בחירה
- בחרו
- בחירה
- בהירות
- לְנַקוֹת
- ברור
- קרוב יותר
- ענן
- קוד
- סִמוּל
- טור
- משולב
- שילוב
- איך
- הערות
- מסחרית
- להעביר
- תקשורת
- קהילה
- חברות
- חברה
- השוואה
- השלמה
- מורכב
- מורכבות
- הענות
- רכיבים
- לִהַבִין
- לחשב
- המחשב
- ראייה ממוחשבת
- מחשוב
- מושג
- מסכם
- הגיע למסקנה
- מסקנה
- מנוהל
- כנסים
- לְחַבֵּר
- מקשר
- הקשר
- לשקול
- נחשב
- בהתחשב
- באופן עקבי
- מורכב
- מורכב
- לבנות
- ייעוץ
- תוכן
- הקשר
- קשר
- להמשיך
- ברציפות
- תרומות
- מקובל
- שיחה
- המרות
- הומר
- תיאום
- ליבה
- לתקן
- עלות
- יכול
- לִיצוֹר
- קריטי
- CRM
- מכריע
- לקוח
- לקוחות
- יומי
- נתונים
- אגם דאטה
- נקודות מידע
- פרטיות מידע
- פרטיות ואבטחת מידע
- מדע נתונים
- נתונים מונחים
- מסד נתונים
- מערכי נתונים
- תאריכים
- עָשׂוֹר
- עשרות שנים
- החליט
- מחליטים
- מוקדש
- נחשב
- מוגדר
- דרישה
- מופגן
- מדגים
- תלוי
- לפרוס
- פריסות
- לתאר
- המתאר
- רצוי
- מְפוֹרָט
- פרטים
- קובע
- מפתח
- מתפתח
- צעצועי התפתחות
- אחר
- ישיר
- ישירות
- דירקטורים
- לדון
- נָדוֹן
- צלילה
- שונה
- do
- תחום
- תחומים
- לא
- בדיקה כפולה
- מטה
- נהיגה
- ראוי
- בְּמַהֲלָך
- דינמי
- כל אחד
- מוקדם יותר
- קל
- המערכת האקולוגית
- חינוך
- אפקטיבי
- יְעִילוּת
- יעיל
- יעילות
- מאמץ
- מַאֲמָצִים
- או
- אלמנטים
- זכאות
- חיסול
- מתעורר
- מוּעֳסָק
- מאפשר
- סוף
- מקצה לקצה
- הסתיים
- לעסוק
- התעסקות
- הנדסה
- מספיק
- לְהַבטִיחַ
- מְצוּיָד
- שווה
- ESG
- במיוחד
- להקים
- הערכה
- הערכה
- אֲפִילוּ
- אירועים
- כל
- דוגמה
- דוגמאות
- קיימים
- לצפות
- צפוי
- יקר
- ניסיון
- לְנַסוֹת
- ניסויים
- מומחה
- מומחיות
- חקר
- אקספרס
- ביטא
- מאריך
- חיצוני
- תמצית
- הוֹצָאָה
- מתמודד
- מקל
- גורמים
- מהיר
- חִיוּבִי
- אפשרי
- מעטים
- שדה
- שדות
- למלא
- לסנן
- סופי
- בסופו של דבר
- כספי
- מידע פיננסי
- ראשון
- גמישות
- תזרים
- להתמקד
- לעקוב
- הבא
- בעד
- פוּרמָט
- קדימה
- טיפוח
- מצא
- קרן
- מסגרת
- מסגרת
- מסגרות
- חופשי
- החל מ-
- מלא
- מחסנית מלאה
- לגמרי
- פונקציונלי
- פונקציות
- נוסף
- מִשְׂחָק
- משנה משחק
- GDPR
- תאימות ל- GDPR
- מכוונת
- כללי
- ליצור
- נוצר
- מייצר
- יצירת
- דור
- גנרטטיבית
- AI Generative
- לקבל
- מקבל
- לתת
- נתן
- נותן
- נתינה
- Go
- מטרה
- שערים
- טוב
- כמובן מאליו
- גדול
- קְבוּצָה
- גדל
- היה
- יד
- שמח
- יש
- יש
- he
- שבסיסה
- כבד
- הרמת כבד
- לעזור
- עוזר
- לה
- כאן
- גָבוֹהַ
- ביצועים גבוהים
- באיכות גבוהה
- גבוה יותר
- הגבוה ביותר
- מודגש
- פסים
- מאוד
- רמזים
- שֶׁלוֹ
- היסטוריה
- ברדס
- איך
- אולם
- HTTPS
- בן אנוש
- קריא אדם
- i
- רעיון
- מזוהה
- זיהוי
- if
- תמונה
- פְּגִיעָה
- מושפעים
- השפעה
- השפעות
- ליישם
- הפעלה
- יישומים
- יושם
- השלכות
- חשוב
- לשפר
- in
- באחר
- בע"מ
- לכלול
- כולל
- להגדיל
- מצטבר
- עצמאי
- אנשים
- תעשייה
- מידע
- תשתית
- בתחילה
- בהתחלה
- לחדש
- חדשנות
- קלט
- תשומות
- מיידי
- מוסדות
- הוראות
- לשלב
- השתלבות
- בכוונת
- אינטראקציה
- יחסי גומלין
- פנימי
- שזורים
- אל תוך
- אינטואיטיבי
- השקעה
- משקיע
- משקיעים
- מעורב
- מנפיקים
- ISV
- IT
- שֶׁלָה
- מסע
- jpg
- רק
- שמור
- מפתח
- יודע
- ידע
- ידוע
- מעבדות
- אגם
- נוף
- שפה
- גָדוֹל
- גדול יותר
- אחרון
- לבסוף
- חֶבִיוֹן
- מאוחר יותר
- שכבות
- עוֹפֶרֶת
- מוביל
- מוביל
- למד
- למידה
- הכי פחות
- הוביל
- שיעורים
- הפקת לקחים
- רמה
- רמה
- כמו
- אוהב
- LLM
- הגיון
- לונדון
- ארוך
- נראה
- הסתכלות
- מגרש
- מכונה
- למידת מכונה
- עשוי
- ראשי
- בעיקר
- זרם מרכזי
- לתחזק
- שמירה
- לעשות
- עושה
- לנהל
- הצליח
- ניהול
- ייצור
- רב
- שוק
- ניתוח שוק
- נתוני מסחר
- שוקי
- מתאים
- מתימטי
- מאי..
- משמעותי
- התכוון
- מנגנוני
- לִפְגוֹשׁ
- חבר
- נפגש
- meta
- מידע נוסף
- שיטה
- מֵתוֹדוֹלוֹגִיָה
- מיקרו
- מינימלי
- מזעור
- לערבב
- ML
- מודל
- מודלים
- מודרני
- מודולים
- יותר
- רוב
- בעיקר
- נע
- הרבה
- רב
- מספר
- שם
- יליד
- טבעי
- עיבוד שפה טבעית
- טבע
- הכרחי
- צורך
- נחוץ
- באופן שלילי
- רשתות
- חדש
- ניו יורק
- הבא
- לא
- הערות
- וציין
- עַכשָׁיו
- מספר
- מספרים
- מטרה
- ברור
- of
- כבוי
- מוצע
- המיוחדות שלנו
- קצינים
- משרדים
- לעתים קרובות
- on
- ONE
- רק
- לפתוח
- קוד פתוח
- אופטימלי
- אופטימיזציה
- מטב
- אופטימיזציה
- מיטוב
- אפשרויות
- or
- תזמור
- תזמור
- להזמין
- מְקוֹרִי
- אחר
- שלנו
- תפוקה
- יותר
- מקיף
- סקירה
- מכריע
- שֶׁלוֹ
- בבעלות
- בעלות
- פרמטרים
- חלק
- מסוים
- עבר
- תשוקה
- פטנט
- פטנטים
- נתיב
- לְבַצֵעַ
- ביצועים
- ביצוע
- לבחור
- חתיכות
- פלטפורמה
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- לְשַׂחֵק
- נקודה
- נקודות
- חיובי
- אפשרי
- הודעה
- פוטנציאל
- כּוֹחַ
- כוחות
- פרקטיקות
- מועדף
- להציג
- מוצג
- למנוע
- מחיר
- עקרונות
- פְּרָטִיוּת
- פרטיות ואבטחה
- תהליך
- תהליך
- לייצר
- מיוצר
- מוצרים
- מקצועי
- עמוק
- פּרוֹיֶקט
- פרויקטים
- הנחיות
- הוכחה
- הוכחה של רעיון או תאוריה
- תָקִין
- קניינית
- הוכיח
- לספק
- ובלבד
- מספק
- מתן
- ציבורי
- חברות ציבוריות
- בפומבי
- מטרה
- גם
- שאלות ותשובות
- איכות
- שאילתות
- שאלה
- מהירות
- ציטוטים
- דירוג
- במקום
- RE
- מוכן
- עולם אמיתי
- הבין
- לקבל
- מוּמלָץ
- רשום
- התייחסות
- מוסדר
- יחסים
- קשר
- רלוונטי
- דוחות לדוגמא
- נציג
- המייצג
- מייצג
- לדרוש
- נדרש
- דרישות
- משאב
- נִכבָּד
- מכבד
- תגובה
- תגובות
- לְהַגבִּיל
- תוצאות
- הכנסה
- לחזור
- ביקורת
- תקין
- סיכונים
- תפקיד
- תפקידים
- חֶדֶר
- עגול
- כללי
- הפעלה
- פועל
- אותו
- מרוצה
- מרוצה מ
- שמור
- לומר
- בקרת מערכות ותקשורת
- סולם
- מדע
- לגרד
- בצורה חלקה
- בצורה חלקה
- חיפוש
- שְׁנִיָה
- שניות
- סעיף
- לבטח
- אבטחה
- לִרְאוֹת
- מבחר
- סלרס
- לשלוח
- לחצני מצוקה לפנסיונרים
- תחושה
- נפרד
- סדרה
- ללא שרת
- שרות
- שירותים
- סט
- סטים
- כמה
- מעצבים
- בעל מניות
- בעלי המניות
- היא
- צריך
- הראה
- הראה
- הופעות
- משמעותי
- פָּשׁוּט
- פשוט יותר
- פשוט
- לפשט
- מפשט
- יחיד
- מידה
- גדל
- קטן יותר
- חכם
- חכם יותר
- תוכנה
- פיתוח תוכנה
- פִּתָרוֹן
- פתרונות
- כמה
- מתוחכם
- מָקוֹר
- מקורות
- מתח
- משתרע
- מדבר
- מומחים
- מתמחה
- ספציפי
- במיוחד
- יציבות
- לערום
- התמחות
- הימור
- לעמוד
- עומד
- התחלה
- החל
- החל
- הצהרה
- להשאר
- שלב
- צעדים
- מניות
- שוק המניות
- מאוחסן
- חנויות
- פשוט
- אסטרטגי
- מִבְנֶה
- מובנה
- כתוצאה מכך
- הצלחה
- בהצלחה
- כזה
- מספיק
- מַתְאִים
- מערכת
- לסכם
- סיכום
- תמיכה
- תומך
- מעקב
- מתג
- תחביר
- מערכת
- שולחן
- מותאם
- לקחת
- משימות
- לוקח
- נטילת
- המשימות
- משימות
- נבחרת
- טק
- טכני
- טכניקות
- טכנולוגיה
- טלקום
- אומר לי
- תבנית
- מבחן
- בדיקות
- בדיקות
- טֶקסט
- מֵאֲשֶׁר
- תודה
- זֶה
- השמיים
- עיר הבירה
- שֶׁלָהֶם
- אז
- שם.
- אלה
- הֵם
- חושב
- זֶה
- שְׁלוֹשָׁה
- דרך
- בכל
- זמן
- סדרת זמן
- פִּי
- עֲנָק
- ל
- של היום
- יַחַד
- אסימון
- מטבעות
- גַם
- כלי
- כלים
- נושא
- טורונטו
- לקראת
- רכבת
- מְאוּמָן
- הדרכה
- עסקה
- עסקות
- הפיכה
- טיול
- נָכוֹן
- סומך
- תור
- שתיים
- סוג
- סוגים
- בדרך כלל
- לא מסוגל
- תחת
- בְּסִיסִי
- להבין
- הבנה
- מבין
- הבין
- ייחודי
- נעילה
- מְיוּתָר
- us
- להשתמש
- במקרה להשתמש
- מְשׁוּמָשׁ
- משתמש
- ידידותי למשתמש
- באמצעות
- מנצל
- תקף
- אימות
- ערך
- מגוון
- שונים
- מוכר
- אימות
- מְאוּמָת
- לאמת
- מאוד
- בַּר חַיִים
- לצפיה
- וירטואלי
- חזון
- ללכת
- רציתי
- היה
- דֶרֶך..
- we
- אינטרנט
- שירותי אינטרנט
- סמינרים
- אתר
- טוֹב
- הלכתי
- היו
- מערב
- מה
- גַלגַל
- מתי
- ואילו
- אשר
- בזמן
- יצטרך
- עם
- בתוך
- לְלֹא
- נשים
- מילים
- תיק עבודות
- עבד
- זרימת עבודה
- עובד
- ראוי
- היה
- לכתוב
- לכתוב קוד
- XML
- עוד
- york
- אתה
- YouTube
- זפירנט