Respons dasar untuk model PaLM 2

PaLM daratan ke data Anda

Untuk mulai menggunakan landasan model dalam AI Generatif di Vertex AI, Anda harus menyelesaikan beberapa prasyarat. Hal ini termasuk membuat sumber data Vertex AI Search, mengaktifkan edisi Enterprise untuk datastore Anda, dan menautkan datastore ke aplikasi Anda di Vertex AI Search. Sumber data berfungsi sebagai landasan untuk landasan text-bison dan chat-bison di Vertex AI.

Vertex AI Search membantu Anda memulai penelusuran atau rekomendasi berkualitas tinggi berdasarkan data yang Anda berikan. Untuk mempelajari Vertex AI Search lebih lanjut, lihat Pengantar Vertex AI Search.

Aktifkan Vertex AI Search

  1. Di konsol Google Cloud, buka halaman Penelusuran & Percakapan.

    Penelusuran & Percakapan

  2. Baca dan setujui persyaratan layanan, lalu klik Continue and enable the API.

Membuat datastore di Vertex AI Search

Untuk membandingkan model dengan data sumber, Anda harus sudah menyiapkan dan menyimpan data ke Vertex AI Search. Untuk melakukannya, Anda perlu membuat penyimpanan data di Vertex AI Search.

Jika memulai dari awal, Anda harus menyiapkan data untuk ditransfer ke Vertex AI Search. Lihat Menyiapkan data untuk diserap untuk memulai. Bergantung pada ukuran data Anda, penyerapan dapat memerlukan waktu beberapa menit hingga beberapa jam. Hanya penyimpanan data tidak terstruktur yang didukung untuk landasan. Setelah menyiapkan data untuk penyerapan, Anda dapat Membuat penyimpanan data penelusuran. Setelah Anda berhasil membuat penyimpanan data, Buat aplikasi penelusuran untuk menautkannya dan Aktifkan edisi Enterprise.

Meletakkan model text-bison di tanah

Grounding tersedia untuk model text-bison dan chat-bison. Contoh berikut ini menggunakan model dasar text-bison.

Jika menggunakan API, Anda akan meng-ground text-bison saat memanggil prediksi. Untuk melakukannya, tambahkan groundingConfig opsional dan referensikan lokasi datastore, serta ID datastore Anda.

Jika Anda tidak mengetahui ID datastore Anda, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Vertex AI Search dan di menu navigasi, klik Datastore. <a{: class="button button-primary" l10n-attrs-original-order="href,target,class,track-name,track-type" l10n-encrypted-href="BU2UnTd/bvXw0I31NoHStFtigmNHgUGOXn/QVSGplOhB4J1rwNxdLkslXs
  2. Klik nama datastore Anda.
  3. Di halaman Data untuk datastore Anda, dapatkan ID datastore.

REST

Untuk menguji prompt teks menggunakan Vertex AI API, kirim permintaan POST ke endpoint model penayang.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • PROMPT: Perintah adalah permintaan natural language yang dikirimkan ke model bahasa untuk menerima respons balik. Perintah dapat berisi pertanyaan, instruksi, informasi kontekstual, contoh, dan teks untuk diselesaikan atau dilanjutkan oleh model. (Jangan tambahkan tanda kutip di sekitar perintah di sini.)
  • 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.

  • MAX_OUTPUT_TOKENS: 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.

  • TOP_P: 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 adalah 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.

  • TOP_K: Top-K mengubah cara model memilih token untuk output. Top-K dari 1 berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding greedy), sedangkan nilai top-K dari 3 berarti token berikutnya dipilih di antara tiga token yang paling mungkin 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.

  • SOURCE_TYPE Jenis sumber data yang menjadi dasar model. Hanya Vertex AI Search yang didukung.
  • VERTEX_AI_SEARCH_DATA_STORE: Jalur ID penyimpanan data Vertex AI Search.

    VERTEX_AI_SEARCH_DATA_STORE harus menggunakan format berikut. Gunakan nilai yang disediakan untuk lokasi dan koleksi: projects/{project_id}/locations/global/collections/default_collection/dataStores/{data_store_id}

    Catatan: Project ID di jalur ID data store ini adalah project ID Vertex AI Search Anda.

Metode HTTP dan URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-bison:predict

Isi JSON permintaan:

{
  "instances": [
    { "prompt": "PROMPT"}
  ],
  "parameters": {
    "temperature": TEMPERATURE,
    "maxOutputTokens": MAX_OUTPUT_TOKENS,
    "topP": TOP_P,
    "topK": TOP_K,
    "groundingConfig": {
      "sources": [
          {
              "type": "VERTEX_AI_SEARCH",
              "vertexAiSearchDatastore": "VERTEX_AI_SEARCH_DATA_STORE"
          }
      ]
    }
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-bison:predict"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-bison:predict" | Select-Object -Expand Content

Anda akan melihat respons JSON yang mirip seperti berikut:

Konsol

Untuk mem-ground model dari Vertex AI Studio, ikuti petunjuk berikut.

  1. Pilih kartu model PaLM 2 for Text Bison atau PaLM 2 for Chat Bison di Model Garden.

    <a{: class="button button-primary" l10n-attrs-original-order="href,target,class,track-name,track-type" l10n-encrypted-href="kDsq5VTi6ASK/vNFlrWmnltigmNHgUGOXn/QVSGplOi71dheYhG9dKuv3S
  2. Dari kartu model, klik Buka desain prompt. Vertex AI Studio akan terbuka.
  3. Dari panel parameter, pilih Lanjutan.
  4. Alihkan opsi Aktifkan Grounding, lalu pilih Customize.
  5. Dari dropdown sumber grounding, pilih Vertex AI Search.
  6. Masukkan jalur penyimpanan data Vertex AI Search ke konten Anda. Jalur harus mengikuti format ini: projects/{project_id}/locations/global/collections/default_collection/dataStores/{data_store_id}.
  7. Masukkan perintah, lalu klik Kirim.

Python

Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.

from typing import Optional

import vertexai
from vertexai.language_models import (
    GroundingSource,
    TextGenerationModel,
    TextGenerationResponse,
)

def grounding(
    project_id: str,
    location: str,
    data_store_location: Optional[str],
    data_store_id: Optional[str],
) -> TextGenerationResponse:
    """Grounding example with a Large Language Model"""

    vertexai.init(project=project_id, location=location)

    # TODO developer - override these parameters as needed:
    parameters = {
        "temperature": 0.7,  # Temperature controls the degree of randomness in token selection.
        "max_output_tokens": 256,  # Token limit determines the maximum amount of text output.
        "top_p": 0.8,  # Tokens are selected from most probable to least until the sum of their probabilities equals the top_p value.
        "top_k": 40,  # A top_k of 1 means the selected token is the most probable among all tokens.
    }

    model = TextGenerationModel.from_pretrained("text-bison@002")

    if data_store_id and data_store_location:
        # Use Vertex AI Search data store
        grounding_source = GroundingSource.VertexAISearch(
            data_store_id=data_store_id, location=data_store_location
        )
    else:
        # Use Google Search for grounding (Private Preview)
        grounding_source = GroundingSource.WebSearch()

    response = model.predict(
        "What are the price, available colors, and storage size options of a Pixel Tablet?",
        grounding_source=grounding_source,
        **parameters,
    )
    print(f"Response from Model: {response.text}")
    print(f"Grounding Metadata: {response.grounding_metadata}")

Langkah selanjutnya