השתמש בכלי code_interpreter
הכלי code_interpreter מספק למודל שלך זמן ריצה בפייתון שבו הוא יכול ליצור ולהריץ קוד פייתון.
מהו הכלי code_interpreter?
כלי code_interpreter מאפשר למודלים גנרטיביים של בינה מלאכותית לכתוב ולהריץ קוד פייתון באופן דינמי במהלך שיחה. במקום לדון רק בקוד או אלגוריתמים, המודל יכול לבדוק את הלוגיקה שלו, לעבד נתונים ולהחזיר תוצאות אמיתיות מהקוד. זה משנה את המודל מהוגה לעושה.
התכונות העיקריות כוללות:
- ביצוע דינמי בפייתון: המודל כותב ומריץ קוד פייתון בסביבה סנדבוקסית
- טיפול בקבצים: העלאה, עיבוד והורדה של קבצים (CSV, JSON, תמונות וכדומה)
- ניתוח נתונים: ביצוע חישובים, ניתוחים סטטיסטיים וטרנספורמציות נתונים בזמן אמת
- משוב בזמן אמת: המודל רואה תוצאות ביצוע קוד ויכול לאטר או לתקן שגיאות
- פתרון בעיות מורכבות: התמודדות עם בעיות מתמטיות, סימולציות ופאזלים לוגיים באמצעות קוד הרצה
מקרי שימוש נפוצים
| מקרה שימוש | דוגמה |
|---|---|
| ניתוח נתונים | נתח קובץ CSV ויצר סטטיסטיקות תקצירות |
| מתמטיקה ופיזיקה | פתרון משוואות דיפרנציאליות או סימולציה של תרחישי פיזיקה |
| המרת קבצים | המרה בין פורמטים של נתונים (JSON ↔, CSV וכדומה) |
| אב-טיפוס | בדיקת אלגוריתמים ורעיונות לפני יישום פורמלי |
דוגמה פשוטה
הנה איך להשתמש code_interpreter עם API OpenAI Responses:
from openai import OpenAI
client = OpenAI(
base_url={openai_endpoint},
api_key={auth_key_or_token}
)
# Get response using the code_interpreter tool
response = client.responses.create(
model={model_deployment},
instructions="You are an AI assistant that provides information. Use the python tool to run code for math problems.",
input="What is the square root of 16?",
tools=[{"type": "code_interpreter",
"container": {"type": "auto"}}]
)
print(response.output_text)
הפלט מקוד זה דומה לזה:
The square root of 16 is 4.
חשוב יותר, בדיקת פרטי אובייקט התגובה המוחזר על ידי המודל מגלה שהתוצאה חושבה והוחזרה למודל באמצעות קוד פייתון שנוצר דינמית כמו זה:
import math
# Calculate the square root of 16
square_root = math.sqrt(16)
square_root
איך הכלי code_interpreter עובד
התהליך הכללי לשימוש בכלי code_interpreter הוא:
- אתה שולח בקשה: כולל code_interpreter במערך הכלים שלך.
- המודל מנתח את המשימה: המודל קובע אם יש צורך בביצוע קוד.
- המודל מייצר קוד: המודל כותב קוד בפייתון כדי להשלים את המשימה.
- רצות קוד: הקוד רץ בסביבה סנדבוקס עם גישה לספריות נפוצות (למשל, pandas, numpyוmath).
- תוצאות שהוחזרו: המודל מקבל את הפלט ומשלב אותו בתגובתו.
שיטות עבודה מומלצות
- תהיה ספציפי: תאר בבירור את פורמט הנתונים ואת התפוקה הצפויה. רבים מהמודלים משתמשים פנימית בשם כלי פייתון כדי לזהות את כלי code_interpreter - אז השתמש בשפה הזו בהוראות שלך.
- ספק הקשר: כלול ידע רלוונטי בתחום בהנחיות שלך
- אימות תוצאות: תמיד בדוק את הקוד שנוצר על ידי בינה מלאכותית לתקינות לפני השימוש בפרודקשן
- ניטור עלויות: ביצוע קוד מוסיף טוקנים; פעולות מורכבות עשויות לדרוש יותר משאבים
- ניצול ספריות: חבילות נפוצות כמו pandas, numpy ו-matplotlib מותקנות מראש
- טיפול בשגיאות: המודל יכול לראות שגיאות וינסה לתקן אותן אוטומטית
מגבלות שיש לדעת עליהן
- ההרצות מתבצעות בסביבה סנדבוקס ללא גישה לרשת חיצונית
- חלק מהספריות עשויות שלא להיות זמינות; הודיע למודל אם ספריית תקן נכשלת
- מגבלות הפסקת זמן חלות על פעולות ארוכות טווח
- הקוד רץ עם מגבלות זיכרון—מאגרי נתונים עצומים עשויים להזדקק לזרם או לקטוע