Delen via


Generatieve AI-oplossingen voor ontwikkelaars

Generatieve AI, mogelijk gemaakt door grote taalmodellen (LLM's), biedt nieuwe mogelijkheden voor ontwikkelaars en organisaties. Services zoals Azure OpenAI maken AI eenvoudig te gebruiken met eenvoudige API's. Ontwikkelaars van alle vaardigheidsniveaus kunnen geavanceerde AI-functies toevoegen aan hun apps zonder speciale kennis of hardware nodig te hebben.

Als ontwikkelaar vraagt u zich misschien af wat uw rol is en waar u zich bevindt. Misschien wilt u weten op welk deel van de 'AI-stack' u zich moet richten of waar u mee kunt bouwen met de huidige technologie.

Om deze vragen te beantwoorden, begint u met het bouwen van een mentaal model dat nieuwe termen en technologieën verbindt met wat u al kent. Deze aanpak helpt u bij het ontwerpen en toevoegen van generatieve AI-functies aan uw apps.

In deze reeks laten we zien hoe uw huidige softwarevaardigheden van toepassing zijn op generatieve AI. We introduceren ook belangrijke termen en concepten om u te helpen bij het bouwen van uw eerste generatieve AI-oplossingen.

Hoe bedrijven profiteren van het gebruik van generatieve AI

Als u wilt zien hoe uw softwarevaardigheden passen bij generatieve AI, bekijkt u eerst hoe bedrijven deze gebruiken.

Bedrijven gebruiken generatieve AI om klantbetrokkenheid te stimuleren, efficiënter te werken en problemen op creatieve manieren op te lossen. Door generatieve AI toe te voegen aan bestaande systemen kunnen bedrijven hun software verbeteren. Het kan functies toevoegen, zoals gepersonaliseerde aanbevelingen of slimme agents die vragen beantwoorden over een bedrijf of de bijbehorende producten.

Veelvoorkomende manieren waarop ai generatief is, helpt bedrijven:

  • inhoudsgeneratie:

    • Tekst, code, afbeeldingen en geluid maken voor marketing, verkoop, IT en interne communicatie.
  • verwerking van natuurlijke taal:

    • Zakelijke berichten schrijven of verbeteren.
    • Laat gebruikers chatten met hun gegevens door vragen te stellen op basis van bedrijfsdocumenten.
    • Grote hoeveelheden inhoud samenvatten, organiseren en vereenvoudigen.
    • Gebruik semantische zoekopdrachten om informatie te vinden zonder exacte trefwoorden.
    • Inhoud vertalen om meer mensen te bereiken.
  • gegevensanalyse:

    • Trends in gegevens zoeken en markten analyseren.
    • Modelleer 'what if'-scenario's om wijzigingen te plannen.
    • Bekijk code om verbeteringen voor te stellen, bugs op te lossen en documentatie te maken.

Als ontwikkelaar kunt u belangrijke verbeteringen aanbrengen door generatieve AI-functies toe te voegen aan de software die uw organisatie gebruikt.

Generatieve AI-toepassingen bouwen

Hoewel de LLM het zware werk doet, bouwt u systemen die de resultaten integreren, organiseren en bewaken. Er is veel te leren, maar u kunt de vaardigheden die u al hebt toepassen, waaronder het volgende:

  • Maak aanroepen naar API's met behulp van REST, JSON of taalspecifieke SOFTWARE Development Kits (SDK's)
  • Aanroepen naar API's organiseren en bedrijfslogica uitvoeren
  • Opslaan naar en ophalen uit gegevensarchieven
  • Invoer en resultaten integreren in de gebruikerservaring
  • API's maken die kunnen worden aangeroepen vanuit LLM's

Het ontwikkelen van generatieve AI-oplossingen bouwen voort op uw bestaande vaardigheden.

Ontwikkelhulpprogramma's en -services

Microsoft bouwt hulpprogramma's, services, API's, voorbeelden en leerbronnen om u te helpen met generatieve AI te beginnen. Elk beslaat een belangrijk onderdeel van het bouwen van een generatieve AI-oplossing. Als u deze resources goed wilt gebruiken, moet u het volgende doen:

  • Ken de belangrijkste functies, rollen en verantwoordelijkheden voor elk type generatieve AI-functie. In RAG-chatsystemen moet u bijvoorbeeld het probleem en de bijbehorende limieten begrijpen voordat u een oplossing ontwerpt.
  • Meer informatie over de API's, services en hulpprogramma's voor elke functie of rol. Zodra u het probleem kent, kunt u het zelf bouwen met code, hulpprogramma's met weinig code/geen code gebruiken of bestaande services aanroepen.
  • Verken uw opties, waaronder code, weinig code en oplossingen zonder code. U kunt alles zelf bouwen, maar soms is het sneller en eenvoudiger om verschillende hulpprogramma's en benaderingen te combineren.

