Pengelolaan dialog konfirmasi

Vertex AI menawarkan alat untuk membantu mengelola template perintah dan data perintah. Template perintah dapat diberi versi dan digunakan bersama dengan model generatif di Vertex AI. Setiap perintah dapat dirakit dan dibuat versinya di Vertex AI Studio atau Vertex AI SDK.

Vertex AI SDK menyertakan modul vertexai.preview.prompts sehingga perintah dapat berfungsi dengan model generatif. Modul vertexai.preview.prompts mendukung kemampuan untuk menentukan, menyimpan, dan mengelola perintah untuk membuat teks dengan Gemini.

Prompt

Class Prompt mewakili perintah yang dapat digunakan untuk membuat teks dengan metode Gemini, yang mengenkapsulasi data perintah, variabel, konfigurasi pembuatan, dan informasi relevan lainnya.

Untuk membuat objek Prompt, gunakan konstruktor vertexai.preview.prompts.Prompt(). Anda dapat menentukan data perintah, variabel, dan konfigurasi lainnya dalam objek ini.

Membuat perintah lokal dan membuat konten

Vertex AI SDK untuk Python

Python

import vertexai
from vertexai.preview import prompts
from vertexai.preview.prompts import Prompt

# from vertexai.generative_models import GenerationConfig, SafetySetting # Optional

# Initialize vertexai
vertexai.init(project=PROJECT_ID, location="us-central1")

# Create local Prompt
local_prompt = Prompt(
    prompt_name="movie-critic",
    prompt_data="Compare the movies {movie1} and {movie2}.",
    variables=[
        {"movie1": "The Lion King", "movie2": "Frozen"},
        {"movie1": "Inception", "movie2": "Interstellar"},
    ],
    model_name="gemini-1.5-pro-002",
    system_instruction="You are a movie critic. Answer in a short sentence.",
    # generation_config=GenerationConfig, # Optional,
    # safety_settings=SafetySetting, # Optional,
)

# Generate content using the assembled prompt for each variable set.
for i in range(len(local_prompt.variables)):
    response = local_prompt.generate_content(
        contents=local_prompt.assemble_contents(**local_prompt.variables[i])
    )
    print(response)

# Save a version
prompt1 = prompts.create_version(prompt=local_prompt)

print(prompt1)

# Example response
# Assembled prompt replacing: 1 instances of variable movie1, 1 instances of variable movie2
# Assembled prompt replacing: 1 instances of variable movie1, 1 instances of variable movie2
# Created prompt resource with id 12345678910.....
  • project: Project ID Anda. Anda dapat menemukan ID ini di halaman sambutan Konsol Google Cloud.
  • location: Lihat Lokasi Vertex AI.
  • prompt_name: Nama tampilan perintah yang dibuat oleh pengguna, jika disimpan dalam resource online.
  • prompt_data: Perintah PartsType, yang dapat berupa template dengan variabel atau perintah tanpa variabel.
  • variables: Daftar kamus yang berisi nama dan nilai variabel.
  • generation_config: Objek GenerationConfig yang berisi parameter untuk pembuatan.
  • model_name: Nama resource model Model Garden. Atau, nama resource endpoint model yang disesuaikan dapat diberikan. Jika tidak ada model yang diberikan, model terbaru default akan digunakan.
  • safety_settings: Objek SafetySetting yang berisi setelan keamanan untuk pembuatan.
  • system_instruction: Objek PartsType yang mewakili petunjuk sistem.

Setelah pembuatan objek Prompt, data dan properti perintah yang mewakili berbagai konfigurasi dapat digunakan untuk membuat konten.

Perintah juga mendukung panggilan fungsi. Lihat Pengantar panggilan fungsi untuk mempelajari lebih lanjut.

Menyimpan perintah

