Comparteix a través de


Incrustaciones en .NET

Las incrustaciones son la forma en que las LLMs capturan el significado semántico. Son representaciones numéricas de datos no numéricos que un LLM puede usar para determinar las relaciones entre conceptos. Puede usar incrustaciones para ayudar a un modelo de IA a comprender el significado de las entradas para que pueda realizar comparaciones y transformaciones, como resumir texto o crear imágenes a partir de descripciones de texto. Los LLM pueden usar incrustaciones inmediatamente y puede almacenar incrustaciones en bases de datos vectoriales para proporcionar memoria semántica para los LLM según sea necesario.

Casos de uso para incrustaciones

En esta sección se enumeran los casos de uso principales de las incrustaciones.

Uso de sus propios datos para mejorar la relevancia de finalización

Genere incrustaciones a partir de sus propias bases de datos y úselas en los datos. Luego, realice una integración con un LLM para garantizar su disponibilidad en las finalizaciones. Este uso de incrustaciones es un componente importante de generación aumentada por recuperación.

Aumento de la cantidad de texto que se puede ajustar en una indicación

Use incrustaciones para aumentar la cantidad de contexto que puede incluir en una indicación sin aumentar el número de tokens necesarios.

Por ejemplo, supongamos que desea incluir 500 páginas de texto en una indicación. El número de tokens para ese texto sin formato superará el límite de tokens de entrada, por lo que no se pueden incluir directamente en una indicación. Puede usar incrustaciones para resumir y desglosar grandes cantidades de ese texto en fragmentos lo suficientemente pequeños como para caber en una entrada y, a continuación, evaluar la similitud de cada pieza con todo el texto sin formato. Luego, puede elegir una pieza que conserve mejor el significado semántico del texto sin formato y usarla en la indicación sin alcanzar el límite de tokens.

Clasificación de texto, resumen o traducción

Use incrustaciones para ayudar a un modelo a comprender el significado y el contexto del texto y, a continuación, clasificar, resumir o traducir ese texto. Por ejemplo, puede usar incrustaciones para ayudar a los modelos a clasificar textos como positivos o negativos, correo no deseado o correo deseado, noticias u opiniones.

Generar y transcribir audio

Use incrustaciones de audio para procesar archivos de audio o entradas en la aplicación.

Por ejemplo, el servicio de Voz admite una variedad de incrustaciones de audio, incluidas conversión de voz en texto y texto a voz. Puede procesar audio en tiempo real o en lotes.

Convertir texto en imágenes o imágenes en texto

El procesamiento de imágenes semánticas requiere incrustaciones de imágenes, que la mayoría de los LLM no pueden generar. Use un modelo de incrustación de imágenes, como ViT para crear incrustaciones de vectores para imágenes. A continuación, puede usar esas incrustaciones con un modelo de generación de imágenes para crear o modificar imágenes mediante texto o viceversa. Por ejemplo, puede usar el modelo DALL·E para generar imágenes como logotipos, caras, animales y paisajes.

Generación o código de documento

Use incrustaciones para ayudar a un modelo a crear código a partir de texto o viceversa, convirtiendo diferentes expresiones de código o texto en una representación común. Por ejemplo, puede usar incrustaciones para ayudar a generar o documentar código de un modelo en C# o Python.

Elección de un modelo de incrustación

Se generan incrustaciones para los datos sin procesar mediante un modelo de inserción de IA, que puede codificar datos no numéricos en un vector (una matriz larga de números). El modelo también puede descodificar una incrustación en datos no numéricos que tengan el mismo significado o similar que los datos originales sin procesar. Hay muchos modelos de inserción disponibles para su uso, con el modelo de text-embedding-ada-002 OpenAI como uno de los modelos comunes que se usan. Para obtener más ejemplos, consulte la lista de Modelos de incrustación disponibles en Azure OpenAI.

Almacenar e insertar procesos de incrustación en una base de datos vectorial

Después de generar incrustaciones, necesitará una manera de almacenarlas para poder recuperarlas posteriormente con llamadas a un LLM. Las bases de datos vectoriales están diseñadas para almacenar y procesar vectores, por lo que son un lugar ideal para las incrustaciones. Las distintas bases de datos vectoriales ofrecen diferentes funcionalidades de procesamiento, por lo que debe elegir una en función de los datos sin procesar y sus objetivos. Para obtener información sobre las opciones, consulte soluciones de base de datos vectoriales disponibles.

Uso de incrustaciones en la solución LLM

Al compilar aplicaciones basadas en LLM, puede usar un kernel semántico para integrar modelos de incrustaciones y almacenes de vectores, de forma que pueda extraer rápidamente datos de texto y generar y almacenar incrustaciones. Esto le permite usar una solución de base de datos vectorial para almacenar y recuperar memorias semánticas.