Halaman ini menjelaskan cara memigrasikan kode yang dirancang untuk OpenAI SDK ke Google Gen AI SDK untuk memanfaatkan model Gemini di Vertex AI.
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 Gen AI SDK.
| Fitur | SDK OpenAI (openai) |
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=[...] (list) |
| 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 penting) |
| Token Maksimal | 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 Gen AI SDK.
pip install google-genai
2. Autentikasi & Inisialisasi
Meskipun OpenAI menggunakan Kunci API, Vertex AI 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_VERTEXAI, GOOGLE_CLOUD_PROJECT, dan GOOGLE_CLOUD_LOCATION, seperti yang ditunjukkan:
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT='your-project-id'
export GOOGLE_CLOUD_LOCATION='global'
Setelah dikonfigurasi, Anda dapat melakukan inisialisasi 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 sekali interaksi
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 menyederhanakannya dengan menyediakan objek chat yang memiliki status, 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 tanda boolean.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Langkah berikutnya
- Pelajari cara Menggunakan library OpenAI dengan Vertex AI.
- Lihat contoh kode untuk kompatibilitas OpenAI.
- Mulai menggunakan panduan memulai Google Gen AI SDK.