Criar ou reutilizar uma instância da loja de exemplo

Nesta página, mostramos como criar uma nova instância da loja de exemplo ou reutilizar uma existente. Você pode armazenar seus exemplos em um Example Store ao desenvolver seu aplicativo de LLM e extraí-los dinamicamente para usar nos comandos de LLM.

Para ensinar um LLM ou um agente usando exemplos de few-shot, primeiro crie ou reutilize uma instância da loja de exemplos para seu projeto e local, e depois faça upload de exemplos para ela.

Para cada projeto e local, é possível ter no máximo 50 instâncias da loja de exemplo. Depois de criar uma instância da Example Store, você pode compartilhá-la em vários aplicativos e agentes de LLM.

Há duas maneiras de provisionar uma instância da loja de exemplo:

  • Criar uma nova instância da loja de exemplo: ao criar uma nova instância da loja de exemplo, é necessário especificar o modelo de incorporação, que a loja de exemplo usa para determinar quais exemplos são relevantes para as consultas dos usuários. A loja de exemplo oferece suporte aos seguintes modelos de embedding:

    • text-embedding-005

    • text-multilingual-embedding-002

    Não é possível mudar um modelo de incorporação depois de criar a instância da loja de exemplo. Se você quiser usar outro modelo de incorporação, crie outra loja de exemplo. Para mais informações sobre embeddings de texto, consulte Usar embeddings de texto.

  • Reutilizar uma instância de Exemplos armazenados: as instâncias de Exemplos armazenados foram projetadas para serem usadas por vários agentes. Assim, você pode acessar os exemplos armazenados em vários aplicativos de LLM. Não é possível mudar o modelo de embedding ao reutilizar uma instância do Example Store.

Pré-requisitos

Antes de usar os exemplos de Python nesta página, instale e inicialize o SDK da Vertex AI para Python no seu ambiente local.

  1. Execute o seguinte comando para instalar o SDK da Vertex AI para Python na Example Store.

    pip install --upgrade google-cloud-aiplatform>=1.87.0
  2. Use o exemplo de código abaixo para importar e inicializar o SDK da Example Store.

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

    Substitua:

    • PROJECT_ID: o ID do projeto.

    • LOCATION: sua região. Somente us-central1 é aceito.

Criar uma instância de loja de exemplo

Use os exemplos a seguir para criar uma instância de loja de exemplo para um projeto e local especificados. A criação de uma instância da loja de exemplo leva alguns minutos.

Python

Antes de testar esse exemplo, siga as instruções de configuração para Python no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Python.

Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import vertexai
from vertexai.preview import example_stores

vertexai.init(
    project="PROJECT_ID",
    location="LOCATION"
)

my_example_store = example_stores.ExampleStore.create(
    example_store_config=example_stores.ExampleStoreConfig(
        vertex_embedding_model="EMBEDDING_MODEL"
    )
)

Substitua:

  • PROJECT_ID: o ID do projeto.
  • LOCATION: a região em que você quer criar a loja de exemplo. A única região com suporte é us-central1.
  • EMBEDDING_MODEL: modelo de embedding que a instância da loja de exemplo usa para determinar quais exemplos são relevantes para as consultas dos usuários. A loja de exemplo oferece suporte aos seguintes modelos de incorporação:
    • textembedding-gecko@003
    • text-embedding-004
    • text-multilingual-embedding-002

REST

Para criar um recurso ExampleStore, envie uma solicitação POST usando o método exampleStores.create.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto.
  • LOCATION: a região em que você quer criar a instância da loja de exemplo. A única região com suporte é us-central1.
  • DISPLAY_NAME: o nome da instância da loja de exemplo.
  • EMBEDDING_MODEL: modelo de embedding que a instância da loja de exemplo usa para determinar quais exemplos são relevantes para as consultas dos usuários. A loja de exemplo oferece suporte aos seguintes modelos de incorporação:
    • textembedding-gecko@003
    • text-embedding-004
    • text-multilingual-embedding-002

Método HTTP e URL:

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

Corpo JSON da solicitação:

{
  "display_name": "DISPLAY_NAME",
  "example_store_config": {"vertex_embedding_model": EMBEDDING_MODEL}
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

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"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$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" | Select-Object -Expand Content

Você vai receber uma resposta JSON semelhante a esta, em que EXAMPLE_STORE_ID representa o ID da instância da loja de exemplo.

Reutilizar uma instância do Example Store

Use o exemplo a seguir para reutilizar uma instância da loja de exemplo para um projeto e local especificados.

Python

Antes de testar esse exemplo, siga as instruções de configuração para Python no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Python.

Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import vertexai
from vertexai.preview import example_stores

vertexai.init(
    project="PROJECT_ID",
    location="LOCATION"
)

example_store = example_stores.ExampleStore(
    "EXAMPLE_STORE_NAME")

Substitua:

  • PROJECT_ID: o ID do projeto.
  • LOCATION: a região em que você quer criar a loja de exemplo. A única região com suporte é us-central1.
  • EXAMPLE_STORE_NAME: Nome da instância da loja de exemplo que você quer reutilizar.

A seguir