Introducción al ecosistema de .NET + IA
El ecosistema .NET proporciona muchas herramientas, bibliotecas y servicios eficaces para desarrollar aplicaciones de inteligencia artificial. .NET admite conexiones de modelos de inteligencia artificial local y en la nube, muchos SDK diferentes para diversos servicios de bases de datos de inteligencia artificial y vectoriales, y otras herramientas que le ayudan a crear aplicaciones inteligentes de distintos ámbitos y complejidad.
Importante
Microsoft no mantiene todos los SDK y servicios presentados en este documento. Al considerar un SDK, asegúrese de evaluar su calidad, licencias, soporte técnico y compatibilidad para asegurarse de que cumplen sus requisitos.
Microsoft.Extensions.AI
es un conjunto de bibliotecas básicas de .NET creadas en colaboración con desarrolladores en todo el ecosistema de .NET, incluido kernel semántico. Estas bibliotecas proporcionan una capa unificada de abstracciones de C# para interactuar con servicios de INTELIGENCIA ARTIFICIAL, como modelos de lenguaje pequeño y grande (SLA y LLM), incrustaciones y middleware.
Microsoft.Extensions.AI
proporciona abstracciones que pueden implementar varios servicios, todos los que se adhieren a los mismos conceptos básicos. Esta biblioteca no está pensada para proporcionar API adaptadas a los servicios de ningún proveedor específico. El objetivo de Microsoft.Extensions.AI
es actuar como una capa de unificación dentro del ecosistema de .NET, lo que permite a los desarrolladores elegir sus marcos y bibliotecas preferidos, a la vez que se garantiza una integración y colaboración sin problemas en todo el ecosistema.
El kernel semántico es un SDK de código abierto que permite la integración y orquestación de inteligencia artificial en las aplicaciones .NET. Este SDK suele ser la herramienta de orquestación de IA recomendada para aplicaciones .NET que usan uno o varios servicios de IA en combinación con otras API o servicios web, almacenes de datos y código personalizado. El kernel semántico proporciona a los desarrolladores empresariales los siguientes beneficios:
- Simplifica la integración de las funcionalidades de inteligencia artificial en las aplicaciones existentes para habilitar una solución cohesiva para productos empresariales.
- Minimiza el tiempo de aprendizaje de trabajar con diferentes modelos o servicios de IA, gracias a abstracciones que reducen la complejidad.
- Mejora la confiabilidad al reducir el comportamiento imprevisible de las indicaciones y respuestas de los modelos de IA. Puede ajustar las indicaciones y planear tareas para crear una experiencia de usuario controlada y predecible.
Para más información, vea la documentación del kernel semántico.
Hay muchos SDK diferentes para .NET para crear aplicaciones con funcionalidades de IA en función de la plataforma de destino o el modelo de IA. Los modelos de OpenAI ofrecen eficaces funcionalidades de inteligencia artificial generativa, mientras que otros servicios de Azure AI proporcionan soluciones inteligentes para una variedad de escenarios específicos.
Paquete NuGet | Modelos admitidos | Encargado del mantenimiento o proveedor | Documentación |
---|---|---|---|
Microsoft.SemanticKernel | Modelos de OpenAI Modelos compatibles con Azure OpenAI |
Kernel semántico (Microsoft) | Documentación del kernel semántico |
SDK de Azure OpenAI | Modelos compatibles con Azure OpenAI | SDK de Azure para .NET (Microsoft) | Documentación de los servicios de Azure OpenAI |
SDK de OpenAI | Modelos compatibles con OpenAI | SDK de OpenAI para .NET | Documentación de los servicios de Azure OpenAI |
Azure ofrece muchos otros servicios de inteligencia artificial para crear funcionalidades y flujos de trabajo específicos de la aplicación. La mayoría de estos servicios proporcionan un SDK de .NET para integrar su funcionalidad en aplicaciones personalizadas. En la tabla siguiente se muestran algunos de los servicios más usados. Para obtener una lista completa de los servicios y recursos de aprendizaje disponibles, consulte la documentación de Servicios de Azure AI.
Servicio | Descripción |
---|---|
Azure AI Search | Incorpore a sus aplicaciones web y móviles la funcionalidad de búsqueda de la nube basada en inteligencia artificial. |
Seguridad de contenido de Azure AI | Detección de contenido no deseado o ofensivo. |
Inteligencia de documentos de Azure AI | Convertir los documentos en soluciones inteligentes controladas por datos. |
Lenguaje de Azure AI | Creación de aplicaciones con funcionalidades de reconocimiento del lenguaje natural líderes del sector. |
Voz de Azure AI | Conversión de voz en texto, texto a voz, traducción y reconocimiento del hablante. |
Traductor de Azure AI | Tecnología de traducción basada en inteligencia artificial compatible con más de 100 idiomas y dialectos. |
Visión de Azure AI | Análisis de contenido en imágenes y vídeos. |
Las aplicaciones .NET también pueden conectarse a modelos de inteligencia artificial local para muchos escenarios de desarrollo diferentes. El kernel semántico es la herramienta recomendada para conectarse a modelos locales mediante .NET. El kernel semántico puede conectarse a muchos modelos diferentes hospedados en una variedad de plataformas y abstrae los detalles de implementación de nivel inferior.
Por ejemplo, puede usar Ollama para conectarse a modelos de IA locales con .NET, así como varios pequeños modelos de lenguaje (SLM) desarrollados por Microsoft:
Modelo | Descripción |
---|---|
Modelos phi3 | Una familia de SLM potentes con un rendimiento innovador a bajo coste y de baja latencia. |
Modelos orca | Modelos de investigación para tareas como razonamiento sobre los datos proporcionados por el usuario, la comprensión de lectura, la resolución de problemas matemáticos y el resumen de texto. |
Nota
Los SLA anteriores también se pueden hospedar en otros servicios, como Azure.
Las aplicaciones de inteligencia artificial suelen usar bases de datos y servicios de vectores de datos para mejorar la relevancia y proporcionar funcionalidad personalizada. Muchos de estos servicios proporcionan un SDK nativo para .NET, mientras que otros ofrecen un servicio REST al que puede conectarse mediante código personalizado. El kernel semántico proporciona un modelo de componentes extensible que permite usar diferentes almacenes vectoriales sin necesidad de conocer cada SDK.
El kernel semántico proporciona conectores para las siguientes bases de datos y servicios vectoriales:
Visite la documentación de cada servicio correspondiente para detectar la compatibilidad con el SDK y la API de .NET.
En este artículo, se resumen las herramientas y los SDK del ecosistema de .NET, haciendo énfasis en los servicios que proporcionan compatibilidad oficial con .NET. En función de las necesidades y fases de desarrollo de las aplicaciones, eche un vistazo a las opciones de código abierto del ecosistema en la lista no oficial de recursos de .NET + IA. Microsoft no es el encargado del mantenimiento de muchos de estos proyectos, así que asegúrese de revisar su calidad, licencias y soporte técnico.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: