Chat Completions API פועל כנקודת קצה שתואמת ל-Open AI, והוא נועד להקל על האינטראקציה עם Gemini ב-Gemini Enterprise Agent Platform באמצעות ספריות OpenAI ל-Python ול-REST. אם אתם כבר משתמשים בספריות של OpenAI, אתם יכולים להשתמש ב-API הזה כדרך זולה לעבור בין קריאה למודלים של OpenAI לבין קריאה למודלים שמתארחים ב-Agent Platform, כדי להשוות בין הפלט, העלות והסקלאביליות בלי לשנות את הקוד הקיים. אם אתם לא משתמשים כבר בספריות של OpenAI, מומלץ להשתמש ב-Google Gen AI SDK. כדי להעביר את הקוד הקיים של OpenAI SDK לשימוש ב-Google Gen AI SDK, אפשר לעיין במאמר מעבר מ-OpenAI SDK ל-Google Gen AI SDK.
מודלים נתמכים
Chat Completions API תומך גם במודלים של Gemini וגם במודלים נבחרים בפריסה עצמית מ-Model Garden.
מודלי Gemini
המודלים הבאים תומכים ב-Chat Completions API:
לחצו כדי להרחיב את רשימת המודלים הנתמכים
מודלים שפרסתם בעצמכם מ-Model Garden
Hugging Face Text Generation Interface (HF TGI) וקונטיינרים מוכנים מראש של vLLM ב-Agent Platform Model Garden תומכים ב-Chat Completions API. עם זאת, לא כל מודל שמוטמע במאגרי הנתונים האלה תומך ב-Chat Completions API. בטבלה הבאה מפורטים המודלים הנתמכים הכי פופולריים לפי מאגר:
HF TGI |
vLLM |
|---|---|
פרמטרים נתמכים
במודלים של Google, ה-Chat Completions API תומך בפרמטרים הבאים של OpenAI. לתיאור של כל פרמטר, קראו את המאמר Creating chat completions במסמכי התיעוד של OpenAI. התמיכה בפרמטרים במודלים של צד שלישי משתנה בהתאם למודל. כדי לראות אילו פרמטרים נתמכים, אפשר לעיין במסמכי התיעוד של המודל.
messages |
|
model |
|
detail |
במודלים ישנים יותר מ-Gemini 3, השדה detail חייב להיות עקבי בכל ההודעות והתכנים (הוא ברמת הבקשה). ב-Gemini 3 ואילך, זה תואם ל-`media_resolution` ברמת החלק. מידע נוסף זמין במאמר רזולוציית מדיה.
|
max_completion_tokens |
כינוי של max_tokens. |
modalities |
תמיכה בערכים audio, image ו-text. |
max_tokens |
|
n |
|
frequency_penalty |
|
presence_penalty |
|
reasoning_effort |
מגדיר כמה זמן וכמה אסימונים משמשים לתגובה.
reasoning_effort או extra_body.google.thinking_config.
|
response_format |
|
seed |
תואם ל-GenerationConfig.seed. |
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
web_search_options |
תואם לכלי GoogleSearch. אין תמיכה באפשרויות משנה. |
function_call |
השדה הזה הוצא משימוש, אבל הוא נתמך לצורך תאימות לדורות קודמים. |
functions |
השדה הזה הוצא משימוש, אבל הוא נתמך לצורך תאימות לדורות קודמים. |
אם מעבירים פרמטר לא נתמך, המערכת מתעלמת ממנו.
פרמטרים של קלט מולטימודלי
Chat Completions API תומך בקלטים מולטי-מודאליים נבחרים.
input_audio |
|
image_url |
|
באופן כללי, הפרמטר data יכול להיות URI או שילוב של סוג MIME ובייטים בקידוד base64 בפורמט "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>".
לרשימה המלאה של סוגי MIME, ראו GenerateContent.
מידע נוסף על קידוד base64 של OpenAI זמין במסמכי התיעוד שלהם.
דוגמאות לשימוש מופיעות במאמר בנושא קלט מולטי-מודאלי.
פרמטרים ספציפיים ל-Gemini
יש כמה תכונות שנתמכות על ידי Gemini אבל לא זמינות במודלים של OpenAI.
עדיין אפשר להעביר את התכונות האלה כפרמטרים, אבל הן חייבות להיות כלולות ב-extra_content או ב-extra_body, אחרת המערכת תתעלם מהן.
תכונות של extra_body
לכלול שדה google שיכיל את כל התכונות של extra_body שספציפיות ל-Gemini.
{
...,
"extra_body": {
"google": {
...,
// Add extra_body features here.
}
}
}
safety_settings |
ההגדרה הזו תואמת ל-Gemini
SafetySetting.
|
cached_content |
הערך הזה תואם לשדה Gemini
generateContent.cached_content.
|
thinking_config |
ההגדרה הזו תואמת ל-Gemini
GenerationConfig.ThinkingConfig.
|
thought_tag_marker |
משמש להפרדה בין המחשבות של המודל לבין התשובות שלו במודלים עם תכונת החשיבה. אם לא מציינים תגים, לא יוחזרו תגים סביב המחשבות של המודל. אם יש תגי מחשבות, השאילתות הבאות יסירו אותם ויסמנו את המחשבות בהתאם להקשר. כך נשמר ההקשר המתאים לשאילתות הבאות. |
stream_function_call_arguments |
מעביר את הארגומנטים של הבקשה להפעלת פונקציה כקטעי JSON. מידע נוסף זמין במאמר בנושא העברת ארגומנטים של קריאות להפעלת פונקציות בסטרימינג. |
tools |
מציינים כלים דומים ל-`GenerateContent`. מידע נוסף זמין במאמר בנושא Tool. |
media_resolution |
מציינים רזולוציית מדיה ברמת הבקשה, בדומה ל-`GenerateContent`. מידע נוסף זמין במאמר בנושא
MediaResolution. |
תכונות של extra_content
extra_content מאפשרת לכם לציין תוכן ספציפי ל-Gemini שאסור להתעלם ממנו.
כוללים google שדה שיכיל תכונות ספציפיות ל-Gemini
extra_content.
{
...,
"extra_content": {
"google": {
...,
// Add extra_content features here.
}
}
}
thought |
השדה הזה מציין באופן מפורש אם שדה הוא מחשבה, והוא מקבל עדיפות על פני thought_tag_marker. הוא עוזר להבחין בין שלבים שונים בתהליך חשיבה, במיוחד בתרחישי שימוש בכלים שבהם אפשר לטעות ולחשוב ששלבי ביניים הם תשובות סופיות. על ידי תיוג של חלקים ספציפיים בקלט כ'מחשבות', אפשר להנחות את המודל להתייחס אליהם כאל חשיבה רציונלית פנימית ולא כאל תשובות שמוצגות למשתמשים. |
thought_signature |
שדה בייטים שמספק חתימת מחשבה לאימות מול המחשבות שהמודל מחזיר. השדה הזה שונה מהשדה הבוליאני thought. מידע נוסף זמין במאמר חתימות מחשבה. |
parts |
ספציפי להודעת כלי כדי להעביר חלקי תגובה של פונקציה מולטי-מודאלית בחזרה למודל.
מידע נוסף זמין במאמרים
FunctionResponsePart ותגובה לפונקציה מולטימוֹדלית. |
המאמרים הבאים
- מידע נוסף על אימות והענקת פרטי כניסה באמצעות תחביר שתואם ל-OpenAI
- דוגמאות לקריאה ל-Chat Completions API עם תחביר שתואם ל-OpenAI.
- בדוגמאות הבאות מוצגות קריאות ל-Inference API עם תחביר שתואם ל-OpenAI.
- בדוגמאות הבאות מוסבר איך להפעיל את Function Calling API עם תחביר שתואם ל-OpenAI.
- מידע נוסף על Gemini API
- מידע נוסף על מעבר למודלים העדכניים של Gemini
- כדי להעביר את הקוד הקיים של OpenAI SDK לשימוש ב-Google Gen AI SDK, קראו את המאמר מעבר מ-OpenAI SDK ל-Google Gen AI SDK.