Carica esempi

Dopo aver creato un'istanza di Example Store, puoi iniziare a creare e caricare esempi. Non esiste un limite al numero di esempi che puoi archiviare in un'istanza di Example Store. Gli esempi diventano disponibili immediatamente dopo il caricamento nell'istanza di Example Store.

Di seguito sono riportati alcuni scenari in cui dovrai caricare esempi:

  • Le query non sono pertinenti agli esempi esistenti.

  • Il modello ha difficoltà con alcuni ragionamenti.

  • Gli esempi disponibili non coprono tutte le funzioni, i risultati o i ragionamenti che ti aspetti.

Creando esempi pertinenti nel formato previsto, puoi ottenere i seguenti risultati:

  • Migliora la capacità dell'LLM di prestare attenzione agli esempi e di utilizzarli, evitando modifiche impreviste ai pattern di risposta derivanti da piccole modifiche al prompt.

  • Riduci il potenziale impatto negativo dell'aggiunta di esempi per query non pertinenti.

  • L'LLM si comporta come previsto per query simili.

Se l'LLM mostra un comportamento o un ragionamento imprevisto, puoi caricare una risposta corretta per guidare il modello a seguire il pattern o il ragionamento previsto nelle richieste successive.

Gli esempi in questa pagina ti consentono di creare esempi basati sull'output dell'LLM. La creazione di esempi basati sull'output di un LLM presenta i seguenti vantaggi rispetto alla creazione manuale di esempi:

  • La creazione di esempi basati sull'output LLM previsto richiede meno impegno manuale.

  • Creando esempi basati sul comportamento LLM imprevisto, puoi correggere direttamente i casi di errore.

  • Puoi creare esempi basati sulle risposte di modelli con buone prestazioni per migliorare il comportamento di altri modelli.

Utilizzare gli esempi per migliorare le prestazioni della chiamata di funzione

Puoi utilizzare esempi few-shot per migliorare le prestazioni della chiamata di funzione dimostrando: * Quando viene richiamata una determinata funzione.

  • Come estrarre gli argomenti da utilizzare nella chiamata di funzione.

  • Come risponde il modello in base alla risposta restituita dalla funzione o da più funzioni in caso di ragionamento in più passaggi.

Per saperne di più sulla chiamata di funzione, consulta la documentazione relativa.

Prerequisiti

Prima di utilizzare gli esempi Python in questa pagina, devi installare e inizializzare l'SDK di Agent Platform per Example Store nel tuo ambiente Python locale.

  1. Esegui il comando seguente per installare l'SDK di Agent Platform per Example Store.

    pip install --upgrade google-cloud-aiplatform>=1.87.0
  2. Utilizza il seguente esempio di codice per importare e inizializzare l'SDK per Example Store.

    import vertexai
    from vertexai.preview import example_stores
    
    vertexai.init(
      project="PROJECT_ID",
      location="LOCATION"
    )
    

    Sostituisci quanto segue:

    • PROJECT_ID: il tuo ID progetto.

    • LOCATION: la tua regione. È supportata solo us-central1.

Carica esempi

Utilizza gli esempi seguenti per caricare esempi in un'istanza di Example Store. Puoi caricare un massimo di cinque esempi per richiesta.

Python

Gli esempi seguenti ti consentono di migliorare il comportamento dell'LLM e le prestazioni della chiamata di funzione creando e caricando esempi in un'istanza di Example Store utilizzando le risposte ricevute da un LLM. Prima di utilizzare gli esempi seguenti, assicurati di aver eseguito le seguenti operazioni:

Segui le istruzioni di configurazione di Python in Installare le librerie client e configurare l'autenticazione utilizzando le Credenziali predefinite dell'applicazione.

Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python della piattaforma dell'agente.

Caricare un esempio basato su una risposta prevista

Utilizza l'esempio seguente per creare e caricare un esempio in uno scenario in cui la risposta dell'LLM è nel formato previsto. Questo esempio ti consente di inviare una richiesta, creare un esempio in base alla risposta e poi caricare l'esempio in un'istanza di Example Store.

from vertexai.preview.example_stores import ContentsExample, StoredContentsExample

client = genai.Client(
    http_options=genai_types.HttpOptions(api_version="v1"),
    vertexai=True,
    project="PROJECT_ID",
    location="LOCATION")

user_content = genai_types.Content(
    role="user",
    parts=[genai_types.Part(text="EXAMPLE_QUERY")],
)

response = client.models.generate_content(
    model="MODEL_NAME",
    user_content,
    config=genai_types.GenerateContentConfig(
      tools=[FUNCTION_OR_FUNCTION_DECLARATION]
    )
  )

# Upload example.
example = {
  "contents_example": {
    "contents": [user_content.to_json_dict()],
    "expected_contents": [
      {"content": response.candidates[0].content.to_json_dict()},
      {"content": EXPECTED_FUNCTION_RESPONSE.to_json_dict()},
      {"content": EXPECTED_FINAL_MODEL_RESPONSE.to_json_dict()},
    ],
  },
  "search_key": user_content.parts[0].text,
}
example_store.upsert_examples(examples=[example])

Sostituisci quanto segue:

Caricare un esempio per correggere una risposta imprevista

Se l'LLM non genera la risposta come previsto, puoi creare un esempio basato sulla risposta corretta. In questo modo, l'LLM seguirà il ragionamento previsto per le richieste successive.

Utilizza l'esempio seguente per caricare un esempio con la risposta corretta nell'istanza di Example Store.

user_content = genai_types.Content(
    role="user",
    parts=[genai_types.Part(text="EXAMPLE_QUERY")],
)

example = {
  "contents_example": {
    "contents": [user_content.to_json_dict()],
    "expected_contents": [
      {"content": EXPECTED_FUNCTION_CALL.to_json_dict()},
      {"content": EXPECTED_FUNCTION_RESPONSE.to_json_dict()},
      {"content": EXPECTED_FINAL_MODEL_RESPONSE.to_json_dict()},
    ],
  },
  "search_key": user_content.parts[0].text,
}

example_store.upsert_examples(examples=[example])

Sostituisci quanto segue:

REST

Per caricare un esempio in un'istanza di Example Store, invia una POST richiesta utilizzando il exampleStores.upsertExamples metodo.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: il tuo ID progetto.
  • LOCATION: la regione in cui vuoi creare l'example store. L'unica regione supportata è us-central1.
  • EXAMPLE_STORE_ID: l'ID dell'istanza di Example Store in cui vuoi caricare l'esempio.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores/EXAMPLE_STORE_ID:upsertExamples

Corpo JSON della richiesta:

{
  "examples": [
      {
          "stored_contents_example": {
              "contents_example": {
                  "contents": [
                      {
                          "role": "user",
                          "parts": [
                              {
                                  "text": "Is there a store in Mountain View, CA that I can visit to try the new Pixel 8 Pro?"
                              }
                          ]
                      }
                  ],
                  "expected_contents": [
                      {
                          "content": {
                              "role": "model",
                              "parts": [
                                  {
                                      "text": ""Yes, there is a store located at 2000 N Shoreline Blvd, Mountain View, CA 94043, US."
                                  }
                              ]
                          }
                      }
                  ]
              },
              "search_key_generation_method": {
                  "last_entry": {}
              }
          }
      }
  ]
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores/EXAMPLE_STORE_ID:upsertExamples"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, e quindi esegui il comando seguente:

$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://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores/EXAMPLE_STORE_ID:upsertExamples" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente, in cui EXAMPLE_ID rappresenta l'ID numerico generato per l'esempio.

Passaggi successivi