Microsoft présente le SDK Semantic Kernel , qui facilite grandement l'intégration de grands modèles de langage (LLM) tels que GPT-4 dans le code. Les complexités de la gestion des invites, des entrées et des sorties ciblées sont simplifiées avec ce SDK, comblant le fossé entre les modèles de langage et les développeurs.
Le processus d'intégration d'un modèle d'IA dans votre code peut être assez difficile, car il implique de franchir une frontière entre deux méthodes de calcul différentes. Les méthodes de programmation traditionnelles ne suffisent pas pour interagir avec les LLM. Ce qu'il faut, c'est une abstraction de niveau supérieur qui se traduit entre les différents domaines, fournissant un moyen de gérer le contexte et de maintenir les sorties ancrées dans les données source.
Il y a quelques semaines, Microsoft a publié son premier wrapper LLM appelé Prompt Engine . À partir de là, le géant du logiciel a maintenant dévoilé son outil C# plus puissant, Semantic Kernel , pour travailler avec Azure OpenAI et les API d'OpenAI. Cet outil open source est disponible sur GitHub, ainsi que plusieurs exemples d'applications.
Le choix du nom signifie une compréhension de l'objectif principal d'un LLM. Le noyau sémantique se concentre sur les entrées et les sorties en langage naturel en dirigeant le modèle à l'aide de la demande initiale de l'utilisateur (demande) pour orchestrer les passages à travers les ressources associées, en répondant à la demande et en renvoyant une réponse (obtenir).
Le noyau sémantique fonctionne comme un système d'exploitation pour les API LLM, prenant des entrées, les traitant en travaillant avec le modèle de langage et renvoyant des sorties. Le rôle d'orchestration du noyau est essentiel pour gérer non seulement les invites et leurs jetons associés, mais également les mémoires, les connecteurs vers d'autres services d'information et les compétences prédéfinies qui mélangent les invites et le code conventionnel.
Le noyau sémantique gère le contexte à travers le concept de mémoires, en travaillant avec des fichiers et le stockage clé-valeur. Une troisième option, la mémoire sémantique , traite le contenu comme des vecteurs ou des intégrations, qui sont des tableaux de nombres que le LLM utilise pour représenter la signification des textes. Ces vecteurs intégrés aident le modèle sous-jacent à maintenir la pertinence, la cohérence et à réduire la probabilité de générer une sortie aléatoire.
En utilisant les incorporations, les développeurs peuvent décomposer les grandes invites en blocs de texte pour créer des invites plus ciblées sans épuiser les jetons disponibles pour une demande (par exemple, GPT-4 a une limite de 8 192 jetons par entrée).
Les connecteurs jouent un rôle important dans Semantic Kernel, permettant l'intégration des API existantes avec les LLM. Par exemple, un connecteur Microsoft Graph peut envoyer la sortie d'une demande dans un e-mail ou créer une description des relations dans l'organigramme. Les connecteurs fournissent également une forme de contrôle d'accès basé sur les rôles pour garantir que les sorties sont adaptées à l'utilisateur, en fonction de ses données.
Le troisième composant principal de Semantic Kernel est les compétences , qui sont des conteneurs de fonctions qui mélangent des invites LLM et du code conventionnel, similaires à Azure Functions. Ils peuvent être utilisés pour enchaîner des invites spécialisées et créer des applications alimentées par LLM.
Les sorties d'une fonction peuvent être chaînées à une autre, permettant la construction d'un pipeline de fonctions qui mélangent le traitement natif et les opérations LLM. De cette façon, les développeurs peuvent développer des compétences flexibles qui peuvent être sélectionnées et utilisées selon les besoins.
Bien que Semantic Kernel soit un outil puissant, il nécessite une réflexion et une planification minutieuses pour créer des applications efficaces. En utilisant stratégiquement le SDK aux côtés du code natif, les développeurs peuvent exploiter le potentiel des LLM, rendant le processus de développement plus efficace et productif. Pour vous aider à démarrer, Microsoft fournit une liste des meilleures pratiques apprises lors de la création d'applications LLM au sein de sa propre entreprise.
Dans le contexte du développement logiciel moderne, le SDK Semantic Kernel de Microsoft se positionne comme un catalyseur clé pour l'intégration de grands modèles de langage dans diverses applications. Sa mise en œuvre peut grandement profiter à des outils tels que la plate-forme no-code AppMaster et les créateurs de sites Web , offrant des solutions plus flexibles et efficaces pour un large éventail d'utilisateurs.