Halaman ini menjelaskan langkah-langkah yang diperlukan untuk bermigrasi ke Vertex AI Gemini API dari Microsoft Azure OpenAI.
Gemini API adalah layanan berbasis cloud yang terkelola sepenuhnya dan dapat digunakan untuk membuat dan melatih model generatif menggunakan Konsol Google Cloud. LLM memberikan akses ke model bahasa besar (LLM), yang dapat Anda gunakan untuk membuat berbagai aplikasi, termasuk chatbot, generator konten, dan alat kreatif.
Prasyarat
Untuk memigrasikan layanan OpenAI dari Microsoft Azure OpenAI ke Vertex AI Gemini API, Anda harus membuat project dan lingkungan pengembangan Google Cloud terlebih dahulu. Untuk mengetahui informasi selengkapnya, lihat Melakukan penyiapan di Google Cloud.
Bermigrasi ke Gemini API
Gunakan topik berikut untuk mempelajari cara bermigrasi ke Gemini API dari project OpenAI di Microsoft Azure.
Menggunakan parameter Gemini API yang setara
Berikut adalah beberapa parameter Azure OpenAI umum dan parameter yang setara di Gemini API:
Parameter OpenAI | Parameter Gemini API | Deskripsi | Nilai yang valid |
prompt |
prompt |
Perintah adalah permintaan natural language yang dikirimkan ke model bahasa untuk menerima respons kembali. Perintah dapat berisi pertanyaan, petunjuk, informasi kontekstual, contoh, dan teks untuk diselesaikan atau dilanjutkan oleh model. | Text |
temperature |
temperature |
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saat topP
dan topK diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token.
Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan
suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu 0
berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan
tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.
Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons penggantian, coba tingkatkan suhu. |
0.0 –1.0
|
max_tokens |
maxOutputTokens |
Jumlah maksimum token yang dapat dibuat dalam respons. Token terdiri dari sekitar empat karakter. 100 token setara dengan sekitar 60-80 kata.
Tentukan nilai yang lebih rendah untuk respons yang lebih pendek dan nilai yang lebih tinggi untuk respons yang berpotensi lebih lama. |
1-8192 (AI Open)
|
Tidak tersedia | topK |
Top-K mengubah cara model memilih token untuk output. Top-K
1 berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua
token dalam kosakata model (juga disebut decoding greedy), sedangkan top-K
3 berarti token berikutnya dipilih di antara tiga token yang paling
mungkin dengan menggunakan suhu.
Untuk setiap langkah pemilihan token, token top-K dengan probabilitas tertinggi akan diambil sampelnya. Kemudian token akan difilter lebih lanjut berdasarkan top-P dengan token akhir yang dipilih menggunakan pengambilan sampel suhu. Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. |
1 –40
|
top_p |
topP |
Top-P mengubah cara model memilih token untuk output. Token dipilih
dari yang paling mungkin (lihat top-K) hingga yang paling tidak mungkin sampai jumlah probabilitasnya
sama dengan nilai top-P. Misalnya, jika token A, B, dan C memiliki probabilitas
0,3, 0,2, dan 0,1 dengan nilai top-P 0.5 , model akan
memilih A atau B sebagai token berikutnya dengan menggunakan suhu dan mengecualikan
C sebagai kandidat.
Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak. |
0.0 –1.0
|
stop |
stop_sequences |
Urutan perhentian adalah serangkaian karakter (termasuk spasi) yang menghentikan pembuatan respons jika ditemukan oleh model. Urutan tidak disertakan sebagai bagian dari respons. Anda dapat menambahkan hingga lima urutan perhentian. | Urutan perhentian Anda dalam array—misalnya, ["###"] .
|
Menggunakan model Gemini API yang setara
Tabel berikut menjelaskan model dasar yang tersedia.
Jenis | Deskripsi | Endpoint OpenAI | Endpoint LLM Gemini API |
Text | Disesuaikan untuk mengikuti petunjuk bahasa alami dan cocok untuk berbagai tugas bahasa. | gpt-3.5-turbo atau gpt-4
|
gemini-1.0-pro
|
Chat | Disesuaikan untuk kasus penggunaan percakapan multi-giliran. | gpt-3.5-turbo atau gpt-4
|
gemini-1.0-pro
|
Menginstal, mengimpor, dan mengautentikasi Vertex AI Gemini API
Gunakan Vertex AI SDK untuk Python guna menginstal, mengimpor, dan mengautentikasi Vertex AI Gemini API. Berikut ini adalah metode yang setara untuk Vertex AI SDK untuk Python dan Azure OpenAI.
Menginstal Vertex AI Gemini API
Azure OpenAI
$ pip install --upgrade openai
Vertex AI Gemini API
$ pip install google-cloud-aiplatform
Mengimpor Vertex AI Gemini API
Azure OpenAI
import openai
Vertex AI Gemini API
from vertexai.preview.generative_models import GenerativeModel
Mengautentikasi Vertex AI Gemini API
Azure OpenAI
openai.api_key = os.getenv("OPENAI_API_KEY")
Vertex AI Gemini API
from google.colab import auth as google_auth
google_auth.authenticate_user()
Perbandingan dan kode contoh Vertex AI Gemini API dan Azure
Membuat teks dengan Vertex AI SDK untuk Python
Azure OpenAI
from openai import OpenAI
client = OpenAI()
response = client.completions.create(
prompt="Write an article about the potential of AI",
max_tokens=8192,
temperature=0.3,
model="gpt-4")
print(f"Response from Model: {response['choices'][0]['text']}")
Vertex AI Gemini API
from vertexai.preview.generative_models import GenerativeModel
model = GenerativeModel("gemini-1.0-pro")
generation_config = {
"max_output_tokens": 8192,
"temperature": 0.9,
"top_p": 1}
responses = model.generate_content(
"Write an article about the potential of AI",
generation_config=generation_config,
stream=True)
for response in responses:
print(response.text)
Menggunakan penyelesaian chat dengan Vertex AI SDK untuk Python
Azure OpenAI
from openai import OpenAI
client = OpenAI()
parameters = {
"model":"gpt-4",
"temperature": 0.2,
"max_tokens": 256,
"top_p": 0.95}
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "name":"example_user", "content": "Hello! Can you write a 300 word article on the history of AI?"}
]
,
**parameters)
response = chat_completion['choices'][0]
print(f"Response from Model: {response.text}")
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "name":"example_user", "content": "Could you give me a catchy title for the paper?"}
]
,
**parameters)
response = chat_completion['choices'][0]
print(f"Response from Model: {response.text}")
Vertex AI Gemini API
from vertexai.preview.generative_models import GenerativeModel
model = GenerativeModel("gemini-1.0-pro")
chat = model.start_chat()
responses = chat.send_message(
content="Hello! Can you write a 300 word article on the history of AI?",
stream=True)
for response in responses:
print(response.text)
responses = chat.send_message(
content="Could you give me a catchy title for the paper?",
stream=True)
for response in responses:
print(response.text)
Membuat kode dengan Vertex AI SDK untuk Python
Azure OpenAI
from openai import OpenAI
client = OpenAI()
response = client.completions.create(
prompt="Write a Python code to read a CSV file in pandas, calculate the average for a specific column, and then sort the data in descending order for that column",
max_tokens=8192,
temperature=0.3,
model="gpt-4")
print(f"Response from Model: {response['choices'][0]['text']}")
Vertex AI Gemini API
from vertexai.preview.generative_models import GenerativeModel
model = GenerativeModel("gemini-1.0-pro")
generation_config = {
"max_output_tokens": 8192,
"temperature": 0.9,
"top_p": 1,
}
responses = model.generate_content(
contents="Write a Python code to read a CSV file in pandas, calculate the average for a specific column, and then sort the data in descending order for that column",
generation_config=generation_config,
stream=True)
for response in responses:
print(response.text)
Langkah selanjutnya
- Pelajari cara menguji prompt di Vertex AI Studio.
- Pelajari desain perintah lebih lanjut untuk teks dan chat.
- Pelajari modal multimodal lebih lanjut.