Untuk menyimpan perintah ke resource online, yang dapat diakses di konsol Google Cloud, gunakan metode vertexai.preview.prompts.create_version(). Metode ini menggunakan objek Prompt sebagai input dan membuat versi baru perintah di toko online. Objek Prompt baru akan ditampilkan yang dikaitkan dengan resource online. Setiap pembaruan yang dilakukan pada objek Prompt bersifat lokal hingga create_version() dipanggil. Contoh kode berikut menunjukkan cara menyimpan perintah:

Vertex AI SDK untuk Python

from vertexai.preview import prompts

# Save Prompt to online resource.
# Returns a new Prompt object associated with the online resource.
prompt1 = prompts.create_version(prompt=prompt)

Memuat perintah tersimpan

Untuk memuat perintah yang telah disimpan ke resource online, gunakan metode vertexai.preview.prompts.get(). Metode ini menggunakan ID perintah sebagai input dan menampilkan objek Prompt yang sesuai. Contoh kode ini menunjukkan cara memuat perintah tersimpan:

Vertex AI SDK untuk Python

from vertexai.preview import prompts 

# Get prompt
prompt = prompts.get(prompt_id="123456789")

Mengambil perintah yang dibuat di konsol Google Cloud

Untuk memperbarui perintah tersimpan, pertama-tama muat perintah menggunakan metode get(), ubah propertinya sesuai kebutuhan, lalu simpan perintah yang diperbarui menggunakan metode create_version(). Tindakan ini akan membuat versi baru perintah dengan informasi yang diperbarui.

Vertex AI SDK untuk Python

from vertexai.preview import prompts
from vertexai.preview.prompts import Prompt

# Get prompt
prompt = prompts.get(prompt_id="123456789")

# Generate content using the assembled prompt (a prompt without variables)
prompt.generate_content(
  contents=prompt.assemble_contents()
)

# Update prompt (changes are local until create_version is called)
prompt.prompt_data = "new prompt"

# Save Prompt to online resource. Since the prompt is associated with a prompt resource, it creates a new version under the same prompt_id. Returns a new Prompt object associated with the online resource
prompt1 = prompts.create_version(prompt=prompt)

Mencantumkan perintah

Untuk melihat nama tampilan dan ID perintah dari semua perintah yang disimpan dalam project Google Cloud saat ini, gunakan metode list_prompts().

Vertex AI SDK untuk Python

from vertexai.preview import prompts

prompts_metadata = prompts.list()

# Get a prompt from the list
prompt1 = prompts.get(prompt_id=prompts_metadata[0].prompt_id)

Mencantumkan versi perintah

Untuk melihat nama tampilan dan ID versi dari semua versi perintah yang disimpan dalam perintah, gunakan metode list_versions() .

Vertex AI SDK untuk Python

from vertexai.preview import prompts

prompt_versions_metadata = prompts.list_versions(prompt_id="123456789")

# Get a specific prompt version from the versions metadata list
prompt1 = prompts.get(
    prompt_id=prompt_versions_metadata[3].prompt_id,
    version_id=prompt_versions_metadata[3].version_id
)

Memulihkan versi perintah

Resource perintah juga berisi histori versi yang menyimpan versi perintah yang disimpan sebelumnya. Anda dapat menggunakan metode restore_version() untuk memulihkan versi lama sebagai versi terbaru perintah. Tindakan ini akan menampilkan PromptVersionMetadata yang dapat digunakan dengan panggilan get() untuk mengambil versi yang baru dipulihkan.

Vertex AI SDK untuk Python

from vertexai.preview import prompts

# Restore to prompt version id 1 (original)
prompt_version_metadata = prompts.restore_version(prompt_id="123456789", version_id="1")

# Fetch the newly restored latest version of the prompt
prompt1 = prompts.get(prompt_id=prompt_version_metadata.prompt_id)

Menghapus perintah

Untuk menghapus resource online yang terkait dengan ID perintah, gunakan metode delete().

Vertex AI SDK untuk Python

from vertexai.preview import prompts

prompts.delete(prompt_id="123456789")