Er is geen enkele juiste manier om generatieve AI-functies aan uw apps toe te voegen. U kunt kiezen uit veel hulpprogramma's en methoden. Weeg altijd de voor- en nadelen van elke.

Beginnen met de toepassingslaag

U hoeft niet alles te weten over generatieve AI om aan de slag te gaan. U hebt waarschijnlijk al de vaardigheden die u nodig hebt. Gebruik API's en uw huidige kennis om te beginnen.

U hoeft uw eigen LLM niet te trainen. Het trainen van een LLM kost te veel tijd en geld voor de meeste bedrijven. Gebruik in plaats daarvan bestaande vooraf getrainde modellen, zoals GPT-4o, door API-aanroepen uit te voeren naar gehoste services zoals Azure OpenAI API. Het toevoegen van generatieve AI-functies aan uw app is net zoals het toevoegen van een andere functie die gebruikmaakt van een API.

Mogelijk wilt u leren hoe LLM's worden getraind of hoe ze werken. Maar volledig inzicht in LLM's vereist diepgaande kennis van data science en wiskunde, vaak op een graduate-niveau.

Als u een achtergrond in de computerwetenschap hebt, weet u dat de meeste app-ontwikkeling plaatsvindt op een hogere laag in de technologiestack. U weet misschien wat over elke laag, maar u richt zich waarschijnlijk op app-ontwikkeling, met behulp van een specifieke taal, platform, API's en hulpprogramma's.

Hetzelfde idee is van toepassing op AI. U kunt de theorie achter LLM's leren, maar u moet zich richten op het bouwen van apps of het maken van patronen en processen voor generatieve AI in uw bedrijf.

Hier volgt een eenvoudige weergave van de kennislagen die nodig zijn om generatieve AI-functies aan een app toe te voegen:

diagram waarin de kennislagen worden weergegeven die vereist zijn voor het implementeren van generatieve AI-functies in een toepassing.

Op het laagste niveau doen gegevenswetenschappers onderzoek om AI te verbeteren met behulp van geavanceerde wiskunde, zoals statistieken en waarschijnlijkheid.

Eén laag omhoog, data scientists gebruiken theorie om LLM's te bouwen. Ze maken neurale netwerken en trainen ze om prompts te accepteren en resultaten te genereren (voltooiingen). Het proces voor het genereren van resultaten van prompts wordt deductie genoemd. Gegevenswetenschappers bepalen hoe het neurale netwerk het volgende woord of de volgende pixel voorspelt.

Omdat het trainen en uitvoeren van modellen veel rekenkracht vergt, worden de meeste modellen getraind en gehost in grote datacenters. U kunt een model trainen of hosten op uw eigen computer, maar het is traag. Toegewezen GPU's maken deze training sneller en efficiënter.

Wanneer modellen worden uitgevoerd in datacenters, hebt u er toegang toe via REST API's. SDK's verpakken deze API's vaak om ze eenvoudiger te maken voor ontwikkelaars. Andere hulpprogramma's helpen bij het bewaken en andere taken.

App-ontwikkelaars gebruiken deze API's om zakelijke functies te bouwen.

Naast het aanroepen van modellen, helpen nieuwe patronen en processen organisaties betrouwbare ai-functies te bouwen. Sommige patronen helpen er bijvoorbeeld voor te zorgen dat gegenereerde inhoud voldoet aan ethische, veiligheids- en privacynormen.

Als u een app-ontwikkelaar bent, kunt u zich richten op deze onderwerpen over de app-laag:

  • API's en SDK's: ontdek wat er beschikbaar is en wat elk eindpunt doet.
  • Hulpprogramma's en services: leer hoe u de functies bouwt die nodig zijn voor een generatieve AI-oplossing die gereed is voor productie.
  • Prompt engineering: leer hoe u de beste resultaten krijgt door vragen te stellen of te herformuleren.
  • Knelpunten en schalen: Zoek waar vertragingen optreden en hoe u schaalt. Leer hoe u toepassingsgegevens kunt registreren en ophalen zonder de privacy te schenden.
  • LLM-kenmerken: Kennis van de sterke punten, use cases, benchmarks en verschillen tussen modellen en leveranciers. Deze kennis helpt u bij het kiezen van het juiste model voor uw behoeften.
  • Patronen en werkstromen: blijf op de hoogte van de nieuwste manieren om effectieve en betrouwbare AI-functies in uw apps te bouwen.

