אפשר לגשת למודלים של Gemini באמצעות ספריות OpenAI (Python ו-TypeScript / Javascript) יחד עם ה-API ל-REST, על ידי עדכון שלוש שורות קוד ושימוש במפתח ה-API של Gemini. מידע נוסף על התכונה הזו זמין במדריך התאימות.
שיטה: chatCompletions
יצירת קבוצה של תשובות מהמודל על סמך קלט של היסטוריית צ'אט.
נקודת קצה
פוסטhttps: / /generativelanguage.googleapis.com /v1beta:chatCompletions
כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
model
string
חובה. השם של Model
שמשמש ליצירת ההשלמה. אם לא מופיע קו נטוי בשם המודל, התחילית שלו תהיה 'models/'.
messages[]
object (Struct
format)
חובה. היסטוריית הצ'אט שתשמש ליצירת ההשלמה. תמיכה בשאילתות חד-פעמיות ובשאילתות עם שרשור. הערה: זהו שדה פולימורפיים, והוא עובר דה-סריאליזציה ל-InternalChatMessage.
stream
boolean
זה שינוי אופציונלי. האם להעביר את התשובה בסטרימינג או להחזיר תשובה אחת.
אם הערך הוא true, השדה 'object' בתגובה יהיה 'chat.completion.chunk'. אחרת, הוא יהיה 'chat.completion'.
streamOptions
object (StreamOptions
)
זה שינוי אופציונלי. אפשרויות לבקשות סטרימינג.
tools[]
object (ChatTool
)
זה שינוי אופציונלי. קבוצת הכלים שהמודל יכול ליצור עבורם קריאות. כל כלי מצהיר על החתימה שלו.
toolChoice
value (Value
format)
זה שינוי אופציונלי. קובעת אם המודל ישתמש בכלי או לא, ובאיזה כלי. יכול להיות: - המחרוזת 'none', כדי להשבית את הכלים. - המחרוזת 'auto', כדי לאפשר למודל להחליט. - המחרוזת 'required', כדי לאלץ את המודל להשתמש בכלי. - אובייקט של מתאר שם פונקציה, שמציין את הכלי שבו צריך להשתמש. האפשרות האחרונה תואמת להסכימה הבאה: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
זה שינוי אופציונלי. מספר האפשרויות להשלמת הטקסט שייווצרו. חייב להיות מספר שלם חיובי. אם הפרמטר לא מוגדר, ערך ברירת המחדל שלו הוא 1.
stop
value (Value
format)
זה שינוי אופציונלי. קבוצת רצפי התווים שתוביל להפסקת יצירת הפלט. הערה: זהו שדה פולימורפיים. הוא אמור להכיל מחרוזת או מחרוזות חוזרות.
maxCompletionTokens
integer
זה שינוי אופציונלי. המספר המקסימלי של אסימונים שאפשר לכלול באפשרות לתשובה. חייב להיות מספר שלם חיובי.
maxTokens
integer
זה שינוי אופציונלי. המספר המקסימלי של אסימונים שאפשר לכלול באפשרות לתשובה. חייב להיות מספר שלם חיובי. השדה הזה הוצא משימוש על ידי ה-SDK.
temperature
number
זה שינוי אופציונלי. קובעת את מידת הרנדומיזציה של הפלט.
topP
number
זה שינוי אופציונלי. ההסתברות המצטברת המקסימלית של אסימונים שצריך להביא בחשבון בזמן הדגימה.
responseFormat
object (ResponseFormat
)
זה שינוי אופציונלי. הגדרת הפורמט של התגובה. אם לא תגדירו את האפשרות הזו, התגובה תפורמט כטקסט.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, התשובה היא תגובה גנרית של HTTP שהפורמט שלה מוגדר על ידי השיטה.
שיטה: הטמעות (embeddings)
יצירת הטמעות (embeddings) מהמודל על סמך קלט.
נקודת קצה
פוסטhttps: / /generativelanguage.googleapis.com /v1beta /embeddings
כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
input
value (Value
format)
חובה. הקלט שעבורו רוצים ליצור הטמעות. יכול להיות מחרוזת או רשימה של מחרוזות. ב-SDK יש תמיכה ברשימת מספרים וברשימה של רשימות של מספרים, אבל התכונה הזו עדיין לא הופעלה.
model
string
חובה. המודל שעבורו רוצים ליצור את הטמעות הנתונים.
encodingFormat
string
זה שינוי אופציונלי. הפורמט של הקידוד. הערך חייב להיות 'float' או 'base64'.
dimensions
integer
זה שינוי אופציונלי. גודל המאפיינים של מאפייני ההטמעה שנוצרו.
גוף התשובה
אם הפעולה מצליחה, גוף התגובה מכיל מופע של GenerateEmbeddingsResponse
.
שיטה: listModels
רשימה של הדגמים הזמינים כרגע.
נקודת קצה
gethttps: / /generativelanguage.googleapis.com /v1beta /listModels
כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.
גוף הבקשה
גוף הבקשה חייב להיות ריק.
גוף התשובה
אם הפעולה מצליחה, גוף התגובה מכיל מופע של SdkListModelsResponse
.
שיטה: chat.completions
יצירת קבוצה של תשובות מהמודל על סמך קלט של היסטוריית צ'אט.
נקודת קצה
פוסטhttps: / /generativelanguage.googleapis.com /v1beta /chat /completions
כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
model
string
חובה. השם של Model
שמשמש ליצירת ההשלמה. אם לא מופיע קו נטוי בשם המודל, התחילית שלו תהיה 'models/'.
messages[]
object (Struct
format)
חובה. היסטוריית הצ'אט שתשמש ליצירת ההשלמה. תמיכה בשאילתות חד-פעמיות ובשאילתות עם שרשור. הערה: זהו שדה פולימורפיים, והוא עובר דה-סריאליזציה ל-InternalChatMessage.
stream
boolean
זה שינוי אופציונלי. האם להעביר את התשובה בסטרימינג או להחזיר תשובה אחת.
אם הערך הוא true, השדה 'object' בתגובה יהיה 'chat.completion.chunk'. אחרת, הוא יהיה 'chat.completion'.
streamOptions
object (StreamOptions
)
זה שינוי אופציונלי. אפשרויות לבקשות סטרימינג.
tools[]
object (ChatTool
)
זה שינוי אופציונלי. קבוצת הכלים שהמודל יכול ליצור עבורם קריאות. כל כלי מצהיר על החתימה שלו.
toolChoice
value (Value
format)
זה שינוי אופציונלי. קובעת אם המודל ישתמש בכלי או לא, ובאיזה כלי. יכול להיות: - המחרוזת 'none', כדי להשבית את הכלים. - המחרוזת 'auto', כדי לאפשר למודל להחליט. - המחרוזת 'required', כדי לאלץ את המודל להשתמש בכלי. - אובייקט של מתאר שם פונקציה, שמציין את הכלי שבו צריך להשתמש. האפשרות האחרונה תואמת להסכימה הבאה: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
זה שינוי אופציונלי. מספר האפשרויות להשלמת הטקסט שייווצרו. חייב להיות מספר שלם חיובי. אם הפרמטר לא מוגדר, ערך ברירת המחדל שלו הוא 1.
stop
value (Value
format)
זה שינוי אופציונלי. קבוצת רצפי התווים שתוביל להפסקת יצירת הפלט. הערה: זהו שדה פולימורפיים. הוא אמור להכיל מחרוזת או מחרוזות חוזרות.
maxCompletionTokens
integer
זה שינוי אופציונלי. המספר המקסימלי של אסימונים שאפשר לכלול באפשרות לתשובה. חייב להיות מספר שלם חיובי.
maxTokens
integer
זה שינוי אופציונלי. המספר המקסימלי של אסימונים שאפשר לכלול באפשרות לתשובה. חייב להיות מספר שלם חיובי. השדה הזה הוצא משימוש על ידי ה-SDK.
temperature
number
זה שינוי אופציונלי. קובעת את מידת הרנדומיזציה של הפלט.
topP
number
זה שינוי אופציונלי. ההסתברות המצטברת המקסימלית של אסימונים שצריך להביא בחשבון בזמן הדגימה.
responseFormat
object (ResponseFormat
)
זה שינוי אופציונלי. הגדרת הפורמט של התגובה. אם לא תגדירו את האפשרות הזו, התגובה תפורמט כטקסט.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, התשובה היא תגובה גנרית של HTTP שהפורמט שלה מוגדר על ידי השיטה.
שיטה: embeddings.generate
יצירת הטמעות (embeddings) מהמודל על סמך קלט.
נקודת קצה
פוסטhttps: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
input
value (Value
format)
חובה. הקלט שעבורו רוצים ליצור הטמעות. יכול להיות מחרוזת או רשימה של מחרוזות. ב-SDK יש תמיכה ברשימת מספרים וברשימה של רשימות של מספרים, אבל התכונה הזו עדיין לא הופעלה.
model
string
חובה. המודל שעבורו רוצים ליצור את הטמעות הנתונים.
encodingFormat
string
זה שינוי אופציונלי. הפורמט של הקידוד. הערך חייב להיות 'float' או 'base64'.
dimensions
integer
זה שינוי אופציונלי. גודל המאפיינים של מאפייני ההטמעה שנוצרו.
גוף התשובה
אם הפעולה מצליחה, גוף התגובה מכיל מופע של GenerateEmbeddingsResponse
.
שיטה: openai.chat.completions
יצירת קבוצה של תשובות מהמודל על סמך קלט של היסטוריית צ'אט.
נקודת קצה
פוסטhttps: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
model
string
חובה. השם של Model
שמשמש ליצירת ההשלמה. אם לא מופיע קו נטוי בשם המודל, התחילית שלו תהיה 'models/'.
messages[]
object (Struct
format)
חובה. היסטוריית הצ'אט שתשמש ליצירת ההשלמה. תמיכה בשאילתות חד-פעמיות ובשאילתות עם שרשור. הערה: זהו שדה פולימורפיים, והוא עובר דה-סריאליזציה ל-InternalChatMessage.
stream
boolean
זה שינוי אופציונלי. האם להעביר את התשובה בסטרימינג או להחזיר תשובה אחת.
אם הערך הוא true, השדה 'object' בתגובה יהיה 'chat.completion.chunk'. אחרת, הוא יהיה 'chat.completion'.
streamOptions
object (StreamOptions
)
זה שינוי אופציונלי. אפשרויות לבקשות סטרימינג.
tools[]
object (ChatTool
)
זה שינוי אופציונלי. קבוצת הכלים שהמודל יכול ליצור עבורם קריאות. כל כלי מצהיר על החתימה שלו.
toolChoice
value (Value
format)
זה שינוי אופציונלי. קובעת אם המודל ישתמש בכלי או לא, ובאיזה כלי. יכול להיות: - המחרוזת 'none', כדי להשבית את הכלים. - המחרוזת 'auto', כדי לאפשר למודל להחליט. - המחרוזת 'required', כדי לאלץ את המודל להשתמש בכלי. - אובייקט של מתאר שם פונקציה, שמציין את הכלי שבו צריך להשתמש. האפשרות האחרונה תואמת להסכימה הבאה: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
זה שינוי אופציונלי. מספר האפשרויות להשלמת הטקסט שייווצרו. חייב להיות מספר שלם חיובי. אם הפרמטר לא מוגדר, ערך ברירת המחדל שלו הוא 1.
stop
value (Value
format)
זה שינוי אופציונלי. קבוצת רצפי התווים שתוביל להפסקת יצירת הפלט. הערה: זהו שדה פולימורפיים. הוא אמור להכיל מחרוזת או מחרוזות חוזרות.
maxCompletionTokens
integer
זה שינוי אופציונלי. המספר המקסימלי של אסימונים שאפשר לכלול באפשרות לתשובה. חייב להיות מספר שלם חיובי.
maxTokens
integer
זה שינוי אופציונלי. המספר המקסימלי של אסימונים שאפשר לכלול באפשרות לתשובה. חייב להיות מספר שלם חיובי. השדה הזה הוצא משימוש על ידי ה-SDK.
temperature
number
זה שינוי אופציונלי. קובעת את מידת הרנדומיזציה של הפלט.
topP
number
זה שינוי אופציונלי. ההסתברות המצטברת המקסימלית של אסימונים שצריך להביא בחשבון בזמן הדגימה.
responseFormat
object (ResponseFormat
)
זה שינוי אופציונלי. הגדרת הפורמט של התגובה. אם לא תגדירו את האפשרות הזו, התגובה תפורמט כטקסט.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, התשובה היא תגובה גנרית של HTTP שהפורמט שלה מוגדר על ידי השיטה.
שיטה: openai.embeddings
יצירת הטמעות (embeddings) מהמודל על סמך קלט.
נקודת קצה
פוסטhttps: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.
גוף הבקשה
גוף הבקשה מכיל נתונים במבנה הבא:
input
value (Value
format)
חובה. הקלט שעבורו רוצים ליצור הטמעות. יכול להיות מחרוזת או רשימה של מחרוזות. ב-SDK יש תמיכה ברשימת מספרים וברשימה של רשימות של מספרים, אבל התכונה הזו עדיין לא הופעלה.
model
string
חובה. המודל שעבורו רוצים ליצור את הטמעות הנתונים.
encodingFormat
string
זה שינוי אופציונלי. הפורמט של הקידוד. הערך חייב להיות 'float' או 'base64'.
dimensions
integer
זה שינוי אופציונלי. גודל המאפיינים של מאפייני ההטמעה שנוצרו.
גוף התשובה
אם הפעולה מצליחה, גוף התגובה מכיל מופע של GenerateEmbeddingsResponse
.
שיטה: openai.models
רשימה של הדגמים הזמינים כרגע.
נקודת קצה
gethttps: / /generativelanguage.googleapis.com /v1beta /openai /models
כתובת ה-URL משתמשת בתחביר של Transcoding של gRPC.
גוף הבקשה
גוף הבקשה חייב להיות ריק.
גוף התשובה
אם הפעולה מצליחה, גוף התגובה מכיל מופע של SdkListModelsResponse
.
ChatTool
כלי למודל שיכול ליצור קריאות אליו.
function
object (ChatFunction
)
חובה. שם הכלי.
type
string
חובה. חובה, חייב להיות 'function'.
ייצוג ב-JSON |
---|
{
"function": {
object ( |
ChatFunction
פונקציה שהמודל יכול ליצור קריאות אליה.
name
string
חובה. שם הפונקציה.
description
string
זה שינוי אופציונלי. תיאור הפונקציה.
parameters
object (Struct
format)
זה שינוי אופציונלי. הפרמטרים של הפונקציה.
strict
boolean
זה שינוי אופציונלי. האם אימות הסכימה הוא קפדני. אם הערך הוא true, המודל ייכשל אם הסכימה לא חוקית. הערה: הפרמטר הזה לא מטופל כרגע.
ייצוג ב-JSON |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
GenerateEmbeddingsResponse
תשובה ליצירת הטמעה.
object
string
פלט בלבד. תמיד 'הטמעה', כפי שנדרש על ידי ה-SDK.
data[]
object (GenerateEmbeddingsEmbedding
)
פלט בלבד. רשימה של הטמעות הנתונים המבוקשות.
model
string
פלט בלבד. המודל ששימש ליצירת ההטמעות.
ייצוג ב-JSON |
---|
{
"object": string,
"data": [
{
object ( |
GenerateEmbeddingsEmbedding
וקטור הטמעה שנוצר על ידי המודל.
object
string
פלט בלבד. תמיד 'הטמעה', כפי שנדרש על ידי ה-SDK.
index
integer
פלט בלבד. האינדקס של ההטמעה ברשימת ההטמעות.
embedding
value (Value
format)
פלט בלבד. וקטור ההטמעה שנוצר עבור הקלט. יכול להיות רשימה של מספרים שלמים או מחרוזת base64 שמקודדת רשימה של מספרים שלמים בפריסה בסגנון C (תואם ל-Numpy).
ייצוג ב-JSON |
---|
{ "object": string, "index": integer, "embedding": value } |
HttpBody
הודעה שמייצגת גוף HTTP שרירותי. צריך להשתמש בו רק לפורמטים של עומסי עבודה שלא ניתן לייצג כ-JSON, כמו נתונים בינאריים גולמיים או דף HTML.
אפשר להשתמש בהודעה הזו בשיטות API בסטרימינג ובשיטות API ללא סטרימינג, גם בבקשה וגם בתגובה.
אפשר להשתמש בו כשדה בקשה ברמה העליונה. זה נוח אם רוצים לחלץ פרמטרים מכתובת ה-URL או מתבנית ה-HTTP לשדות הבקשה, וגם רוצים גישה לגוף ה-HTTP הגולמי.
דוגמה:
message GetResourceRequest {
// A unique request id.
string requestId = 1;
// The raw HTTP body is bound to this field.
google.api.HttpBody http_body = 2;
}
service ResourceService {
rpc GetResource(GetResourceRequest)
returns (google.api.HttpBody);
rpc UpdateResource(google.api.HttpBody)
returns (google.protobuf.Empty);
}
דוגמה עם שיטות סטרימינג:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
השימוש בסוג הזה משנה רק את האופן שבו מטפלים בגוף הבקשה ובגוף התגובה. כל שאר התכונות ימשיכו לפעול ללא שינוי.
contentType
string
הערך של כותרת ה-HTTP Content-Type שמציין את סוג התוכן של הגוף.
data
string (bytes format)
גוף הבקשה/התשובה של ה-HTTP כקובץ בינארי גולמי.
מחרוזת בקידוד Base64.
extensions[]
object
מטא-נתונים של תגובה ספציפיים לאפליקציה. צריך להגדיר אותו בתגובה הראשונה לממשקי API של סטרימינג.
אובייקט שמכיל שדות מסוג שרירותי. שדה נוסף "@type"
מכיל URI שמזהה את הסוג. דוגמה: { "id": 1234, "@type": "types.example.com/standard/id" }
.
ייצוג ב-JSON |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
ResponseFormat
הגדרת הפורמט של התגובה.
type
string
חובה. סוג התגובה. יכול להיות אחד מהערכים הבאים: - 'text': הפורמט של התשובה יהיה טקסט. - "json_object": הפורמט של התגובה הוא אובייקט JSON. - 'jsonSchema': הפורמט של התגובה הוא אובייקט JSON בהתאם להסכימה שצוינה.
jsonSchema
object (ResponseFormatSchema
)
זה שינוי אופציונלי. הסכימה של קובץ ה-JSON. המערכת משתמשת בערך הזה רק אם הסוג הוא 'jsonSchema'.
ייצוג ב-JSON |
---|
{
"type": string,
"jsonSchema": {
object ( |
ResponseFormatSchema
הסכימה של התגובה.
description
string
זה שינוי אופציונלי. תיאור האובייקט שמיוצג על ידי הסכימה.
name
string
חובה. השם של סוג האובייקט שמיוצג על ידי הסכימה.
strict
boolean
זה שינוי אופציונלי. האם אימות הסכימה הוא קפדני. אם הערך הוא true, המודל ייכשל אם הסכימה לא חוקית. הערה: הפרמטר הזה לא מטופל כרגע.
schema
object (Struct
format)
זה שינוי אופציונלי. הסכימה של ה-JSON שצריך לפעול לפיה.
ייצוג ב-JSON |
---|
{ "description": string, "name": string, "strict": boolean, "schema": { object } } |
SdkListModelsResponse
תגובה למודלים של רשימות.
object
string
פלט בלבד. תמיד 'list', כפי שנדרש על ידי ה-SDK.
data[]
object (SdkModel
)
פלט בלבד. רשימה של הטמעות הנתונים המבוקשות.
ייצוג ב-JSON |
---|
{
"object": string,
"data": [
{
object ( |
SdkModel
אובייקט המודל.
id
string
פלט בלבד. המזהה של המודל.
object
string
פלט בלבד. תמיד 'model', כנדרש על ידי ה-SDK.
created
string (int64 format)
פלט בלבד. חותמת הזמן של מערכת Unix (בשניות) שבה נוצר המודל.
owned_by
string
פלט בלבד. הארגון שבבעלותו המודל.
ייצוג ב-JSON |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |