בדף הזה מוסבר איך להעביר קוד שנועד ל-OpenAI SDK אל Google Gen AI SDK כדי להשתמש במודלים של Gemini ב-Gemini Enterprise Agent Platform.
סקירה כללית על מיגרציה
במחברת הבאה מוצגת העברה מעשית מהספרייה openai לספרייה google-genai:
מיפוי של ממשקי API ותחביר
בטבלה הבאה מוצגת השוואה בין רכיבי הליבה, השיטות והפרמטרים של OpenAI SDK לבין Google Gen AI SDK.
| תכונה | OpenAI SDK (openai) |
Google Gen AI SDK (google-genai) |
|---|---|---|
| Client Initialization | client = OpenAI(api_key=...) |
client = genai.Client(vertexai=True, ...) |
| שיטת יצירה | client.chat.completions.create |
client.models.generate_content |
| שיטת סטרימינג | stream=True (פרמטר) |
client.models.generate_content_stream (אמצעי תשלום) |
| קלט משתמש | messages=[{"role": "user", "content": "..."}] |
contents="..." (str) או contents=[...] (list) |
| הוראות מערכת | messages=[{"role": "system", "content": "..."}] |
config=types.GenerateContentConfig(system_instruction=...) |
| Response Access | response.choices[0].message.content |
response.text |
| היסטוריית צ'אט | ניהול ידני של רשימות (messages.append) |
client.chats.create() (אובייקט עם מצב) |
| מספר הטוקנים המקסימלי | max_tokens |
max_output_tokens (בדומיין של config) |
| טמפרטורה | temperature |
temperature (בדומיין של config) |
| מצב JSON | response_format={"type": "json_object"} |
response_mime_type="application/json" (בדומיין של config) |
התקנה והגדרה
מסירים את ספריית OpenAI ומתקינים את Google Gen AI SDK.
pip install google-genai
2. אימות ואתחול
OpenAI משתמש במפתח API, אבל Agent Platform משתמש בפרטי כניסה לניהול זהויות והרשאות גישה (IAM) (Application Default Credentials). צריך להגדיר באופן מפורש את מזהה הפרויקט והמיקום.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
מגדירים את GOOGLE_GENAI_USE_ENTERPRISE, GOOGLE_CLOUD_PROJECT וGOOGLE_CLOUD_LOCATION, כמו שמוצג:
export GOOGLE_GENAI_USE_ENTERPRISE=true
export GOOGLE_CLOUD_PROJECT='your-project-id'
export GOOGLE_CLOUD_LOCATION='global'
אחרי ההגדרה, אפשר לאתחל את הלקוח בלי להעביר פרמטרים:
from google import genai
client = genai.Client()
דוגמאות לקוד
בדוגמאות הקוד הבאות אפשר לראות את ההבדלים בין OpenAI SDK לבין Google Gen AI SDK במשימות נפוצות.
יצירת טקסט בשיחה אחת
בדוגמאות הקוד הבאות אפשר לראות איך ליצור טקסט. שימו לב שב-Google Gen AI SDK, הוראות המערכת מטופלות כפרמטר הגדרה ולא כסוג הודעה ברשימת הקלט.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
יצירת טקסט עם פרמטרים
בדוגמאות הקוד הבאות אפשר לראות את ההבדלים בהגדרת פרמטרים של תצורה. ב-Google Gen AI SDK, פרמטרים כמו temperature, max_output_tokens (לשעבר max_tokens) ועיצוב JSON מקובצים באובייקט GenerateContentConfig.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
צ'אט (רב-שלבי)
בדוגמאות הקוד הבאות אפשר לראות את ההבדלים בניהול היסטוריית הצ'אט. Google Gen AI SDK מפשט את התהליך הזה באמצעות אובייקט chat עם שמירת מצב, בעוד שב-OpenAI צריך להוסיף הודעות לרשימה באופן ידני.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
סטרימינג
בדוגמאות הקוד הבאות אפשר לראות את ההבדלים בתגובות של הסטרימינג. Google Gen AI SDK משתמש בשיטה ספציפית (generate_content_stream) במקום בדגל בוליאני.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
המאמרים הבאים
- איך משתמשים בספריות של OpenAI עם Gemini Enterprise Agent Platform
- דוגמאות קוד לתאימות ל-OpenAI
- מדריך למתחילים בנושא Google Gen AI SDK