Halaman ini menjelaskan cara memigrasikan kode yang dirancang untuk OpenAI SDK ke Google Gen AI SDK guna memanfaatkan model Gemini di Gemini Enterprise Agent Platform.
Ringkasan Migrasi
Notebook berikut menunjukkan migrasi praktis dari library openai ke library google-genai:
Pemetaan API &Sintaksis
Tabel berikut membandingkan komponen inti, metode, dan parameter OpenAI SDK dengan Google Gen AI SDK.
| Fitur | OpenAI SDK (openai) |
Google Gen AI SDK (google-genai) |
|---|---|---|
| Inisialisasi Klien | client = OpenAI(api_key=...) |
client = genai.Client(vertexai=True, ...) |
| Metode Pembuatan | client.chat.completions.create |
client.models.generate_content |
| Metode Streaming | stream=True (parameter) |
client.models.generate_content_stream (metode) |
| Input Pengguna | messages=[{"role": "user", "content": "..."}] |
contents="..." (str) atau contents=[...] (daftar) |
| Petunjuk Sistem | messages=[{"role": "system", "content": "..."}] |
config=types.GenerateContentConfig(system_instruction=...) |
| Akses Respons | response.choices[0].message.content |
response.text |
| Histori Chat | Pengelolaan daftar manual (messages.append) |
client.chats.create() (Objek stateful) |
| Token Maksimum | max_tokens |
max_output_tokens (di dalam config) |
| Temperatur | temperature |
temperature (di dalam config) |
| Mode JSON | response_format={"type": "json_object"} |
response_mime_type="application/json" (di dalam config) |
Penginstalan dan Penyiapan
Uninstal library OpenAI dan instal Google Gen AI SDK.
pip install google-genai
2. Autentikasi &Inisialisasi
Meskipun OpenAI menggunakan Kunci API, Agent Platform menggunakan kredensial Identity and Access Management (IAM) (Kredensial Default Aplikasi). Anda harus menentukan Project ID dan Lokasi secara eksplisit.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Tetapkan GOOGLE_GENAI_USE_ENTERPRISE, GOOGLE_CLOUD_PROJECT, dan GOOGLE_CLOUD_LOCATION, seperti yang ditunjukkan:
export GOOGLE_GENAI_USE_ENTERPRISE=true
export GOOGLE_CLOUD_PROJECT='your-project-id'
export GOOGLE_CLOUD_LOCATION='global'
Setelah dikonfigurasi, Anda dapat menginisialisasi klien tanpa meneruskan parameter:
from google import genai
client = genai.Client()
Contoh Kode
Contoh kode berikut menunjukkan perbedaan antara OpenAI SDK dan Google Gen AI SDK untuk tugas umum.
Pembuatan teks satu kali
Contoh kode berikut menunjukkan cara membuat teks. Perhatikan bahwa di Google Gen AI SDK, petunjuk sistem ditangani sebagai parameter konfigurasi, bukan peran pesan dalam daftar input.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Pembuatan teks dengan parameter
Contoh kode berikut menunjukkan perbedaan dalam menentukan parameter konfigurasi. Di Google Gen AI SDK, parameter seperti temperature, max_output_tokens (sebelumnya max_tokens), dan pemformatan JSON dikelompokkan ke dalam objek GenerateContentConfig.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Chat (Multi-turn)
Contoh kode berikut menunjukkan perbedaan dalam mengelola histori chat. Google Gen AI SDK menyederhanakan hal ini dengan menyediakan objek chat stateful, sedangkan OpenAI mengharuskan penambahan pesan secara manual ke daftar.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Streaming
Contoh kode berikut menunjukkan perbedaan dalam respons streaming. Google Gen AI SDK menggunakan metode tertentu (generate_content_stream), bukan flag boolean.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Langkah berikutnya
- Pelajari cara Menggunakan library OpenAI dengan Gemini Enterprise Agent Platform.
- Lihat contoh kode untuk kompatibilitas OpenAI.
- Mulai menggunakan panduan memulai Google Gen AI SDK.