מדריך: בניית עוזר דיגיטלי (AI) באמצעות ASSISTANT API של OpenAI ב- make.

עוזר דיגיטלי.png


כדי ליצור ולהשתמש בעוזר דרך ה-API , התהליך כולל שלבים אלו:

יצירת עוזר (Assistant): יצירת עוזר חדש דרך ה-API, כאשר מגדירים שם, הוראות ומודל. (אפשר גם ישירות בממשק)

יצירת נושא (Thread): יצירת נושא חדש, שישמש כבסיס לשיחה עם העוזר.

הוספת הודעה לנושא: שליחת הודעה לנושא, כדי להתחיל את השיחה או לבקש מידע מהעוזר.

יצירת ריצה (Run): יצירת ריצה כדי לקבל תגובה מהעוזר. זה מציין לעוזר לקרוא את ההודעות בנושא ולפעול.

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

קבלת תגובות מהעוזר: בדיקת התגובות שהעוזר הוסיף לנושא לאחר הריצה.

בעת יצירת עוזר (ניתן גם לעדכן אחר כך) ב-API , אפשר להוסיף כלים כגון:

Code Interpreter: מאפשר לעוזר להריץ קוד ולהחזיר תוצאות.
Retrieval: מאפשר לעוזר לחפש ולהחזיר מידע ממקורות חיצוניים.
Functions: מאפשר להגדיר פונקציות מותאמות אישית שהעוזר יכול להשתמש בהן.
בנוסף, ניתן לשייך קבצים (Files) לעוזר, שיהיו זמינים לו לשימוש במהלך השיחה.

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

וכמובן שיש עוד הרבה אפשריות ופרמטרים שניתן להוסיף...


ובצורה מפורטת יותר:

יצירת עוזר דרך ה-API של OpenAI, אתה יוצר עוזר וירטואלי שמותאם לצרכים ולפונקציונליות שאתה רוצה:

יצירת העוזר:

  1. מודל (Model): זהו היסוד הבסיסי של העוזר. אתה בוחר מודל מהרשימה הזמינה (כגון GPT-4), שישמש כבסיס ליכולות של העוזר.
  2. שם (Name): זהו שם העוזר, שיכול להיות כל טקסט שתבחר, עד 256 תווים.
  3. תיאור (Description): תיאור מפורט של העוזר, מה הוא עושה, ואיך הוא יכול לעזור.
  4. הוראות (Instructions): זהו טקסט המנחה את העוזר איך לפעול, לדוגמה, "השב בקצרה" או "השתמש בנתונים מסוימים".
  5. כלים (Tools): כאן אתה יכול להוסיף כלים שונים, כמו מתרגם קוד, כלי לחיפוש מידע, או פונקציות מותאמות אישית. כל כלי מביא יכולת נוספת לעוזר.
  6. קבצים (File IDs): אם יש לך קבצים שתרצה שהעוזר יוכל להשתמש בהם, אתה יכול לצרף אותם כאן.
  7. מטא-דאטה (Metadata): זהו מקום לאחסון מידע נוסף בפורמט מפתח-ערך. לדוגמה, יכול להיות מידע על התחום שבו העוזר מתמקצע.
ביצירת העוזר, אתה יוצר ישות דיגיטלית שתוכל להשתמש בה למגוון פעולות, מתשובה על שאלות ועד לביצוע פונקציות מורכבות.







יצירת נושא והרצה:

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

יצירת נושא (Thread) והרצתו (Run) בבקשה אחת ב-OpenAI. המידע מתאר את גוף הבקשה עם הפרמטרים הבאים:

  • assistant_id: מזהה חובה של העוזר שיבצע את הריצה.
  • thread: מכיל הודעות ליצירת דיאלוג, כאשר כל הודעה כוללת:
    • role: תפקיד השולח (למשל 'user').
    • content: תוכן ההודעה.
  • file_ids: מזהים של קבצים קשורים לנושא.
  • metadata: מידע נוסף בפורמט מפתח-ערך שניתן לצרף לאובייקט.
  • model: מזהה של מודל ספציפי לעיבוד הבקשה, אם מסופק משנה את המודול המוגדר.
  • instructions: הוראות לעוזר, שיכולות לשנות את התנהגותו.
  • tools: כלים ספציפיים שהעוזר יכול להשתמש בהם במהלך הריצה.
השימוש ב-API זה יוצר תקשורת ממוקדת ויעילה עם העוזר, מאפשר להתאים אותו לצרכים מסוימים ולהשיג תוצאות מהירות ומדויקות.

