Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los desarrolladores de .NET deben integrar e interactuar con una variedad creciente de servicios de inteligencia artificial (IA) en sus aplicaciones. Las Microsoft.Extensions.AI bibliotecas proporcionan un enfoque unificado para representar componentes de IA generativos y permiten una integración e interoperabilidad sin problemas con varios servicios de inteligencia artificial. En este artículo se presentan las bibliotecas y se proporcionan ejemplos de uso detallados para ayudarle a empezar.
Los paquetes
El 📦 paquete Microsoft.Extensions.AI.Abstracciones proporciona los tipos de intercambio principales, incluidos IChatClient y IEmbeddingGenerator<TInput,TEmbedding>. Cualquier biblioteca de .NET que proporcione un cliente LLM puede implementar la interfaz IChatClient para habilitar una integración fluida con el código consumidor.
El paquete 📦 Microsoft.Extensions.AI tiene una dependencia implícita del paquete Microsoft.Extensions.AI.Abstractions. Este paquete permite integrar fácilmente componentes como la invocación automática de la herramienta de funciones, la telemetría y el almacenamiento en caché en las aplicaciones mediante patrones conocidos de inserción de dependencias y middleware. Por ejemplo, proporciona el método de extensión UseOpenTelemetry(ChatClientBuilder, ILoggerFactory, String, Action<OpenTelemetryChatClient>), que agrega compatibilidad con OpenTelemetry a la pipeline del cliente del chat.
Qué paquete referenciar
Para tener acceso a utilidades de nivel superior para trabajar con componentes de IA generativa, consulte el paquete Microsoft.Extensions.AI (que a su vez hace referencia a Microsoft.Extensions.AI.Abstractions). La mayoría de las aplicaciones y servicios que consumen deben hacer referencia al Microsoft.Extensions.AI paquete junto con una o varias bibliotecas que proporcionan implementaciones concretas de las abstracciones.
Las bibliotecas que proporcionan implementaciones de las abstracciones suelen hacer referencia solo a Microsoft.Extensions.AI.Abstractions.
Instalación de los paquetes
Para obtener información sobre cómo instalar paquetes NuGet, vea dotnet package add or Manage package dependencies in .NET applications (Agregar o administrar dependencias de paquetes en aplicaciones .NET).
API y funcionalidad
Interfaz IChatClient
La interfaz IChatClient define una abstracción de cliente responsable de interactuar con los servicios de INTELIGENCIA ARTIFICIAL que proporcionan funcionalidades de chat. Incluye métodos para enviar y recibir mensajes con contenido multi modal (como texto, imágenes y audio), ya sea como un conjunto completo o transmitido incrementalmente.
Para obtener más información y ejemplos de uso detallados, vea Usar la interfaz IChatClient.
Interfaz IEmbeddingGenerator
La interfaz IEmbeddingGenerator representa un generador genérico de incrustaciones. Para los parámetros de tipo genérico, TInput es el tipo de valores de entrada que se insertan y TEmbedding es el tipo de inserción generada, que hereda de la Embedding clase .
Para obtener más información y ejemplos de uso detallados, vea Usar la interfaz IEmbeddingGenerator.
Interfaz IImageGenerator (experimental)
La IImageGenerator interfaz representa un generador para crear imágenes a partir de mensajes de texto u otra entrada. Esta interfaz permite a las aplicaciones integrar funcionalidades de generación de imágenes de varios servicios de INTELIGENCIA ARTIFICIAL a través de una API coherente. La interfaz admite la generación de texto a imagen (llamando a GenerateAsync(ImageGenerationRequest, ImageGenerationOptions, CancellationToken)) y las opciones de configuración para el tamaño y el formato de la imagen. Al igual que otras interfaces de la biblioteca, se puede componer con middleware para el almacenamiento en caché, la telemetría y otros problemas transversales.
Para más información, consulte Generación de imágenes a partir de texto mediante IA.
Compilación con Microsoft.Extensions.AI
Puede comenzar a construir con Microsoft.Extensions.AI de las siguientes formas:
- Desarrolladores de bibliotecas: si posee bibliotecas que proporcionan clientes para servicios de inteligencia artificial, considere la posibilidad de implementar las interfaces en las bibliotecas. Esto permite a los usuarios integrar fácilmente el paquete NuGet a través de las abstracciones. Para obtener ejemplos, consulte ejemplos de implementación de IChatClient y ejemplos de implementación de IEmbeddingGenerator.
- Consumidores de servicios: si está desarrollando bibliotecas que consumen servicios de IA, use las abstracciones en lugar de codificar de forma dura a un servicio de IA específico. Este enfoque ofrece a los consumidores la flexibilidad de elegir su proveedor preferido.
- Desarrolladores de aplicaciones: use las abstracciones para simplificar la integración en las aplicaciones. Esto permite la portabilidad entre modelos y servicios, facilita las pruebas y el simulacro, aprovecha el middleware proporcionado por el ecosistema y mantiene una API coherente en toda la aplicación, incluso si usa servicios diferentes en diferentes partes de la aplicación.
- Colaboradores del ecosistema: si está interesado en contribuir al ecosistema, considere la posibilidad de escribir componentes de middleware personalizados.
Para obtener más ejemplos, consulte el repositorio dotnet/ai-samples de GitHub. Para obtener un ejemplo completo, consulte eShopSupport.