Pengoptimal zero-shot

Gunakan pengoptimal zero-shot untuk secara otomatis menyempurnakan dan meningkatkan kualitas perintah Anda. Jika perintah memiliki bahasa yang ambigu, tidak memiliki konteks, atau informasi yang tidak relevan, perintah tersebut mungkin tidak menghasilkan respons yang Anda inginkan. Pengoptimal menganalisis dan menulis ulang perintah Anda agar lebih jelas, efektif, dan selaras dengan kemampuan model, sehingga dapat menghasilkan respons berkualitas lebih tinggi.

Pengoptimal zero-shot berguna dalam skenario berikut:

  • Menyesuaikan dengan update model: Saat Anda mengupgrade ke versi model yang lebih baru, perintah yang ada mungkin tidak berfungsi secara optimal.
  • Meningkatkan pemahaman perintah: Jika susunan kata perintah rumit atau dapat disalahartikan, pengoptimal dapat menyusun ulang kata-katanya agar lebih jelas dan akurat.

Halaman ini menunjukkan cara menggunakan pengoptimal perintah zero-shot dan mencakup bagian berikut:

Kapan harus menggunakan pengoptimal zero-shot

Anda dapat menggunakan pengoptimal dengan dua cara. Tabel berikut membandingkan kedua pendekatan tersebut.

Opsi Deskripsi Kasus Penggunaan
Pembuatan Petunjuk Membuat serangkaian petunjuk sistem yang lengkap dan terstruktur dengan baik berdasarkan deskripsi tujuan Anda dalam bahasa yang sederhana. Saat Anda perlu membuat perintah baru yang kompleks dari awal dan ingin memastikan perintah tersebut terstruktur dengan baik.
Penyempurnaan Perintah Menganalisis dan meningkatkan kualitas perintah yang ada untuk menghasilkan respons yang lebih konsisten, detail, atau sesuai topik. Saat Anda memiliki perintah yang berfungsi, tetapi output model tidak memenuhi standar kualitas Anda.

Mengoptimalkan perintah

Pengoptimal tersedia melalui Vertex AI SDK dan mendukung pengoptimalan perintah dalam semua bahasa yang didukung Gemini. Contoh berikut menunjukkan cara memanggil pengoptimal:

# Import libraries
import vertexai
import logging

# Google Colab authentication
from google.colab import auth
PROJECT_NAME = "PROJECT"
auth.authenticate_user(project_id=PROJECT_NAME)

# Initialize the Vertex AI client
client = vertexai.Client(project=PROJECT_NAME, location='us-central1')

# Input original prompt to optimize
prompt = """You are a professional chef. Your goal is teaching how to cook healthy cooking recipes to your apprentice.

Given a question from your apprentice and some context, provide the correct answer to the question.
Use the context to return a single and correct answer with some explanation.
"""

# Optimize prompt
output = client.prompt_optimizer.optimize_prompt(prompt=prompt)

Memahami output

Objek output adalah jenis OptimizeResponse yang berisi informasi tentang proses pengoptimalan. Respons mencakup kolom kunci berikut:

  • suggested_prompt: Perintah yang dioptimalkan yang dapat Anda gunakan untuk mendapatkan hasil yang lebih baik dari model Anda.
  • applicable_guidelines: Informasi tentang alasan dan cara peningkatan kualitas perintah Anda, yang dapat membantu Anda menulis perintah yang lebih baik pada masa mendatang.

Berikut adalah contoh output-nya:

{
  "optimization_mode": "zero_shot",
  "applicable_guidelines": [
    {
      "applicable_guideline": "Structure",
      "suggested_improvement": "Add role definition.",
      "text_before_change": "...",
      "text_after_change": "Role: You are an AI assistant...\n\nTask Context:\n..."
    },
    {
      "applicable_guideline": "RedundancyInstructions",
      "suggested_improvement": "Remove redundant explanation.",
      "text_before_change": "...",
      "text_after_change": ""
    }
  ],
  "original_prompt": "...",
  "suggested_prompt": "Role: You are an AI assistant...\n\nTask Context:\n..."
}