תגובת הapi:

  • id: מזהה ייחודי של הריצה.
  • object: סוג האובייקט, במקרה זה "thread.run".
  • created_at: חותמת זמן של יצירת הריצה.
  • assistant_id: מזהה העוזר המשתתף בריצה.
  • thread_id: מזהה הנושא של הדיאלוג.
  • status: מצב הריצה, למשל "queued" (בתור).
  • started_at: זמן התחלת הריצה, אם החלה.
  • expires_at: זמן פקיעת הריצה.
  • cancelled_at: זמן ביטול הריצה, אם בוטלה.
  • failed_at: זמן כישלון הריצה, אם נכשלה.
  • completed_at: זמן סיום הריצה, אם הושלמה.
  • last_error: מידע על השגיאה האחרונה, אם קיימת.
  • model: המודל שנמצא בשימוש.
  • instructions: הוראות לעוזר.
  • tools: רשימת כלים שנמצאים בשימוש, כל אחד עם פרטים נוספים.
  • file_ids: מזהי קבצים קשורים לריצה.
  • metadata: מידע נוסף בפורמט מפתח-ערך.








בדיקת סטטוס ריצה:

להשיג מידע על הריצה שנעשתה על ידי עוזר. היא מציינת את זהות הנושא (thread) ואת זהות הריצה (run), ומצפה לקבל פרטים על מה שקרה במהלך אותה ריצה.

  • thread_id (חובה): המזהה של הנושא (thread) שאתה רוצה לאחזר ממנו הודעות.
  • run_id (חובה): המזהה של הריצה.

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

  • In Progress, Cancelled, Failed, Completed, Expired: מצבים שונים של הריצה, מהתהליך עד לסיומו.
  • Requires Action ו-Submit Tool Outputs: התהליך דורש פעולה כגון שליחת תוצאות מכלים.

המאפיין "status" באובייקט "run step" מייצג את מצב הביצוע של השלב הנתון בתהליך הריצה. הוא יכול לקבל אחד מהערכים הבאים:

in_progress: השלב נמצא בתהליך ביצוע. זה אומר שהפעולה שמבוצעת בשלב זה עדיין לא הושלמה.

cancelled: השלב בוטל. זה יכול להיות בעקבות החלטה מכוונת לבטל את הביצוע או כאשר משתמש ביטל את הפעולה.

failed: השלב נכשל. זה אומר שהייתה בעיה בביצוע השלב והוא לא הצליח להשלים את משימתו כראוי.

completed: השלב הושלם בהצלחה. זה אומר שכל הפעולות הנדרשות בשלב זה בוצעו כמתוכנן והשלב נגמר בהצלחה.

expired: השלב הסתיים עקב פקיעת הזמן. זה יכול לקרות אם יש הגבלת זמן לביצוע השלב והזמן עבר לפני שהשלב הושלם.


כאשר תהליך (run) נמצא במצב "requires_action" והפעולה הנדרשת ("required_action.type") היא "submit_tool_outputs", פירוש הדבר שהתהליך מחכה לקלט מצד המשתמש או המערכת לפני שהוא יכול להמשיך. במקרה זה, הפעולה הנדרשת היא לשלוח את התוצאות של קריאות הכלים (tool calls) שבוצעו.

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