Hulpprogramma's en services van Microsoft

U kunt weinig code en no-code generatieve AI-hulpprogramma's en -services van Microsoft gebruiken om u te helpen bij het bouwen van een deel van uw oplossing. Verschillende Azure-services kunnen cruciale rollen spelen. Elk draagt bij aan de efficiëntie, schaalbaarheid en robuustheid van de oplossing.

API en SDK's voor een codegerichte benadering

Elke generatieve AI-oplossing maakt gebruik van een LLM. Azure OpenAI biedt u alle functies in modellen zoals GPT-4.

Product Beschrijving
Azure OpenAI Een gehoste service die u toegang geeft tot krachtige taalmodellen zoals GPT-4. Gebruik API's om insluitingen te maken, chatfuncties te bouwen en resultaten aan te passen aan uw behoeften.

Uitvoeringsomgevingen

U hebt een service nodig om uw bedrijfslogica, presentatielogica of API's uit te voeren voor generatieve AI in uw apps.

Product Beschrijving
Azure App Service (of andere cloudservices op basis van containers) Host webinterfaces of API's voor gebruikers om te communiceren met uw RAG-chatsysteem. Snel web-apps ontwikkelen, implementeren en schalen. Beheer eenvoudig de front-end van uw systeem.
Azure Functions Gebruik serverloze compute voor gebeurtenisgestuurde taken in uw RAG-chatsysteem. Trigger gegevens ophalen, gebruikersquery's verwerken of achtergrondtaken verwerken, zoals synchroniseren en opschonen. Bouw een modulaire, schaalbare back-end.

Oplossingen met weinig code en geen code

Een deel van de logica die u nodig hebt om uw generatieve AI-visie te implementeren, kan snel worden gebouwd en betrouwbaar worden gehost met behulp van een oplossing met weinig code of geen code.

Product Beschrijving
Azure AI Foundry U kunt Azure AI Foundry- gebruiken om aangepaste machine learning-modellen te trainen, testen en implementeren om een RAG-chatsysteem te verbeteren. Gebruik bijvoorbeeld Azure AI Foundry om het genereren van reacties aan te passen of om de relevantie van opgehaalde gegevens te verbeteren.

Zie De ontwikkeling van toepassingen met weinig code in Azure voor hulp bij het bouwen van oplossingen met weinig code.

Vectordatabase

Sommige generatieve AI-oplossingen moeten gegevens opslaan en ophalen om de resultaten te verbeteren. Met een RAG-chatsysteem kunnen gebruikers bijvoorbeeld chatten met de gegevens van uw bedrijf. In dit geval hebt u een vectordatabase nodig.

Product Beschrijving
Azure AI Search Zoek in grote gegevenssets naar informatie voor het taalmodel. Gebruik het voor het ophalen van een DEEL van een RAG-systeem om reacties relevanter en nuttiger te maken.
Azure Cosmos DB Sla grote hoeveelheden gestructureerde en ongestructureerde gegevens op voor het RAG-chatsysteem. Snelle lees- en schrijfsnelheden helpen realtime gegevens te verwerken en gebruikersinteracties op te slaan.
Azure Cache voor Redis Sla veelgebruikte informatie in de cache op om vertragingen te verminderen en het RAG-chatsysteem te versnellen. Sla sessiegegevens, gebruikersvoorkeuren en algemene query's op.
Azure Database for PostgreSQL - Flexibele server Sla app-gegevens op, zoals logboeken, gebruikersprofielen en chatgeschiedenis. Dankzij de flexibiliteit en schaalbaarheid blijven uw gegevens beschikbaar en veilig.

Elk van deze Azure-services helpt u een schaalbare, efficiënte AI-oplossing te bouwen. Hiermee kunt u gebruikmaken van de beste cloud- en AI-functies van Azure. Zie Een vectordatabase kiezen voor meer informatie.

Codegerichte AI-ontwikkeling met behulp van de Azure OpenAI-API

In deze sectie wordt de Azure OpenAI-API behandeld. U gebruikt een REST API voor toegang tot LLM-functies. U kunt deze API's aanroepen vanuit elke moderne programmeertaal. Veel talen hebben SDK's die het aanroepen van de API eenvoudiger maken.

Hier volgt de lijst met Azure OpenAI REST API-wrappers:

