Bermigrasi ke PaLM API dari Azure OpenAI

Halaman ini menjelaskan langkah-langkah yang diperlukan untuk bermigrasi dari Microsoft Azure OpenAI ke Vertex AI PaLM API.

Tujuan

PaLM 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 Open AI ke Vertex AI PaLM API, Anda harus membuat project dan lingkungan pengembangan Google Cloud terlebih dahulu. Untuk mengetahui 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 project OpenAI di Microsoft Azure.

Menggunakan parameter PaLM API yang setara

Berikut adalah beberapa parameter Azure OpenAI umum dan parameter yang setara 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 respons penggantian, coba tingkatkan suhu.

0.01.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)

18192 (PaLM API)

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.

140

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.01.0

Gunakan model PaLM API yang setara

Tabel berikut menjelaskan model dasar yang tersedia.

Jenis Deskripsi Endpoint OpenAI Endpoint LLM PaLM API
Teks Disesuaikan untuk mengikuti petunjuk bahasa alami 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 AI Generatif di Vertex AI

Gunakan Vertex AI SDK untuk Python guna menginstal, mengimpor, dan mengautentikasi AI Generatif di Vertex AI. Berikut ini adalah 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