Exemplo de visão geral da loja

O Example Store permite o armazenamento e a recuperação dinâmica de exemplos few-shot. Com os exemplos few-shot, é possível demonstrar os padrões de resposta esperados para um LLM e melhorar a qualidade, a acurácia e a consistência das respostas a consultas semelhantes.

O que são exemplos few-shot?

Um exemplo de poucos disparos são dados rotulados específicos para seu caso de uso de LLM. Ele inclui um par de entrada e saída que demonstra a resposta esperada do modelo para uma solicitação. Você pode usar exemplos para demonstrar o comportamento ou padrão de resposta esperado de um LLM.

Ao usar apenas alguns exemplos relevantes, você pode abranger um conjunto maior de possíveis resultados, comportamentos pretendidos e entradas do usuário sem aumentar o tamanho ou a complexidade dos comandos. Isso é feito incluindo apenas exemplos relevantes (diminuindo a quantidade de exemplos incluídos) e "mostrando, não contando" o comportamento esperado.

Usar exemplos few-shot é uma forma de aprendizado em contexto. Um exemplo demonstra um padrão claro de entradas e saídas, sem explicar como o modelo gera o conteúdo. É possível abranger mais resultados possíveis ou consultas de usuários usando apenas alguns exemplos, sem aumentar o tamanho do comando ou a complexidade do código. Usar exemplos não envolve atualizar os parâmetros do modelo pré-treinado e não afeta a amplitude do conhecimento do LLM. Isso torna o aprendizado no contexto com exemplos uma abordagem relativamente leve e concisa para personalizar, corrigir ou melhorar o raciocínio e a resposta de um LLM a comandos não vistos.

Ao coletar exemplos relevantes que representam as consultas dos usuários, você ajuda o modelo a manter a atenção, demonstrar o padrão esperado e corrigir comportamentos incorretos ou inesperados. Isso não afeta outras solicitações que resultam nas respostas esperadas.

Assim como todas as estratégias de engenharia de comando, o uso de exemplos de few-shot é complementar a outras técnicas de otimização de LLM, como ajuste refinado ou RAG.

Como usar a loja de exemplo

As etapas a seguir descrevem como usar a loja de exemplos:

  1. Crie ou reutilize um recurso ExampleStore, também chamado de "instância da Example Store".

    • Para cada região e projeto, é possível ter no máximo 50 instâncias da Example Store.
  2. Escrever e fazer upload de exemplos com base nas respostas do LLM. Há dois cenários possíveis:

    • Se o comportamento e o padrão de resposta do LLM forem os esperados, escreva exemplos com base nessas respostas e faça upload deles para a instância da loja de exemplos.

    • Se o LLM mostrar um comportamento ou padrões de resposta inesperados, escreva um exemplo para demonstrar como corrigir a resposta e faça upload dele na instância da loja de exemplos.

  3. Os exemplos enviados ficam disponíveis imediatamente para o agente ou aplicativo de LLM associado à instância da Example Store.

    • Se um agente baseado no Vertex AI Agent Development Kit estiver vinculado à instância da Example Store, ele vai recuperar os exemplos e incluí-los na solicitação de LLM automaticamente.

    • Para todos os outros aplicativos de LLM, você precisa pesquisar e recuperar os exemplos e incluí-los nos comandos.

É possível continuar adicionando exemplos de forma iterativa a uma instância da Example Store sempre que você observar um desempenho inesperado do LLM ou encontrar consultas adversárias ou inesperadas do usuário. Não é necessário atualizar o código nem reimplantar uma nova versão do aplicativo de LLM. Os exemplos ficam disponíveis para o agente ou aplicativo assim que você os envia para a instância da loja de exemplos.

Além disso, há outras possibilidades:

  • Recupere exemplos realizando uma pesquisa de similaridade de cosseno entre as chaves de pesquisa dos exemplos armazenados e as da sua consulta.

  • Filtre exemplos por nome de função e refine a lista de exemplos candidatos para aqueles que representam as possíveis respostas do LLM.

  • Melhore de forma iterativa seu agente ou aplicativo de LLM.

  • Compartilhe exemplos com vários agentes ou aplicativos de LLM.

Diretrizes para criar exemplos few-shot

O impacto dos exemplos no desempenho do modelo depende de quais tipos de exemplos são incluídos nos comandos e como eles são incluídos.

Confira a seguir as práticas recomendadas para criar exemplos:

  • Relevância e similaridade: os exemplos precisam estar relacionados à tarefa ou ao domínio específico. Isso ajuda o modelo a se concentrar nos aspectos mais relevantes do conhecimento dele, diminui o uso de tokens e mantém ou até melhora o desempenho. Você precisa de menos exemplos se eles forem relevantes para a conversa. O conjunto de exemplos disponíveis precisa ser representativo das possíveis consultas do usuário. Além disso, um exemplo precisa ser relevante para uma determinada consulta do usuário.

  • Complexidade: para ajudar o LLM a ter uma performance melhor, use exemplos de baixa complexidade para demonstrar o raciocínio esperado.

  • Representação dos possíveis resultados do modelo: as respostas esperadas em um exemplo precisam ser consistentes com o resultado possível. Isso permite que o exemplo demonstre claramente um raciocínio consistente com o raciocínio esperado do LLM para o comando.

  • Formato: para ter a melhor performance, formate os exemplos de poucos disparos no comando de maneira consistente com os dados de treinamento do LLM e diferenciada do histórico de conversas. A formatação dos exemplos em um comando pode afetar consideravelmente a performance do LLM.

Exemplo de caso de uso: chamada de função

Você pode usar exemplos de poucos disparos para melhorar o desempenho da chamada de função. É possível indicar a chamada de função esperada para uma consulta do usuário em um padrão consistente. O exemplo pode modelar a resposta esperada à solicitação incluindo qual função precisa ser invocada e os argumentos a serem incluídos na chamada de função. Considere um caso de uso em que a função get_store_location retorna a localização de uma loja e a descrição dela. Se uma consulta não invocar essa função como esperado ou mostrar uma saída inesperada, use exemplos de poucas tentativas para corrigir esse comportamento em consultas subsequentes.

Para mais informações sobre como chamar uma função, consulte Chamada de função.

Para saber mais, consulte o Guia de início rápido da loja de exemplo.

A seguir