Criar ou reutilizar uma instância da loja de exemplos

Nesta página, mostramos como criar uma instância do Example Store ou reutilizar uma instância existente. É possível armazenar seus exemplos em um Example Store ao desenvolver o 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 do repositório de exemplos: ao criar uma instância do repositório de exemplos, especifique o modelo de embedding que ela usa para determinar quais exemplos são relevantes para as consultas dos usuários. O repositório 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 Example Store. 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 Agent Platform no seu ambiente Python local.

  1. Execute o comando a seguir para instalar o SDK da plataforma de agente para a loja de exemplos.

    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 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 esta amostra, siga as instruções de configuração do Python no Guia de início rápido da Agent Platform: como usar bibliotecas de cliente.

Para autenticar no Agent Platform, 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 aceita é 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-005
    • 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 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 abaixo:

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 abaixo:

$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 esta amostra, siga as instruções de configuração do Python no Guia de início rápido da Agent Platform: como usar bibliotecas de cliente.

Para autenticar no Agent Platform, 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 aceita é us-central1.
  • EXAMPLE_STORE_NAME: nome da instância da Example Store que você quer reutilizar.

A seguir