Incorporações no .NET
As incorporações são a forma como os LLMs capturam o significado semântico. São representações numéricas de dados não numéricos que um LLM pode usar para determinar relações entre conceitos. Você pode usar incorporações para ajudar um modelo de IA a entender o significado das entradas para que ele possa realizar comparações e transformações, como resumir texto ou criar imagens a partir de descrições de texto. Os LLMs podem usar incorporações imediatamente, e você pode armazenar incorporações em bancos de dados vetoriais para fornecer memória semântica para LLMs conforme necessário.
Casos de uso para incorporações
Esta seção lista os principais casos de uso para incorporações.
Use seus próprios dados para melhorar a relevância da conclusão
Use seus próprios bancos de dados para gerar incorporações para seus dados e integrá-los a um LLM para disponibilizá-los para conclusão. Este uso de incorporações é um componente importante da geração aumentada de recuperação.
Aumentar a quantidade de texto que você pode ajustar em um prompt
Use incorporações para aumentar a quantidade de contexto que você pode ajustar em um prompt sem aumentar o número de tokens necessários.
Por exemplo, suponha que você queira incluir 500 páginas de texto em um prompt. O número de tokens para tanto texto bruto excederá o limite de token de entrada, tornando impossível incluir diretamente em um prompt. Você pode usar incorporações para resumir e dividir grandes quantidades desse texto em partes pequenas o suficiente para caber em uma entrada e, em seguida, avaliar a semelhança de cada parte com todo o texto bruto. Em seguida, você pode escolher uma peça que melhor preserve o significado semântico do texto bruto e usá-lo em seu prompt sem atingir o limite de token.
Executar classificação, resumo ou tradução de texto
Use incorporações para ajudar um modelo a entender o significado e o contexto do texto e, em seguida, classifique, resuma ou traduza esse texto. Por exemplo, você pode usar incorporações para ajudar os modelos a classificar textos como positivos ou negativos, spam ou não spam, ou notícias ou opiniões.
Gerar e transcrever áudio
Use incorporações de áudio para processar arquivos de áudio ou entradas em seu aplicativo.
Por exemplo, o serviço de Fala suporta uma variedade de incorporações de áudio, incluindo fala para texto e texto para fala. Você pode processar áudio em tempo real ou em lotes.
Transforme texto em imagens ou imagens em texto
O processamento semântico de imagens requer incorporações de imagens, que a maioria dos LLMs não consegue gerar. Use um modelo de incorporação de imagem, como ViT , para criar incorporações vetoriais para imagens. Em seguida, você pode usar essas incorporações com um modelo de geração de imagem para criar ou modificar imagens usando texto ou vice-versa. Por exemplo, você pode usar o DALL· Modelo E para gerar imagens como logotipos, rostos, animais e paisagens.
Gerar ou documentar código
Use incorporações para ajudar um modelo a criar código a partir de texto ou vice-versa, convertendo diferentes códigos ou expressões de texto em uma representação comum. Por exemplo, você pode usar incorporações para ajudar um modelo a gerar ou documentar código em C# ou Python.
Escolha um modelo de incorporação
Você gera incorporações para seus dados brutos usando um modelo de incorporação de IA, que pode codificar dados não numéricos em um vetor (uma longa matriz de números). O modelo também pode decodificar uma incorporação em dados não numéricos que tenham o mesmo significado ou semelhante aos dados brutos originais. Existem muitos modelos de incorporação disponíveis para você usar, com o modelo da text-embedding-ada-002
OpenAI sendo um dos modelos comuns que são usados. Para obter mais exemplos, consulte a lista de modelos de incorporação disponíveis no Azure OpenAI.
Armazenar e processar incorporações em um banco de dados vetorial
Depois de gerar incorporações, você precisará de uma maneira de armazená-las para que possa recuperá-las posteriormente com chamadas para um LLM. Os bancos de dados vetoriais são projetados para armazenar e processar vetores, portanto, são um lar natural para incorporações. Diferentes bancos de dados vetoriais oferecem diferentes recursos de processamento, então você deve escolher um com base em seus dados brutos e seus objetivos. Para obter informações sobre suas opções, consulte Soluções de banco de dados vetorial disponíveis.
Usando incorporações em sua solução LLM
Ao criar aplicativos baseados em LLM, você pode usar o Kernel Semântico para integrar modelos de incorporação e armazenamentos vetoriais, para que possa extrair rapidamente dados de texto e gerar e armazenar incorporações. Isso permite que você use uma solução de banco de dados vetorial para armazenar e recuperar memórias semânticas.