התכונה 'הרצת קוד' ב-Gemini API מאפשרת למודל ליצור ולהריץ קוד Python וללמוד באופן איטרטיבי מהתוצאות עד שהוא מגיע לפלט סופי. אתם יכולים להשתמש ביכולת הזו להרצת קוד כדי ליצור אפליקציות שמפיקות תועלת מחשיבה רציונלית שמבוססת על קוד ומייצרות פלט טקסטואלי. לדוגמה, אפשר להשתמש בהרצת קוד באפליקציה שפותרת משוואות או מעבדת טקסט.
Gemini API מספק כלי להרצת קוד, בדומה לקריאה לפונקציה. אחרי שמוסיפים את הפעלת הקוד ככלי, המודל מחליט מתי להשתמש בו.
מודלים נתמכים
- Gemini 3.1 Flash-Lite
- Gemini 3.1 Pro
- Gemini 3 Flash
- Gemini 3 Pro
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.5 Flash-Lite
- Gemini 2.5 Flash
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash עם Gemini Live API
- Gemini 2.0 Flash
מגבלות
- התכונה לא תומכת בקלט/פלט של קבצים.
- הביצוע של הקוד יכול להימשך עד 30 שניות לפני שחלף הזמן הקצוב לתפוגה.
תחביר לדוגמה
curl
PROJECT_ID = myproject REGION = us-central1 MODEL_ID = gemini-2.0-flash-001 https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ ... }], "tools": [{ "code_execution": {} }] }'
רשימת פרמטרים
פרטים על ההטמעה מופיעים בדוגמאות.
Python
כדי להפעיל את הרצת הקוד, מציינים את tool הרצת הקוד בבקשה.
CodeExecution
כלי שמריץ קוד שנוצר על ידי המודל ומחזיר את התוצאה למודל באופן אוטומטי. אפשר לעיין גם בExecutableCode ובCodeExecutionResult, שהם קלט ופלט של הכלי הזה.
Part
| אופציונלי:
קוד שנוצר על ידי המודל ומיועד להרצה.
|
| אופציונלי:
התוצאה של הפעלת [ExecutableCode].
|
ExecutableCode
| חובה:
שפות התכנות הנתמכות עבור הקובץ נתמך:
|
| חובה:
הקוד שיופעל.
|
CodeExecutionResult
| חובה:
התוצאה של הרצת הקוד. תוצאות אפשריות:
|
| חובה:
הערך |
דוגמאות
בדוגמאות הבאות אפשר לראות איך שולחים שאילתה והצהרות על פונקציות למודל.
תרחיש שימוש בסיסי
curl
PROJECT_ID = myproject REGION = us-central1 MODEL_ID = gemini-2.0-flash-001 curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${REGION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${REGION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ "role": "user", "parts": [{ "text": "Calculate 20th fibonacci number. Then find the nearest palindrome to it." }] }], "tools": [{'codeExecution': {}}], }'
Python
from google import genai from google.genai.types import Tool, ToolCodeExecution, GenerateContentConfig client = genai.Client() model_id = "gemini-2.0-flash-001" code_execution_tool = Tool( code_execution=ToolCodeExecution() ) response = client.models.generate_content( model=model_id, contents="Calculate 20th fibonacci number. Then find the nearest palindrome to it.", config=GenerateContentConfig( tools=[code_execution_tool], temperature=0, ), ) for part in response.candidates[0].content.parts: if part.executable_code: print(part.executable_code) if part.code_execution_result: print(part.code_execution_result) # Example response: # code='...' language='PYTHON' # outcome='OUTCOME_OK' output='The 20th Fibonacci number is: 6765\n' # code='...' language='PYTHON' # outcome='OUTCOME_OK' output='Lower Palindrome: 6666\nHigher Palindrome: 6776\nNearest Palindrome to 6765: 6776\n'
הפעלת הרצת קוד במודל
כדי להפעיל הרצת קוד בסיסית, אפשר לעיין במאמר בנושא הרצת קוד.