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 few-shot são dados rotulados específicos para seu caso de uso de LLM. Ele inclui um par de entrada/saída que demonstra a resposta esperada do modelo para uma solicitação de modelo. É possível usar exemplos para demonstrar o comportamento ou padrão de resposta esperado de um LLM.
Ao usar apenas alguns exemplos relevantes, é possível cobrir um conjunto maior de resultados possíveis, comportamento pretendido e entradas do usuário sem aumentar o tamanho ou a complexidade dos comandos. Isso é feito incluindo apenas exemplos relevantes (diminuindo o número de exemplos incluídos) e "mostrando, não dizendo" o comportamento esperado.
O uso de 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 cobrir 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. O uso de exemplos não envolve a atualização dos 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 também corrigir comportamentos incorretos ou inesperados. Isso não afeta outras solicitações que resultam nas respostas esperadas.
Como todas as estratégias de engenharia de comandos, o uso de exemplos com poucos exemplos (few-shot) é complementar a outras técnicas de otimização de LLM, como ajuste ou RAG.
Como usar a Example Store
As etapas a seguir mostram como usar a Example Store:
Crie ou reutilize um recurso
ExampleStore, também chamado de "instância de loja de exemplo".- Para cada região e projeto, é possível ter no máximo 50 instâncias do Example Store.
Escreva e faça 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 do Example Store.
Se o LLM mostrar comportamentos ou padrões de resposta inesperados, escreva um exemplo para demonstrar como corrigir a resposta e faça o upload dele para a instância do Example Store.
Os exemplos enviados ficam disponíveis imediatamente para o agente ou aplicativo de LLM associado à instância do repositório de exemplos.
Se um agente baseado no Kit de Desenvolvimento de Agente (ADK) estiver vinculado à instância do Example Store, ele vai recuperar automaticamente os exemplos e os incluirá na solicitação do LLM.
Para todos os outros aplicativos de LLM, é necessário pesquisar e recuperar os exemplos e incluí-los nos comandos.
É possível continuar adicionando exemplos de forma iterativa a uma instância do Example Store sempre que você observar uma performance inesperada do LLM ou encontrar consultas de usuário adversas ou inesperadas. Não é necessário atualizar o código ou reimplantar uma nova versão do aplicativo de LLM. Os exemplos ficam disponíveis para o agente ou aplicativo assim que você os faz upload para a instância do Example Store.
Além disso, há outras possibilidades:
Recuperar exemplos realizando uma pesquisa de similaridade de cossenos entre as chaves de pesquisa dos exemplos armazenados e as da sua consulta.
Filtre os exemplos por nome de função e refine a lista de exemplos candidatos para aqueles que representam as possíveis respostas do LLM.
Melhorar de forma iterativa o agente ou o 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 dos tipos de exemplos incluídos nos comandos e de como eles são incluídos.
As seguintes práticas são geralmente recomendadas para a criação de exemplos:
Relevância e similaridade: os exemplos precisam estar intimamente relacionados à tarefa ou ao domínio específico. Isso ajuda o modelo a se concentrar nos aspectos mais relevantes do conhecimento, diminui o uso de tokens e mantém ou até melhora o desempenho. Você vai precisar de menos exemplos se eles forem relevantes para a conversa. O corpus dos 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 um desempenho melhor, use exemplos de baixa complexidade para demonstrar o raciocínio esperado.
Representativo 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 esperado do LLM para o comando.
Formato: para melhorar o desempenho, formate os exemplos com poucos exemplos (few-shot) no comando de maneira consistente com os dados de treinamento do LLM e diferenciada do histórico de conversas. A formatação de exemplos em um comando pode afetar consideravelmente o desempenho do LLM.
Exemplo de caso de uso: chamada de função
É possível usar exemplos com poucos exemplos (few-shot) 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 o
local de uma loja e a descrição dela. Se uma consulta não invocar essa função
conforme o esperado ou mostrar uma saída inesperada, use exemplos com poucos exemplos para
corrigir esse comportamento em consultas subsequentes.
Para mais informações sobre chamadas de função, consulte Chamada de função.
Para saber mais, consulte o guia de início rápido da Example Store.
A seguir
Saiba como criar uma loja de exemplo.
Saiba como ensinar um agente com exemplos.