עופר הלמן,
Data & AI Tech-Lead, Kaltura
המאבק על ממשק המשתמש האינטרנטי – הערכת תשתיות פייתון לצורך יצירת אבטיפוסים של בינה מלאכותית (AI Prototyping)
2023-10-04
•
6 דקות קריאה
בחודשים האחרונים, שירותי בינה מלאכותית (AI) כמו ChatGPT פרצו אל הזירה הטכנולוגית תוך שהם משנים דרמטית את האופן שבו רבים מאיתנו עובדים ויוצרים. כלי AI עוצמתיים אלה של חברות כמו Anthropic, OpenAI ואחרות, נתנו לכולם, סטודנטים, מתכנתים ומשווקים כאחד, יכולת חדשה ומדהימה לייצר טקסטים וקוד הדומים לכאלה שנוצרו בידי אדם, וזאת באמצעות הנחיה פשוטה אחת.
עם זאת, ראויה לציון ככל שתהיה טכנולוגיה חדשה זו, היא מגיעה גם עם מגבלות וסיכונים משמעותיים שאנו עדיין לומדים איך לטפל בהם בצורה נכונה. אחת הבעיות העכשוויות המשפיעות ביותר הקשורות ל-AI כמו ChatGPT היא הנטייה שלו "להזות", כלומר, להמציא מידע מתקבל על הדעת לכאורה, אך שלמעשה אינו נכון או חסר היגיון, אם הוא אינו יודע למעשה את התשובה לשאלה כלשהי. התוצאה עשויה להיות תוכן מהימן לכאורה, אך שלמעשה אינו מדויק, שיש לו פוטנציאל להוליך אנשים שולל או להזיק למשתמשים אם הם יסתמכו עליו באופן עיוור, ללא פיקוח אנושי.
כמהנדסי למידת מכונה ובינה מלאכותית, עמיתיי ואני עובדים קשה כדי לעזור לחברה שלנו למנף בהצלחה את הכלים החדשים העוצמתיים אך הלא-מושלמים הללו. העבודה שלנו היא למצוא דרכים יצירתיות לשלב AI במוצרים ותהליכי העבודה שלנו, תוך מקסום היעילות, הדיוק והמהירות, אך בה-בעת גם לפתח הגנות אפקטיביות למניעת הזיות ושגיאות אחרות.
יצירת אבטיפוסים וניסויים ב-AI
לאחרונה, Kaltura ערכה ניסיונות בטכנולוגיות AI שונות כדי להטמיע אותן במוצרים שלה.
דוגמה אחת היא מנוע חיפוש וידאו היכול לשמש למציאת מידע ספציפי בתוך סרטי וידאו. זה התאפשר על ידי GenAI, אשר מאפשר ל-Kaltura לבנות בקלות רבה יותר מנועי חיפוש למטרות מיוחדות.
באופן כללי, Kaltura מכוונת להשתמש ב-AI כדי לשפר את מוצריה ושירותיה על ידי הפיכתם ליותר אפקטיביים, מרתקים וידידותיים למשתמש (כמובן שאנו לא משתמשים בנתוני לקוח כלשהם כדי לאמן את כלי ה-AI).
העמדת כלים אינטרנטיים במבחן לצורך הוכחת ההיתכנות של AI
כמהנדסי תוכנה, עלינו להישאר מעודכנים בנוגע לטכנולוגיות מתהוות ולהבין כיצד ליישם אותן לצרכים המתפתחים של מוצרים שונים. לצורך הדגמת היכולות היוצרות החדשות של ה-AI, עלינו לבנות מהר הוכחות היתכנות מקצה-לקצה.
תוך בחינת כלי ממשק המשתמש האינטרנטיים כדי לבדוק טכנולוגיות חדשות, לנסות תהליכי עבודה חדשים ולהציג ניסויים בתחום ה-AI באמצעות ממשקים והדגמות משכנעים, חיפשתי אופציות שיענו על כמה קריטריונים עיקריים:
- קל ומהיר ללמידה: מצמצם למינימום את זמן הלימוד הנדרש כדי להתחיל לעבוד עם התשתית.
- מכיל מאפיינים מלאים: כולל את המגוון הפונקציונלי המלא הנדרש כדי לבנות יישומי front-end חזקים.
- חווית פיתוח נעימה: הופך את היצירה, הבדיקה וההפצה של יישומים לאינטואיטיבית וחלקה.
- תמיכה קהילתית רחבה: מכיל בסיס משתמשים פעיל לשאלת שאלות ומציאת רכיבים שנבנו מראש.
- אפשרויות להפצה ואחסון בענן: כולל את האפשרות לפרסם ולאחסן יישומים בקלות.
כדי להעריך באופן מעשי מסגרות שונות, יצרתי צ'אטבוט להוכחת היתכנות, שמסוגל לחפש באינטרנט ולספק תוצאות רלוונטיות (SearchBot). לצורך הערכה זו בחנתי את אפשרויות ממשק המשתמש האינטרנטי הבאות, וזאת על ידי שימוש מעשי בכל אחת מהן במשך כמה שעות:
- Streamlit
- Gradio
- Taipy
- Shiny
- Datapane
לכל אחת מהן הסתמכתי על קטעי קוד הנמצאים אונליין, תיעוד ומשאבים זמינים אחרים. בתוך מסגרת הזמן המוגבלת, המטרה שלי לא הייתה ללמוד לעומק כל פלטפורמה, אלא לאמוד את הפוטנציאל לייצור מהיר של יישום AI demo פשוט אך תפקודי.
הערכה מעשית זו סייעה לי לגלות אילו מסגרות אפשרות לנוע הכי מהר ממצב של דף חלק ליצירת אבטיפוס ראשוני. אמנם זה לא היה סקירה טכנית מקיפה ומלאה, עדיין זה נתן לי תובנות חשובות ביחס לאפשרויות שעשויות להתאים ביותר לפיתוח ואיטרציה בקצב מהיר של יישום AI.
Streamlit
Streamlit היא תשתית מבוססת פייתון לבניית יישומי אינטרנט עבור למידת מכונה ומדעי נתונים. זוהי ספריית קוד פתוח חינמית המאפשרת לכם ליצור ולשתף בקלות יישומי אינטרנט אינטראקטיביים ישירות מסקריפטים של פייתון. היא מייתרת את הצורך בלמידת קוד JavaScript מסובך עם טקסטים תיאוריים, פלטי מודל, הדמיות נתונים ואלמנטים של ממשק משתמש. Streamlit ידידותית למשתמש, בטוחה, מהירה לפיתוח ולהפצה.
ל-Streamlit יש קהילה גדולה וצומחת, שבה ישנן אלפי שאלות ותשובות ב - StackOverflow, המאפשרת גישה לדוגמאות וקטעי קוד.
חלק מן היתרונות העיקריים שמצאתי ב-Streamlit:
- מהירה להתחלה וללמידה: ממשק תכנות היישומים הוא אינטואיטיבי עם תיעוד מעולה.
- פיתוח קוד פתוח פעיל, כולל תמיכה חלקה שנוספה לאחרונה עבור LangChain ומודלי שפה גדולים (LLM) אחרים.
- טעינה מחדש של היישום בלייב תוך כדי עריכת הקוד: השינויים מופיעים מייד בדפדפן.
- הפצה חסרת תקלות בענן של פרויקטים ציבוריים ב-GitHub תוך דקות ספורות.
ל-Streamlit יש חיסרון אחד בולט, שהוא מבצע עיבוד גרפי מחדש של כל היישום בכל פעם שנעשה שינוי בנתונים, מה שיכול לגרום לאיטיות מסוימת ביישומים גדולים. אבל באופן כללי, Streamlit מעניקה תשתית מצוינת עם הוצאות תקורה מינימליות לבנייה ואיטרציה מהירה של כל יישומי הדמו של AI.
Taipy
Taipy היא ספריית קוד פתוח בפייתון שנועדה לבנות את ה-front-end וה-back-end של היישומים שלך. ממשק המשתמש הגרפי (GUI) של Taipy הוא אחד המרכיבים של Taipy שנועד ליצור יישומים אינטרנטיים במהירות. Taipy מביאה את שיטות העבודה שהוכחו כיעילות ביותר במונחים של ניתוח מה-אם, יחד עם מודול ניהול תהליכים עוצמתי וכן גישת ניטור KPI אינטואיטיבית.
מערכת Taipy מציעה יכולות ייחודיות מעבר לפיתוח ממשק משתמש אינטרנטי, ובזכותן היא שווה בדיקה. בנוסף לתשתית ה-Front-end שלה, היא כוללת את Taipy Core - מודול לתזמון (בדומה ל Airflow), אשר מדגים תזרימי עבודה בעזרת גרפים מכוונים חסרי מעגלים (DAGS), שמירה זמנית (caching), מעקב ועוד.
עם זאת, נראה כי Taipy עדיין בשלבי התבגרות מוקדמים יחסית לאלטרנטיבות. במשך הבדיקות שערכתי, חלק מן התיעוד ודוגמאות הקוד הצביעו על Streamlit ולא על Taipy. לא הצלחתי למצוא דוגמאות צ'אטבוט מוכנות או ליצור אחת בעצמי במהירות תוך כמה שעות של מחקר.
Taipy API משתמש בשילוב של Markdown, HTML ו-Python, תוך מתן שליטה רבה יותר בעיצוב מאשר פייתון לבד, אך ייתכן שזהו ממשק תכנות יישומים פחות אינטואיטיבי עבור מפתחים ללא מומחיות בפיתוח אינטרנטי.
Taipy מציעה טעינה מחדש אוטומטית שמאפשר פיתוח זריז יותר. עם זאת, גיליתי שהטעינה מחדש בלייב היא איטית יחסית לאופציות האחרות.
באופן כללי, Taipy נראית מבטיחה בחיבור בין פיתוח UI, תזמון של תזרימי העבודה, וביצועי למידת מכונה (ML). נראה שהיא עדיין בשלבים המוקדמים יחסית של בשלות.
בשביל מפתחים שמתמקדים אך ורק בבניית חוויות אינטרנטיות נהדרות ליישומי AI demo, אפשרויות אחרות כמו Streamlit מציעות כיום דרך מהירה יותר לפרודוקטיביות על בסיס גודל קהילה ואיכות התיעוד. סט המאפיינים הרחב יותר של Taipy עשוי להוות מוקד משיכה לצוותים שצריכים לבצע תזמון ולעקוב אחרי תהליכי למידת מכונה מורכבים. שווה לעקוב אחרי ההתקדמות של Taipy ככל שקהילת המשתמשים צומחת וגדלה.
Gradio
Gradio היא ספריית קוד פתוח של פייתון אשר מאפשרת לכם ליצור במהירות רכיבי UI ניתנים להתאמה אישית סביב מודלי למידת המכונה שלכם, רשתות הנוירונים ופונקציות נוספות.
ספריית ה-Gradio של Hugging Face הפכה לאופציה מובילה לבנייה מהירה של ממשקי משתמש אינטרנטיים למודלים של AI. בעיניי, ה-API אינטואיטיבי מאוד - יכולתי להתאים בקלות דוגמת צ'אטבוט לתוך בוט החיפוש מותאם אישית שהייתי זקוק לו, על ידי שינוי כמה שורות קוד פייתון בלבד.
האינטגרציה החלקה של Gradio עם Hugging Face Transformers וספריות למידת מכונה אחרות הופך את החיבור של ממשקי משתמש למודלים עוצמתיים מאומנים-מראש לפשוט וברור. עם פלטפורמת המרחבים המשולבים של Hugging Face, גם אפליקציות אחסון (hosting) נראות פשוטות, אם כי לא בדקתי זאת באופן אישי.
Gradio נהנית מקהילת משתמשים הצומחת במהירות. ספריית הכלים של Gradio, מספקת עטיפות נוחות לאינטגרציה הדוקה יותר עם LangChain ויכולות AI מודרניות אחרות.
אחרי הבדיקות שערכתי, אני מאמין ש-Gradio מספקת תשתית חזקה לצורך פיתוח, הפצה ואיטרציה מהירה של מודלי AI על ממשקים אינטרנטיים. ה-API מעוצב בקפידה. עם הגיבוי והתמיכה הקהילתית הנרחבים של Hugging Face, פלטפורמת Gradio נותנת מקום בשל ואמין להצגה של AI באמצעות יישומים אינטרנטיים אינטואיטיביים.
הייתי מרגיש בטוח לבנות על Gradio לצורך ייצור, לא רק לאבטיפוסים. המשאבים הרבים והתמיכה הנרחבת הקיימים, עוזרים גם להתגבר מהר על כל מכשולים הצצים לאורך הדרך.
Shiny
Shiny מבטיחה יישומים אינטרנטיים קלים למדע הנתונים ללא פשרות. אמנם לא הצלחתי לגרום ל-Shiny ליישם את פונקציונליות בוט החיפוש המדויקת שרציתי בפרק הזמן המוגבל שהוקצה לכך, אך גיליתי שספריית ה-chatstream החיצונית סיפקה דוגמאות ותבניות שימושיות לצ'אטבוט. אילו היה לי יותר זמן לעבוד עליהן, אני מאמין ש-Shiny יכלה לתמוך בבניית גרסת ההדגמה שהתכוונתי לבנות.
ההרגשה בשימוש בממשק תכנות היישומים העיקרי של Shiny הייתה שהוא קצת יותר מאתגר לתחזק ולהרחיב בהשוואה לאופציות אחרות, כיוון שנדרש בו להטמיע אלמנטים של UI בתוך כל מיני אובייקטים וקונטיינרים (container and layout objects). עם זאת, Shiny כן נותנת יתרונות ביצועיים, שכן מתבצע בה רק עיבוד גרפי (rendering) של רכיבי UI התלויים בשינויי נתונים, ובכך מתאפשרת רספונסיביות כוללת הרבה יותר מהירה.
Shiny מאפשרת שליטה באלמנטים של HTML ישירות דרך פייתון, ובכך תומכת בפיתוח זריז. ישנה גם אפשרות חינמית לאחסון בענן ב-https://www.shinyapps.io/ לצורך הפצת יישומים בקלות.
לסיכום, בעוד ממשק תכנות היישומים של Shiny עשוי לכלול עקומת למידה ראשונית תלולה יותר, הרי שהיתרונות הביצועיים של שליטת HTML מבוססת פייתון ושל אחסון חינמי הופכת את Shiny לפלטפורמה ששווה לשקול אותה, במיוחד עם ספריות עזר כמו chatstream. הדוגמאות והתבניות הקיימות מסוגלות להתגבר על המכשולים הראשוניים הכרוכים בהתחלת העבודה.
אמנם זו לא הייתה הפלטפורמה המתאימה ביותר להכנה מהירה של גרסת ההדגמה הספציפית שלי, אך Shiny היא עדיין מסגרת בעלת יכולת ליצירת יישומים אינטרנטיים אינטראקטיביים חזקים בפייתון.
מסקנות
בהערכה שביצעתי למסגרות אינטרנטיות שונות בפייתון לפיתוח מהיר של יישומי דמו של AI התגלו הדברים הבאים:
- Streamlit ו-Gradio הן מלוטשות וקלות לשימוש, ויש להן סטים מלאים של מאפיינים. בשתי המסגרות ניתן להשתמש כדי ליצור אבטיפוס פונקציונלי של צ'אטבוט במהירות. Streamlit היא קצת יותר אינטואיטיבית ומחוץ לקופסה, בעוד Gradio מצטיינת ביתרון של אינטגרציה הדוקה עם Hugging Face.
- Taipy נראית מבטיחה, במיוחד לצוותים הזקוקים גם ל-UI וגם ליכולות צינור איסוף נתונים ללמידת מכונה. עם זאת, היא נמצאת בשלב פיתוח מוקדם יותר מאשר Streamlit ו-Gradio. שווה לעקוב אחרי התפתחות האקוסיסטם של Taipy.
- Datapane זו בחירה מצוינת לחקר והדמיית נתונים, אבל היא פחות ממוטבת לבניית יישומים אינטרנטיים דינמיים מאוד. לצורך בניית אבטיפוסים של AI מתאימות יותר אפשרויות אחרות כמו Streamlit.
- Shiny מספקת מסגרת רבת עוצמה, אך סביר שייקח יותר זמן ללמוד את כל היכולות שלה. ייתכן שהיא עדיפה ליישומים גדולים ומורכבים יותר מאשר יצירת אבטיפוסים מהירים.
באופן כללי, לכל מסגרת יש חוזקות ההופכות אותה למתחרה חזקה בזכות עצמה למקרי שימוש שונים.
התנסות ישירה זו גילתה גורמים מרכזיים שיש להביאם בחשבון כשבוחרים מסגרת אינטרנטית לצורך פיתוח ואיטרציה מהירים של יישומי AI. ערכת הכלים הנכונה יכולה להאיץ את התהליך של לקיחת רעיון משלב הגייתו ועד להכנת אבטיפוס ראשוני מהר ובאופן אינטואיטיבי.
שתפו את הבלוג:
Startup for Startup אישי
קבלו עדכונים על הנושאים שהכי מעניינים אתכם
שלי Startup for Startup
קבלו עדכון ישר למייל ברגע שיוצא תוכן חדש בנושא.
הירשמו לאיזור האישי
צרו פרופיל אישי באתר ותוכלו להתחבר לאחרים ואחרות, לקבל תכנים מותאמים אישית, ולשמור את התכנים שהכי מעניינים אתכם.
עוד תוכן בנושא:
פודקאסט
7 דק'
04/2025
בקצרה - איך פונים למשקיעים (ואיך לא) בעזרת AI
תהליך גיוס ההון לסטארטאפים צעירים הוא מטבעו תהליך מורכב, תובעני, ולעיתים גם מתסכל. בעידן שבו כלי AI הופכים לחכמים ונגישים יותר, יזמים יכולים להיעזר בהם כדי לייעל את הפנייה למשקיעים, ממחקר שוק וניתוח פרסונות משקיעים, דרך כתיבת מצגות ומיילים מותאמים אישית, ועד סימולציה של שאלות מראיונות השקעה. אבל לצד כל ההזדמנויות, חשוב לזכור: משקיעים מזהים …
בלוג
5 דק'
04/2025
AI evals: תפקידו החדש של מנהל המוצר?
פודקאסט
5 דק'
04/2025
בקצרה: איך בונים מוצר GenAI שמשרת לקוחות קצה יום-יום בארגוני B2C
דרך הסיפור של ״אלה״, הבנקאית הדיגיטלית של ONE ZERO, נבחן כיצד ניתן ליצור ערך אמיתי ללקוחות באמצעות אימון פנימי וחיצוני, גישה מודולרית לשיפור מתמיד, ומעקב חכם אחר ביצועי המערכת.
בלוג
3 דק'
04/2025
זכויות יוצרים על תוצרים של בינה מלאכותית: האם אתם בעלי זכות יוצרים ביצירה
פודקאסט
20 דק'
04/2025
מה מנהלי מוצר יכולים ללמוד מהמוצר הכי ויראלי בשוק? מחשבות על Base44
בפרק הזה אנחנו צוללים להצלחה של Base 44, מנתחים איך כלים מבוססי AI משנים את הדרך שבה בונים מוצרים, ואיזה תובנות מנהלי ומנהלות מוצר יכולים לקחת לעבודה היומיומית שלהם. נדבר על הדרך לקיצור הזמן עד לרגע קבלת הערך עבור המשתמשים, על תמחור חכם, ויראליות מובנית, וגם על האתגרים שבאים עם הצמיחה המהירה. האזינו לפרק באתר
בלוג
4 דק'
03/2025
סוכני AI: איך הסטרטאפ שלכם יכול לנצל את הטכנולוגיה לקידום המכירות?
פודקאסט
33 דק'
03/2025
פרודקטיבי: איך עוזרים למשתמשים שלנו להתחיל, או: מה עושים עם בעיית הדף הלבן? (רזיאל איינהורן, Pecan AI)
איך יודעים שהפתרון שלנו עובד? למה לפעמים חוויה קלה מדי דווקא עלולה לפגוע בהבנה של המשתמשים? מה אפשר ללמוד מחוויות Co-pilot ואיך ליישם אותן נכון?
וידאו
34 דק'
02/2025
Trends in Fundraising: What Investors Look For in the Age of AI (Gigi Levi-Weiss)
וידאו
18 דק'
02/2025
Building companies with AI agents (Mickey Haslavsky)
וידאו
37 דק'
02/2025
Fireside Chat - Everything AI (Adi Soffer Teeni & Gigi Levy-Weiss)
וידאו
02/2025
איך משקיעים אמריקאים רואים השקעות בטכנולוגיות AI?
פודקאסט
29 דק'
02/2025
פרודקטיבי: איך עושים Discovery נכון בעולמות ה-Gen AI? (אבירם מרום, Riverside)
אנחנו מדבירם על איך בונים פיצ׳רים שימושיים ולא רק גימיקים, מתי כדאי לשחרר מוצר לא מושלם כדי ללמוד מהיוזרים, ואיך מוצאים את הבעיות הכואבות באמת בתוך שפע האפשרויות החדשות.
הניוזלטר שלנו
הירשמו וקבלו עדכונים על פרקים חדשים, כתבות, אירועים ועוד הפתעות!
רוצים לקחת חלק בשיתוף ידע?
אם גם אתם רוצים להצטרף למשימה שלנו להעשיר את האקוסיסטם בידע ותובנות, אם אתם רוצים לשאול אותנו משהו, אם אתם מרגישים שיש משהו שעזר לכם וכולם צריכים לדעת, נשמח לשמוע.
Startup for Startup