Halaman ini menguraikan langkah-langkah yang diperlukan untuk bermigrasi ke Vertex AI PaLM API dari OpenAI Microsoft Azure.
Tujuan
PaLM API adalah layanan berbasis cloud yang terkelola Anda dapat membuat dan melatih model generatif menggunakan konsol Google Cloud. Menyediakan akses ke model bahasa besar (LLM), yang dapat Anda gunakan untuk membuat aplikasi, termasuk chatbot, generator konten, dan alat kreatif.
Prasyarat
Untuk memigrasikan layanan OpenAI dari Microsoft Azure Open AI ke Vertex AI PaLM API, Anda harus membuat project dan lingkungan pengembangan Google Cloud terlebih dahulu. Sebagai informasi selengkapnya, lihat Menyiapkan project Google Cloud dan lingkungan pengembangan.
Bermigrasi ke PaLM API
Gunakan topik berikut untuk mempelajari cara bermigrasi ke PaLM API dari proyek OpenAI di Microsoft Azure.
Menggunakan parameter PaLM API yang setara
Berikut adalah beberapa parameter umum OpenAI Azure dan padanannya di PaLM API:
Parameter OpenAI | Parameter PaLM 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. | Teks |
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 fallback respons, coba tingkatkan suhunya. |
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 singkat dan nilai yang lebih tinggi untuk respons yang berpotensi lebih lama yang dihasilkan. |
1-8192 (OpenAI)
|
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
|
Gunakan model PaLM API yang setara
Tabel berikut menjelaskan model dasar yang tersedia.
Jenis | Deskripsi | Endpoint OpenAI | Endpoint LLM PaLM API |
Teks | Disesuaikan agar mengikuti petunjuk natural language dan cocok untuk berbagai tugas bahasa. | gpt-3.5-turbo atau gpt-4
|
text-bison@002
|
Chat | Disesuaikan untuk kasus penggunaan percakapan multi-giliran. | gpt-3.5-turbo atau gpt-4
|
chat-bison@002
|
Embedding | Disesuaikan untuk menampilkan embedding model untuk input teks. | text-embedding-ada-002
|
textembedding-gecko@003
|
Menginstal, mengimpor, dan mengautentikasi Generative AI di Vertex AI
Menggunakan Vertex AI SDK untuk Python guna menginstal, mengimpor, dan mengautentikasi AI Generatif di Vertex AI. Yang berikut ini menunjukkan metode yang setara untuk Vertex AI SDK untuk Python dan Azure OpenAI.
Menginstal Vertex AI PaLM API
Azure OpenAI
$ pip install --upgrade openai
Vertex AI PaLM API
$ pip install google-cloud-aiplatform
Mengimpor Vertex AI PaLM API
Azure OpenAI
import openai
Vertex AI PaLM API
from vertexai.preview.language_models import TextGenerationModel
Mengautentikasi Vertex AI PaLM API
Azure OpenAI
openai.api_key = os.getenv("OPENAI_API_KEY")
Vertex AI PaLM API
from google.colab import auth as google_auth
google_auth.authenticate_user()
Perbandingan dan kode contoh Vertex AI PaLM API dan Azure
Membuat teks dengan Vertex AI SDK untuk Python
Azure OpenAI
from openai import OpenAI
client = OpenAI()
response = client.completions.create(prompt="Hello",
max_tokens=256,
temperature=0.3,
model="gpt-4")
print(f"Response from Model: {response['choices'][0]['text']}")
Vertex AI PaLM API
from vertexai.preview.language_models import TextGenerationModel
model = TextGenerationModel.from_pretrained("text-bison@002")
response = model.predict(
"Hello",
max_output_tokens=256,
temperature=0.3,)
print(f"Response from Model: {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 = client.chat.completions.create(
messages=[
{"role": "system", "content": "My name is Miles. You are an astronomer, knowledgeable about the solar system."},
{"role": "user", "name":"example_user", "content": "How many planets are there in the solar system?"}
],
**parameters)
response = chat['choices'][0]
print(f"Response from Azure OpenAI Model: {response.text}")
Vertex AI PaLM API
from vertexai.preview.language_models import ChatModel
chat_model = ChatModel.from_pretrained("chat-bison@002")
parameters = {
"temperature": 0.2,
"max_output_tokens": 256,
"top_p": 0.95}
chat = chat_model.start_chat(context="My name is Miles. You are an astronomer, knowledgeable about the solar system.")
response = chat.send_message(
"How many planets are there in the solar system?",
**parameters)
print(f"Response from Google GenAI Model: {response.text}")
Menggunakan embedding teks dengan Vertex AI SDK untuk Python
Azure OpenAI
import openai
embeddings = openai.Embedding.create(
deployment_id="text-embedding-ada-002",
#engine="text-embedding-ada-002",
input="What is life?"
)["data"][0]["embedding"]
print(f'Length of Embedding Vector: {len(embeddings)}')
Vertex AI PaLM API
from vertexai.preview.language_models import TextEmbeddingModel
model = TextEmbeddingModel.from_pretrained("textembedding-gecko@003")
embeddings = model.get_embeddings(["What is life?"])
for embedding in embeddings:
vector = embedding.values
print(f'Length of Embedding Vector: {len(vector)}')
Langkah selanjutnya
- Pelajari cara menguji prompt di Vertex AI Studio.
- Pelajari desain perintah lebih lanjut untuk teks dan chat.
- Pelajari embedding teks lebih lanjut.
- Pelajari cara menyesuaikan model dasar