מעבר אל Google GenAI SDK

החל מגרסה Gemini 2.0 שהושקה בסוף 2024, הוספנו קבוצה חדשה של ספריות שנקראת Google GenAI SDK. הוא מציע חוויית פיתוח משופרת באמצעות ארכיטקטורת לקוח מעודכנת, ומפשט את המעבר בין תהליכי עבודה של מפתחים לבין תהליכי עבודה של ארגונים.

‫Google GenAI SDK נמצא עכשיו בזמינות כללית (GA) בכל הפלטפורמות הנתמכות. אם אתם משתמשים באחת מספריות מדור קודם, מומלץ מאוד לבצע מיגרציה.

במדריך הזה יש דוגמאות של קוד לפני ואחרי ההעברה, כדי לעזור לכם להתחיל.

התקנה

לפני

Python

pip install -U -q "google-generativeai"

JavaScript

npm install @google/generative-ai

Go

go get github.com/google/generative-ai-go

אחרי

Python

pip install -U -q "google-genai"

JavaScript

npm install @google/genai

Go

go get google.golang.org/genai

גישה באמצעות ממשק API

ב-SDK הישן, הטיפול בלקוח ה-API נעשה באופן מרומז מאחורי הקלעים באמצעות מגוון שיטות אד-הוק. במצב כזה קשה לנהל את הלקוח ואת פרטי הכניסה. עכשיו, אתם יכולים ליצור אינטראקציה באמצעות אובייקט מרכזי של Client. אובייקט Client הזה משמש כנקודת כניסה יחידה לשירותי API שונים (למשל, models, ‏ chats,‏ files, ‏ tunings), ומקדם עקביות ומפשט את ניהול האישורים וההגדרות בקריאות שונות ל-API.

לפני (גישת API פחות מרכזית)

Python

ב-SDK הישן לא נעשה שימוש מפורש באובייקט לקוח ברמה העליונה ברוב הקריאות ל-API. אתם יוצרים ישירות מופעים של אובייקטים של GenerativeModel ומבצעים איתם אינטראקציה.

import google.generativeai as genai

# Directly create and use model objects
model = genai.GenerativeModel('gemini-3.5-flash')
response = model.generate_content(...)
chat = model.start_chat(...)

JavaScript

GoogleGenerativeAI היה נקודה מרכזית למודלים ולצ'אט, אבל כדי להשתמש בפונקציות אחרות כמו ניהול קבצים ומטמון, היה צריך לייבא ולהפעיל מחלקות לקוח נפרדות לגמרי.

import { GoogleGenerativeAI } from "@google/generative-ai";
import { GoogleAIFileManager, GoogleAICacheManager } from "@google/generative-ai/server"; // For files/caching

const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");
const fileManager = new GoogleAIFileManager("GEMINI_API_KEY");
const cacheManager = new GoogleAICacheManager("GEMINI_API_KEY");

// Get a model instance, then call methods on it
const model = genAI.getGenerativeModel({ model: "gemini-3.5-flash" });
const result = await model.generateContent(...);
const chat = model.startChat(...);

// Call methods on separate client objects for other services
const uploadedFile = await fileManager.uploadFile(...);
const cache = await cacheManager.create(...);

Go

הפונקציה genai.NewClient יצרה לקוח, אבל בדרך כלל הפעולות של המודל הגנרטיבי הופעלו במופע GenerativeModel נפרד שהתקבל מהלקוח הזה. יכול להיות שהייתה גישה לשירותים אחרים באמצעות חבילות או דפוסים שונים.

import (
      "github.com/google/generative-ai-go/genai"
      "github.com/google/generative-ai-go/genai/fileman" // For files
      "google.golang.org/api/option"
)

client, err := genai.NewClient(ctx, option.WithAPIKey("GEMINI_API_KEY"))
fileClient, err := fileman.NewClient(ctx, option.WithAPIKey("GEMINI_API_KEY"))

// Get a model instance, then call methods on it
model := client.GenerativeModel("gemini-3.5-flash")
resp, err := model.GenerateContent(...)
cs := model.StartChat()

// Call methods on separate client objects for other services
uploadedFile, err := fileClient.UploadFile(...)

אחרי (אובייקט לקוח מרכזי)

Python

from google import genai

# Create a single client object
client = genai.Client()

# Access API methods through services on the client object
response = client.models