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.
Esegui il comando seguente per installare l'SDK di Agent Platform per Example Store.
pip install --upgrade google-cloud-aiplatform>=1.87.0Utilizza 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.
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:
PROJECT_ID: il tuo ID progetto.
LOCATION: la tua regione. È supportata solo
us-central1.EXAMPLE_QUERY: la richiesta o la query dell'utente all'LLM o all'agente.
MODEL_NAME: il nome del modello. Ad esempio,
gemini-3.5-flash.FUNCTION_OR_FUNCTION_DECLARATION: la funzione o la dichiarazione di funzione da utilizzare nella richiesta. Consulta la documentazione dell'SDK GenAI per la chiamata di funzione per ricevere assistenza nella definizione di una funzione come strumento.
EXPECTED_FUNCTION_RESPONSE: la risposta della funzione prevista (un oggetto
FunctionResponse) per la chiamata di funzione prevista. Consulta la documentazione dell'SDK GenAI per la chiamata di funzione per ricevere assistenza nella definizione di una risposta della funzione.EXPECTED_FINAL_MODEL_RESPONSE: la risposta finale del modello prevista (un oggetto
Content) per la chiamata e la risposta della funzione previste.
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:
EXAMPLE_QUERY: la richiesta o la query dell'utente all'LLM o all'agente.
EXPECTED_FUNCTION_CALL: la chiamata di funzione prevista (un oggetto
FunctionCall) per la query utente fornita. Consulta la documentazione dell'SDK GenAI per la chiamata di funzione per ricevere assistenza nella definizione di una chiamata di funzione.EXPECTED_FUNCTION_RESPONSE: la risposta della funzione prevista (un oggetto
FunctionResponse) per la chiamata di funzione prevista. Consulta la documentazione dell'SDK GenAI per la chiamata di funzione per ricevere assistenza nella definizione di una risposta della funzione.EXPECTED_FINAL_MODEL_RESPONSE: la risposta finale del modello prevista (un oggetto
Content) per la chiamata e la risposta della funzione previste.
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
- Scopri come recuperare gli esempi.