Als er geen SDK voor uw taal of platform is, voert u REST-aanroepen rechtstreeks uit naar de web-API's:

De meeste ontwikkelaars weten hoe ze web-API's kunnen aanroepen.

Azure OpenAI heeft verschillende API's voor verschillende AI-taken. Hier volgt een overzicht van de belangrijkste API's:

  • API voor voltooiing van chat: tekst genereren, chatten en vragen beantwoorden. Gebruik deze voor chatbots, virtuele assistenten, samenvatting, schrijven en vertalen. Het biedt ook ondersteuning voor visuele functies (zoals het uploaden van een afbeelding en het stellen van vragen).
  • Inhoudsbeheer-API: schadelijke of onveilige inhoud zoeken en filteren in tekst. Gebruik dit om gebruikersinteracties veilig te houden.
  • Embeddings-API: zet tekst om in vectoren voor zoeken, clusteren en vergelijkbare inhoud te vinden. Gebruik deze om de betekenis en relaties in tekst vast te leggen.
  • Api voor het genereren van afbeeldingen: afbeeldingen en illustraties maken op basis van tekstprompts. Gebaseerd op de DALL· E-model.
  • REST API voor spraak naar tekst: converteer spraak naar tekst of tekst naar spraak in veel talen. Gebruik dit voor spraakopdrachten en audiotranscriptie.

Dit artikel richt zich op tekstgebaseerde AI, zoals chat en samenvatting, maar u kunt deze API's gebruiken voor veel soorten media.

Aan de slag met het ontwikkelen van generatieve AI

Wanneer u een nieuwe taal, API of technologie leert, begint u met zelfstudies of training die laten zien hoe u kleine apps bouwt. Sommige ontwikkelaars leren liever door hun eigen kleine projecten te bouwen. Beide manieren werken goed.

Begin klein, stel eenvoudige doelen in en bouw stap voor stap uw vaardigheden. Generatieve AI-ontwikkeling verschilt van traditionele software. In reguliere software krijgt u elke keer dezelfde uitvoer voor dezelfde invoer. Met generatieve AI krijgt u verschillende antwoorden voor dezelfde prompt, wat nieuwe uitdagingen oplevert.

Houd bij het begin rekening met deze tips.

Tip 1: Wees duidelijk over uw doel

  • Definieer het probleem dat u wilt oplossen. Generatieve AI kan veel dingen doen, maar u krijgt betere resultaten als u precies weet wat u wilt, zoals het genereren van tekst, afbeeldingen of code.
  • Ken je publiek. Pas de ai-uitvoer aan zodat deze overeenkomt met wie deze gebruikt, ongeacht of het om informele gebruikers of experts gaat.

Tip 2: LLM-sterke punten gebruiken

  • De limieten en vooroordelen van LLM's kennen. Ze zijn krachtig, maar niet perfect. Plannen voor hun zwakke punten.
  • Gebruik LLM's voor wat ze het beste doen, zoals het maken van inhoud, samenvatten of vertalen. Soms is een ander type AI mogelijk beter voor uw behoeften.

Tip 3: Schrijf goede aanwijzingen

  • Leer prompt engineering. Probeer verschillende aanwijzingen om te zien wat het beste werkt. Wees duidelijk en specifiek.
  • Verfijn uw prompts. De eerste iteratie werkt mogelijk niet. Gebruik de resultaten om uw volgende prompt te verbeteren.

Uw eerste generatieve AI-oplossing bouwen

Als u een generatieve AI-oplossing wilt bouwen, begint u met aan de slag met chatten met behulp van uw eigen gegevensvoorbeeld voor Python. U vindt ook zelfstudies voor .NET, Java en JavaScript.

Laatste overwegingen voor toepassingsontwerp

Hier volgt een korte lijst met zaken die u kunt overwegen en andere punten uit dit artikel die van invloed kunnen zijn op uw ontwerpbeslissingen voor uw toepassing:

  • Definieer de probleemruimte en doelgroep duidelijk om de mogelijkheden van AI af te stemmen op de verwachtingen van gebruikers. Optimaliseer de effectiviteit van de oplossing voor de beoogde use case.
  • Gebruik platformen met weinig code/geen code voor snelle prototypen en ontwikkeling als ze voldoen aan de vereisten van uw project. Evalueer de afweging tussen ontwikkelingssnelheid en aanpasbaarheid. Probeer hulpprogramma's met weinig code en zonder code voor onderdelen van uw app om de ontwikkeling te versnellen en niet-technische teamleden te helpen.