פעולה נדרשת - "Submit Tool Outputs": הפעולה המסוימת שנדרשת במצב זה היא לשלוח את התוצאות שנוצרו מהכלים (כגון תוצאות חישוב, תמונות, טקסטים וכו') שהתהליך קרא להם.

שליחה בבקשה אחת: חשוב לשלוח את כל התוצאות בבקשה אחת. זה אומר שאתה צריך לאגור את כל התוצאות מכל קריאות הכלים שבוצעו ולשלוח אותם יחד בתגובה אחת למערכת.

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







בדיקת תגובה של העוזר:

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

  • thread_id (חובה): המזהה של הנושא (thread) שאתה רוצה לאחזר ממנו הודעות.
  • limit (אופציונלי): מגביל את מספר ההודעות שיחזרו, וניתן לבקש בין 1 ל-100 הודעות.
  • order (אופציונלי): מגדיר את סדר ההודעות לפי זמן יצירתן (asc לסדר עולה, desc לסדר יורד)
הבקשה מחזירה את רשימת ההודעות עם כל הפרטים הרלוונטיים כמו תוכן ההודעה, המשתמש ששלח אותה, וזמן השליחה.

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

  • id: מזהה ייחודי של ההודעה.
  • object: סוג האובייקט, במקרה זה הודעה בנושא.
  • created_at: חותמת זמן של יצירת ההודעה.
  • thread_id: מזהה של הנושא שאליו שייכת ההודעה.
  • role: תפקיד השולח (למשל, משתמש או עוזר).
  • content: מערך שמכיל את תוכן ההודעה, כולל טקסט ואנוטציות.
  • file_ids: מערך של מזהי קבצים קשורים להודעה.
  • assistant_id ו-run_id: מזהים קשורים לעוזר ולריצה של ההודעה, אם קיימים.
  • metadata: מידע נוסף בפורמט מפתח-ערך.






הפעלת פונקציות במהלך שיחה:

כאשר ריצה מחכה לפעולה ("requires_action"), זה אומר שיש צורך בקלט נוסף מהמשתמש, כמו לשלוח תוצאות מכלי מסוים שנקראו במהלך השיחה. זה חיוני להבין כי התהליך מחכה לפעולת משתמש כדי להמשיך את הביצועים, ולא ימשיך באופן אוטומטי ללא זה.
מטרתה להגיש פלטים מכלים שנקראו במהלך ריצה של עוזר דיגיטלי שנתקל בסטטוס "requires_action". כאשר עוזר דיגיטלי דורש פעולה נוספת כדי להמשיך, אתה צריך לשלוח את הפלטים שיצרו הכלים שהוא השתמש בהם. כאן פירוט הפרמטרים:
  • thread_id: המזהה של הנושא (thread) שאליו שייכת הריצה.
  • run_id: המזהה של הריצה שדורשת הגשת פלטי כלים.
  • tool_outputs: מערך המכיל את הכלים והפלטים שלהם שיש להגיש.
    • tool_call_id: מזהה של קריאה ספציפית לכלי במהלך הריצה.
    • output: הפלט של הכלי שיש להגיש כדי להמשיך את הריצה.
קריאת ה-API תחזיר את האובייקט של הריצה עם השינויים המתאימים לאחר ההגשה.

ומכאן יש להמשיך לבדיקת ססטוס ריצה וכנ"ל.

כמובן שיש עוד הרבה אפשרויות, אבל זה על קצה המזלג.

בהצלחה.

file-kQ76pDXubgsJ9E5Q8TZCg4YM


כעת נעבור על כל קריאה ונבין את משמעותם:

1. **יצירת עוזר (Assistant)**:

Bash:
curl -X POST 'https://api.openai.com/v1/assistants?' -H 'user-agent: Make/production' -H 'openai-beta: assistants=v1' -H 'authorization: ***' -H 'openai-organization: org-***' -H 'content-type: application/json' -d '{"name":"MultiFunctionalBot","model":"gpt-4-1106-preview","tools":[{"type":"code_interpreter"},{"type":"retrieval"},{"type":"function","function":{"name":"getCurrentWeather","parameters":{"type":"object","required":["location"],"properties":{"unit":{"enum":["c","f"],"type":"string"},"location":{"type":"string","description":"The city and state e.g. San Francisco, CA"}}},"description":"Get the weather in location"}}],"file_ids":["file-koI7jkSgOE2LHHjvtbQrMTcj"],"metadata":{"1":"1","2":"2"},"description":"A bot capable of performing multiple tasks including weather information, data retrieval, and more.","instructions":"You can perform various tasks such as providing weather information, retrieving data, and executing specific functions as requested."}'
```
הפקודה הזו משתמשת ליצירת עוזר חדש עם שם `MultiFunctionalBot`. היא מציינת את המודל (`gpt-4-1106-preview`), מגדירה כלים שונים (כגון מתרגם קוד, כלי חיפוש, ופונקציה שמספקת מידע על מזג האוויר), מצרפת קבצים, ומספקת תיאור והוראות לשימוש בעוזר.

2. **הוספת הודעה והרצת השיחה(Thread Run)**:

Bash:
curl -X POST 'https://api.openai.com/v1/threads/runs?' -H 'user-agent: Make/production' -H 'openai-beta: assistants=v1' -H 'authorization: ***' -H 'openai-organization: org-***' -H 'content-type: application/json' -d '{"thread":{"messages":[{"role":"user","content":"מה המזג האוויר היום בירושלים?"}]},"metadata":{},"assistant_id":"asst_RnX7za3C7l9wOoTLV6Vl2bvx"}'

בפקודה זו משתמשים לשליחת בקשה לעוזר עם פרטי ההודעה (`"מה המזג האוויר היום בירושלים?"`). זו פונה לעוזר שנוצר בשלב הראשון.

3. **בדיקת סטטוס ריצה**:

Bash:
curl -X GET 'https://api.openai.com/v1/threads/thread_1xEPeFqLz3RL0YZigbP5sBgO/runs/run_I9GsvIAZO7fe11wfZBg9XxwV?' -H 'user-agent: Make/production' -H 'openai-beta: assistants=v1' -H 'authorization: ***' -H 'openai-organization: org-***'
```
פקודה זו מבקשת מידע על סטטוס מסוים של ריצה, כדי לבדוק את מצבה והתקדמותה.

4. **אישור פונקציה**:

Bash:
curl -X POST 'https://api.openai.com/v1/threads/thread_1xEPeFqLz3RL0YZigbP5sBgO/runs/run_I9GsvIAZO7fe11wfZBg9XxwV/submit_tool_outputs?' -H 'user-agent: Make/production' -H 'openai-beta: assistants=v1' -H 'authorization: ***' -H 'openai-organization: org-***' -H 'content-type: application/json' -d '{"tool_outputs":[{"output":"true","tool_call_id":"call_gOxPE25qt23QoOriSmsFcyTY"}]}'
```
הפקודה הזו משתמשת ב-API לשליחת תוצאות פונקציות שנקראו במהלך ריצה. זה חלק מתהליך יצירת תגובה דינמית מהעוזר.

5. **איחזור הודעות משיחה**:

Bash:
curl -X GET 'https://api.openai.com/v1/threads/thread_1xEPeFqLz3RL0YZigbP5sBgO/messages?order=desc' -H 'user-agent: Make/production' -H 'openai-beta: assistants=v1' -H 'authorization: ***' -H 'openai-organization: org-***'

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

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

קובץ הסבר עוזר אישי.

קובץ הסבר.

דוגמאות קוד.

- מצורף סינריו להורדה, הדגמה בסיסית לשימוש.



ניתן להתקין מכאן את האפליקצייה שפיתחתי למייק:

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

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

ניתן להירשם למערכת ב- קישור זה(אפיליאייט).
על המחבר
rabin
אוטומציה חכמה - המפתח להצלחת העסק שלך

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

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

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

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

תגובות

תקשיב שאתה אלוף! זה פשוט מדריך מצוין! מוסיף למועדפים..
 

לוח לימודים

מסלולי לימוד שאפשר לההצטרף
אליהם ממש עכשיו:

18.11

י"ז חשוון


וובינר מרתק!

המדריך (הלא שלם) לסטוריטלינג

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

הכניסה חופשית!


19.11

י"ח חשוון


פתיחת

קורס בינה מלאכותית - חדשנות ב AI

קורס מקוצר


19.11

י"ח חשוון


אירוע שיתופים ייחודי

בוטים מספרים על עצמם

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

הכניסה חופשית!


25.11

כ"ד


פתיחת

קורס פרסום קופי+

מלגות גבוהות!


27.11

כ"ו חשוון


פתיחת

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

מלגות גבוהות!


27.11

כ"ו חשוון


פתיחת

קורס עיצוב גרפי ודיגיטל - בסילבוס חדש ומטורף!

מלגות גבוהות!


27.11

כ"ו חשוון


נפתחה ההרשמה!

קורס צילום חוץ, אירועים וסטודיו - עם בינה מלאכותית!

מלגות גבוהות!


הפרק היומי

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


תהילים פרק קכו

א שִׁיר הַמַּעֲלוֹת בְּשׁוּב יי אֶת שִׁיבַת צִיּוֹן הָיִינוּ כְּחֹלְמִים:ב אָז יִמָּלֵא שְׂחוֹק פִּינוּ וּלְשׁוֹנֵנוּ רִנָּה אָז יֹאמְרוּ בַגּוֹיִם הִגְדִּיל יי לַעֲשׂוֹת עִם אֵלֶּה:ג הִגְדִּיל יי לַעֲשׂוֹת עִמָּנוּ הָיִינוּ שְׂמֵחִים:ד שׁוּבָה יי אֶת (שבותנו) שְׁבִיתֵנוּ כַּאֲפִיקִים בַּנֶּגֶב:ה הַזֹּרְעִים בְּדִמְעָה בְּרִנָּה יִקְצֹרוּ:ו הָלוֹךְ יֵלֵךְ וּבָכֹה נֹשֵׂא מֶשֶׁךְ הַזָּרַע בֹּא יָבוֹא בְרִנָּה נֹשֵׂא אֲלֻמֹּתָיו:
נקרא  37  פעמים

אתגר AI

הצבע הירוק • אתגר 23

לוח מודעות

More from rabin

שתף את המאמר

למעלה