Depois de criar uma instância da loja de exemplo, pode começar a criar e carregar exemplos para a mesma. Não existe um número limite de exemplos que pode armazenar numa instância da loja de exemplos. Os exemplos ficam disponíveis imediatamente após o carregamento para a instância da loja de exemplos.
Seguem-se alguns cenários em que tem de carregar exemplos:
As consultas são irrelevantes para os exemplos existentes.
O modelo tem dificuldades com algum raciocínio.
Os exemplos disponíveis não abrangem todas as funções, resultados ou raciocínios que espera.
Ao criar exemplos relevantes no formato esperado, pode alcançar o seguinte:
Melhorar a capacidade do MDG de prestar atenção aos exemplos e usá-los, evitando alterações inesperadas aos padrões de resposta resultantes de pequenas alterações ao comando.
Reduzir o potencial impacto negativo da adição de exemplos para consultas irrelevantes.
O MDG tem o desempenho esperado para consultas semelhantes.
Se o MDG apresentar um comportamento ou um raciocínio inesperado, pode carregar uma resposta corrigida para orientar o modelo a seguir o padrão ou o raciocínio esperado em pedidos subsequentes.
Os exemplos nesta página permitem-lhe criar exemplos com base na saída do GML. A criação de exemplos com base na saída de um MDG tem as seguintes vantagens em relação à criação manual de exemplos:
A criação de exemplos com base no resultado esperado do MDI/CE envolve menos esforço manual.
Ao criar exemplos baseados no comportamento inesperado do MDI/CE, pode corrigir diretamente casos de falha.
Pode criar exemplos com base nas respostas de modelos com bom desempenho para melhorar o comportamento de outros modelos. Por exemplo, se o Gemini 1.5 Pro fornecer melhores respostas do que o Gemini 1.5 Flash, mas com uma latência mais elevada, pode criar exemplos com essas respostas para alcançar um desempenho semelhante com latências mais baixas usando o Gemini 1.5 Flash.
Use exemplos para melhorar o desempenho das chamadas de funções
Pode usar exemplos de poucos disparos para melhorar o desempenho da chamada de funções, demonstrando o seguinte: * Quando uma função específica é invocada.
Como extrair os argumentos a usar na chamada de função.
Como o modelo responde com base na resposta devolvida pela função ou por várias funções no caso do raciocínio de vários passos.
Para saber mais sobre a Chamada de funções, consulte a documentação da Chamada de funções.
Pré-requisitos
Antes de usar os exemplos de Python nesta página, tem de instalar e inicializar o SDK do Vertex AI para Python para a Example Store no seu ambiente Python local.
Execute o seguinte comando para instalar o SDK Vertex AI para Python para a Example Store.
pip install --upgrade google-cloud-aiplatform>=1.87.0
Use o seguinte exemplo de código para importar e inicializar o SDK para a loja de exemplo.
import vertexai from vertexai.preview import example_stores vertexai.init( project="PROJECT_ID", location="LOCATION" )
Substitua o seguinte:
PROJECT_ID: o ID do seu projeto.
LOCATION: a sua região. Apenas
us-central1
é suportado.
Carregue exemplos
Use os seguintes exemplos para carregar exemplos para uma instância da loja de exemplo. Pode carregar um máximo de cinco exemplos por pedido.
Python
Os seguintes exemplos permitem-lhe melhorar o comportamento do MDG e o desempenho da chamada de funções criando e carregando exemplos para uma instância da Example Store, usando respostas recebidas de um MDG. Antes de usar os exemplos seguintes, certifique-se de que fez o seguinte:Siga as instruções de configuração do Python no guia de início rápido do Vertex AI com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Python da Vertex AI.
Autentique-se no Vertex AI configurando as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Carregue um exemplo com base numa resposta esperada
Use o exemplo seguinte para criar e carregar uma amostra num cenário em que a resposta do MDI/CE está no formato esperado. Este exemplo permite-lhe enviar um pedido, criar um exemplo com base na resposta e, em seguida, carregar o exemplo para uma instância da 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 = Content(
role="user",
parts=[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])
Substitua o seguinte:
PROJECT_ID: o ID do seu projeto.
LOCATION: a sua região. Apenas
us-central1
é suportado.EXAMPLE_QUERY: o pedido ou a consulta do utilizador ao GML ou ao agente.
MODEL_NAME: o nome do modelo. Por exemplo,
gemini-2.0-flash
.FUNCTION_OR_FUNCTION_DECLARATION: a função ou a declaração de função a usar no pedido. Consulte a documentação do SDK de IA gen para a Chamada de funções para obter ajuda na definição de uma função como ferramenta.
EXPECTED_FUNCTION_RESPONSE: a resposta esperada da função (um
FunctionResponse
objeto) para a chamada de função esperada. Consulte a documentação do SDK de IA gen para a Chamada de funções para obter ajuda na definição de uma resposta de função.EXPECTED_FINAL_MODEL_RESPONSE: A resposta final esperada do modelo (um objeto
Content
) para a chamada e a resposta da função esperadas.
Carregue um exemplo para corrigir uma resposta inesperada
Se o GML não gerar a resposta conforme esperado, pode criar um exemplo com base na resposta corrigida. Isto ajuda o GML a seguir o raciocínio esperado para pedidos subsequentes.
Use o seguinte exemplo para carregar um exemplo com a resposta corrigida para a instância da loja de exemplo.
user_content = Content(
role="user",
parts=[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])
Substitua o seguinte:
EXAMPLE_QUERY: o pedido ou a consulta do utilizador ao GML ou ao agente.
EXPECTED_FUNCTION_CALL: a chamada da função esperada (um
FunctionCall
objeto) para a consulta do utilizador fornecida. Consulte a documentação do SDK de IA gen para a Chamada de funções para obter ajuda na definição de uma chamada de função.EXPECTED_FUNCTION_RESPONSE: a resposta esperada da função (um
FunctionResponse
objeto) para a chamada de função esperada. Consulte a documentação do SDK de IA gen para a Chamada de funções para obter ajuda na definição de uma resposta de função.EXPECTED_FINAL_MODEL_RESPONSE: A resposta final esperada do modelo (um objeto
Content
) para a chamada e a resposta da função esperadas.
REST
Para carregar um exemplo para uma instância da loja de exemplos, envie um pedido POST
através do método exampleStores.upsertExamples
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu projeto.
- LOCATION: a região onde quer criar a loja de exemplo. A única região suportada é
us-central1
. - EXAMPLE_STORE_ID: o ID da instância da loja de exemplo onde quer carregar o exemplo.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/exampleStores/EXAMPLE_STORE_ID:upsertExamples
Corpo JSON do pedido:
{ "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": {} } } } ] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
$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
Deve receber uma resposta JSON semelhante à seguinte, em que EXAMPLE_ID representa o ID numérico gerado para o exemplo.
O que se segue?
- Saiba como obter exemplos.