Microsoft presenta Semantic Kernel SDK , lo que facilita mucho la integración de modelos de lenguaje grandes (LLM) como GPT-4 en el código. Las complejidades de administrar indicaciones, entradas y salidas enfocadas se simplifican con este SDK, cerrando la brecha entre los modelos de lenguaje y los desarrolladores.
El proceso de integrar un modelo de IA en su código puede ser bastante desafiante, ya que implica cruzar un límite entre dos formas diferentes de computación. Los métodos de programación tradicionales no son suficientes para interactuar con los LLM. Lo que se necesita es una abstracción de alto nivel que se traduzca entre los diferentes dominios, proporcionando una forma de administrar el contexto y mantener los resultados basados en los datos de origen.
Hace unas semanas, Microsoft lanzó su primer contenedor LLM llamado Prompt Engine . Partiendo de eso, el gigante del software ha presentado ahora su herramienta C# más poderosa, Semantic Kernel , para trabajar con Azure OpenAI y las API de OpenAI. Esta herramienta de código abierto está disponible en GitHub, junto con varias aplicaciones de muestra.
La elección del nombre significa una comprensión del propósito principal de un LLM. Semantic Kernel se centra en las entradas y salidas del lenguaje natural dirigiendo el modelo utilizando la solicitud inicial del usuario (la pregunta) para orquestar pases a través de los recursos asociados, cumpliendo la solicitud y devolviendo una respuesta (la obtención).
Semantic Kernel funciona como un sistema operativo para las API de LLM, toma entradas, las procesa trabajando con el modelo de lenguaje y devuelve salidas. La función de orquestación del kernel es esencial para administrar no solo las indicaciones y sus tokens asociados, sino también las memorias, los conectores a otros servicios de información y las habilidades predefinidas que combinan las indicaciones y el código convencional.
Semantic Kernel gestiona el contexto a través del concepto de memorias, trabajando con archivos y almacenamiento de valores clave. Una tercera opción, la memoria semántica , trata el contenido como vectores o incrustaciones, que son conjuntos de números que utiliza el LLM para representar los significados de los textos. Estos vectores incrustados ayudan al modelo subyacente a mantener la relevancia, la coherencia y reducir la probabilidad de generar resultados aleatorios.
Mediante el uso de incrustaciones, los desarrolladores pueden dividir avisos grandes en bloques de texto para crear avisos más enfocados sin agotar los tokens disponibles para una solicitud (por ejemplo, GPT-4 tiene un límite de 8192 tokens por entrada).
Los conectores juegan un papel importante en Semantic Kernel, lo que permite la integración de las API existentes con los LLM. Por ejemplo, un conector de Microsoft Graph puede enviar el resultado de una solicitud en un correo electrónico o crear una descripción de las relaciones en el organigrama. Los conectores también proporcionan una forma de control de acceso basado en roles para garantizar que los resultados se adapten al usuario, en función de sus datos.
El tercer componente principal de Semantic Kernel son las habilidades , que son contenedores de funciones que combinan indicaciones de LLM y código convencional, similar a Azure Functions. Se pueden usar para encadenar indicaciones especializadas y crear aplicaciones basadas en LLM.
Los resultados de una función se pueden encadenar a otra, lo que permite la construcción de una canalización de funciones que combinan procesamiento nativo y operaciones LLM. De esta manera, los desarrolladores pueden desarrollar habilidades flexibles que se pueden seleccionar y utilizar según sea necesario.
Aunque Semantic Kernel es una herramienta poderosa, requiere una cuidadosa reflexión y planificación para crear aplicaciones efectivas. Mediante el uso estratégico del SDK junto con el código nativo, los desarrolladores pueden aprovechar el potencial de los LLM, lo que hace que el proceso de desarrollo sea más eficiente y productivo. Para ayudarlo a comenzar, Microsoft proporciona una lista de pautas de mejores prácticas aprendidas al crear aplicaciones LLM dentro de su propio negocio.
En el contexto del desarrollo de software moderno, Semantic Kernel SDK de Microsoft se posiciona como un facilitador clave para integrar grandes modelos de lenguaje en varias aplicaciones. Su implementación puede beneficiar enormemente a herramientas como la plataforma no-code de AppMaster y los creadores de sitios web , ofreciendo soluciones más flexibles y eficientes para una amplia gama de usuarios.