Criar ou reutilizar uma instância da loja de exemplo

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

Para ensinar um LLM ou um agente usando exemplos de few-shot, primeiro crie ou reutilize uma instância da Example Store 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 exemplos. 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 Example Store: ao criar uma instância da Example Store, você precisa especificar o modelo de incorporação, que a Example Store usa para determinar quais exemplos são relevantes para as consultas dos usuários. A loja de exemplos é compatível com os 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 exemplos. Se quiser usar um modelo de incorporação diferente, crie outra loja de exemplos. Para mais informações sobre embeddings de texto, consulte Receber embeddings de texto.

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

Pré-requisitos

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

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

    pip install --upgrade google-cloud-aiplatform>=1.87.0
  2. Use o exemplo de código a seguir 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 da loja de exemplo

Use os exemplos a seguir para criar uma instância da Example Store para um projeto e local especificados. A criação de uma instância da Example Store 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 compatível é us-central1.
  • EMBEDDING_MODEL: modelo de embedding que a instância da loja de exemplos usa para determinar quais exemplos são relevantes para as consultas dos usuários. A loja de exemplos é compatível com os seguintes modelos de embedding:
    • 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 Example Store. A única região compatível é 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 exemplos usa para determinar quais exemplos são relevantes para as consultas dos usuários. A loja de exemplos é compatível com os seguintes modelos de embedding:
    • 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 Example Store.

Reutilizar uma instância da Example Store

Use o exemplo a seguir para reutilizar uma instância da loja de exemplo em 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 compatível é us-central1.
  • EXAMPLE_STORE_NAME: Nome da instância da Example Store que você quer reutilizar.

A seguir