Microsoft introduceert de Semantic Kernel SDK , waardoor de integratie van grote taalmodellen (LLM's) zoals GPT-4 in code veel eenvoudiger wordt. De complexiteit van het beheer van prompts, invoer en gerichte uitvoer wordt vereenvoudigd met deze SDK, waardoor de kloof tussen de taalmodellen en ontwikkelaars wordt overbrugd.
Het proces van het integreren van een AI-model in uw code kan behoorlijk uitdagend zijn, omdat het gaat om het overschrijden van een grens tussen twee verschillende manieren van rekenen. Traditionele programmeermethoden zijn niet voldoende voor interactie met LLM's. Wat nodig is, is een abstractie op een hoger niveau die zich vertaalt tussen de verschillende domeinen, een manier biedt om de context te beheren en de output gegrond te houden in de brongegevens.
Een paar weken geleden bracht Microsoft zijn eerste LLM-wrapper uit, genaamd Prompt Engine . Daarop voortbouwend heeft de softwaregigant nu zijn krachtigere C#-tool, Semantic Kernel , onthuld voor het werken met Azure OpenAI en de API's van OpenAI. Deze open-sourcetool is beschikbaar op GitHub, samen met verschillende voorbeeldapplicaties.
De keuze van de naam betekent een goed begrip van het primaire doel van een LLM. Semantic Kernel richt zich op invoer en uitvoer van natuurlijke taal door het model te sturen met behulp van het initiële gebruikersverzoek (de vraag) om doorgangen door bijbehorende bronnen te orkestreren, het verzoek in te willigen en een antwoord terug te sturen (de get).
Semantic Kernel functioneert als een besturingssysteem voor LLM API's, neemt invoer, verwerkt deze door met het taalmodel te werken en retourneert uitvoer. De orkestratierol van de kernel is essentieel bij het beheer van niet alleen prompts en de bijbehorende tokens, maar ook geheugens, connectoren naar andere informatiediensten en vooraf gedefinieerde vaardigheden die prompts en conventionele code combineren.
Semantic Kernel beheert de context via het concept van herinneringen, het werken met bestanden en opslag van sleutelwaarden. Een derde optie, semantisch geheugen , behandelt inhoud als vectoren of inbeddingen, dit zijn reeksen getallen die de LLM gebruikt om de betekenis van teksten weer te geven. Deze ingebedde vectoren helpen het onderliggende model relevantie en coherentie te behouden en verminderen de kans op het genereren van willekeurige uitvoer.
Door insluitingen te gebruiken, kunnen ontwikkelaars grote prompts opsplitsen in tekstblokken om meer gerichte prompts te maken zonder de beschikbare tokens voor een verzoek uit te putten (GPT-4 heeft bijvoorbeeld een limiet van 8.192 tokens per invoer).
Connectoren spelen een belangrijke rol in Semantic Kernel, waardoor integratie van bestaande API's met LLM's mogelijk is. Een Microsoft Graph-connector kan bijvoorbeeld de uitvoer van een verzoek in een e-mail verzenden of een beschrijving van relaties in het organigram opbouwen. Connectors bieden ook een vorm van op rollen gebaseerde toegangscontrole om ervoor te zorgen dat de uitvoer wordt afgestemd op de gebruiker, op basis van hun gegevens.
Het derde hoofdonderdeel van Semantic Kernel is skills , dit zijn containers met functies die LLM-prompts en conventionele code combineren, vergelijkbaar met Azure Functions. Ze kunnen worden gebruikt om gespecialiseerde prompts aan elkaar te koppelen en LLM-aangedreven applicaties te creëren.
Uitvoer van de ene functie kan aan een andere worden geketend, waardoor een pijplijn van functies kan worden opgebouwd die native processing en LLM-bewerkingen combineren. Op deze manier kunnen ontwikkelaars flexibele vaardigheden opbouwen die naar behoefte kunnen worden geselecteerd en gebruikt.
Hoewel Semantic Kernel een krachtig hulpmiddel is, vereist het zorgvuldig nadenken en plannen om effectieve toepassingen te creëren. Door de SDK strategisch naast native code te gebruiken, kunnen ontwikkelaars het potentieel van LLM's benutten, waardoor het ontwikkelingsproces efficiënter en productiever wordt. Om u te helpen aan de slag te gaan, biedt Microsoft een lijst met best practice-richtlijnen die zijn geleerd bij het bouwen van LLM-applicaties binnen het eigen bedrijf.
In de context van moderne softwareontwikkeling positioneert de Semantic Kernel SDK van Microsoft zichzelf als een belangrijke factor voor het integreren van grote taalmodellen in verschillende toepassingen. De implementatie ervan kan grote voordelen opleveren voor tools zoals no-code platform van AppMaster en websitebouwers , die flexibelere en efficiëntere oplossingen bieden voor een breed scala aan gebruikers.