Concepten: AI op Azure Databricks

Een AI-app is een toepassing die GEBRUIKMAAKT van AI-modellen (zoals grote taalmodellen, modellen voor het genereren van afbeeldingen en tekst-naar-spraak-modellen) om nieuwe uitvoer te maken, complexe taken te automatiseren of intelligente interacties uit te voeren op basis van gebruikersinvoer.

Een AI-app kan worden aangedreven door eenvoudige aanroepen naar LLM's of andere AI-modellen, of door complexe agents. Lees meer over complexiteitsniveaus.

Agents, hulpprogramma's, evaluatie, modellen en andere aspecten van AI-apps kunnen worden aangepast met uw eigen gegevens. Deze gegevensgestuurde aanpassing leidt tot gegevensintelligentie, zodat u verder kunt gaan dan de algemene intelligentie die wordt aangeboden door kant-en-klare AI-modellen.

AI-toepassingen

Een gebruikersgerichte AI-toepassing kan vele vormen aannemen, zoals:

Succes met AI-toepassingen vereist vaak twee sets vaardigheden: toepassingsontwikkeling en AI-evaluatie. Ontwikkeling van AI-apps is vergelijkbaar met het ontwikkelen van niet-AI-toepassingen, waarvoor softwarevaardigheden nodig zijn die afhankelijk zijn van het type toepassing. Evaluatie voor AI-toepassingen vereist echter gespecialiseerde hulpprogramma's en technieken om de complexiteit en open-ended reacties van AI af te handelen.

Zie voor meer informatie over het bouwen van branchespecifieke AI-apps op Azure Databricks:

AI-evaluatie

AI-modellen, agents en toepassingen hebben vaak complex, open-eindgedrag. Gebruikers kunnen elke query invoeren. Een agent kan tijdens de uitvoering tekst, afbeeldingen en meer verzamelen. De uitvoer kan willekeurige tekst, afbeeldingen of andere media zijn en er kunnen veel 'goede' antwoorden zijn.

Deze complicaties maken het lastig om AI te evalueren. Voor de juiste evaluatie is het volgende vereist:

  • Automatisering met behulp van AI om AI te evalueren
  • Menselijke feedback van experts en gebruikers voor het verzamelen van grondwaar en het kalibreren van geautomatiseerde evaluatie
  • Dieper ingaan op complexe agents om inzicht te hebben in gedrag en foutopsporing

Azure Databricks beheerde MLflow en gerelateerde hulpprogramma's bieden de basis voor AI-evaluatie:

Agenten

Een agent- of agentsysteem is een AI-gestuurd systeem dat autonoom kan zien, beslissen en handelen in een omgeving om doelen te bereiken. In tegenstelling tot een zelfstandig AI-model dat alleen een uitvoer produceert wanneer hierom wordt gevraagd, heeft een agentsysteem een mate van agentschap. Moderne agents gebruiken een AI-model als de 'hersenen' van een systeem dat:

  1. Ontvangt gebruikersaanvragen of berichten van een andere agent.
  2. Redenen om door te gaan: welke gegevens moeten worden opgehaald, welke logica moet worden toegepast, welke hulpprogramma's moeten worden aangeroepen of of er meer invoer van de gebruiker moet worden aangevraagd.
  3. Voert een plan uit en roept mogelijk meerdere tools aan of delegeert aan subagenten.
  4. Retourneert een antwoord of vraagt de gebruiker om aanvullende uitleg.

Door de algemene intelligentie (de vooraf getrainde mogelijkheden van het AI-model) en gegevensinformatie (de gespecialiseerde kennis en API's die specifiek zijn voor uw bedrijf) te overbruggen, maken agentsystemen gebruiksvoorbeelden voor ondernemingen mogelijk, zoals geavanceerde klantenservicestromen, gegevensrijke analysebots en indeling met meerdere agents voor complexe operationele taken.

Er is een continuum van eenvoudige AI-modellen tot complexe agents. Zie Ontwerppatronen voor agentsystemen voor meer informatie.

Azure Databricks biedt een scala aan opties voor het bouwen van agents, van volledig begeleide tot volledig aangepaste:

  • AI Playground biedt een gebruikersinterface voor het maken van prototypen van agents voor het aanroepen van hulpprogramma's, waaruit u gegenereerde agentcode kunt exporteren.
  • Met aangepaste agents kunt u agents bouwen en implementeren met behulp van aangepaste code of creatiebibliotheken van derden.

Hulpmiddelen

Agents kunnen hulpprogramma's aanroepen om informatie te verzamelen of acties uit te voeren. Hulpprogramma's zijn functies met één interactie die een LLM kan aanroepen om een goed gedefinieerde taak uit te voeren. Het AI-model genereert doorgaans parameters voor elke aanroep van het hulpprogramma en het hulpprogramma biedt een eenvoudige interactie tussen invoer en uitvoer.

Veelvoorkomende hulpprogrammacategorieën zijn:

  • Hulpprogramma's voor het ophalen of analyseren van gegevens
    • Semantisch ophalen: voer een query uit op een vectorindex om relevante tekst of andere ongestructureerde gegevens te zoeken.
    • Gestructureerd ophalen: VOER SQL-query's uit of gebruik API's om gestructureerde informatie op te halen.
    • Webzoektool: Zoeken op internet of een interne webdatabank.
    • Klassieke ML-modellen: Roep machine learning-modellen aan om classificatie, regressie of andere voorspellingen uit te voeren.
    • AI-modellen: gespecialiseerde uitvoer genereren, zoals code of afbeeldingen.
  • Hulpprogramma's die de status van een extern systeem wijzigen
    • API-aanroep: CRM-eindpunten, interne services of andere integraties van derden aanroepen.
    • Integratie van e-mail- of berichten-app: een bericht posten of een melding verzenden.
  • Hulpprogramma's die logica uitvoeren of een specifieke taak uitvoeren
    • Code-uitvoering: voer door de gebruiker geleverde of door een LLM gegenereerde code uit in een sandbox.

Hulpprogramma's kunnen worden ingebouwd in agentische logica of worden geopend met behulp van gestandaardiseerde interfaces zoals MCP.

Gereedschappen versus agenten:

  • Hulpprogramma's voeren één goed gedefinieerde bewerking uit. Agents kunnen meer open taken uitvoeren.
  • Tools zijn over het algemeen stateless en houden buiten elke aanroep geen doorlopende context bij. Agenten behouden de toestand terwijl ze iteratief taken oplossen.

Foutafhandeling en veiligheid van hulpprogramma's:

Omdat elke aanroep van het hulpprogramma een externe bewerking is, zoals een API-aanroep, moet het systeem fouten probleemloos afhandelen. Time-outs, onjuist gevormde antwoorden of ongeldige invoer mogen er niet toe leiden dat de agent zelf volledig mislukt. Beperk in productie het aantal toegestane hulpprogrammaaanroepen, laat een terugvalantwoord zien als de aanroepen van hulpprogramma's mislukken en pas kaders toe om ervoor te zorgen dat het agentsysteem niet herhaaldelijk dezelfde mislukte actie probeert uit te voeren.

Meer informatie over AI-hulpprogramma's in Databricks:

AI-modellen en LLMs

Grote taalmodellen (LLM's) zijn AI-modellen die zijn getraind op gegevenssets met enorme tekst die inzicht kunnen krijgen in, genereren en redeneren voor menselijke taal. LLM's maken gebruik van toepassingen zoals chatbots, codeassistenten en hulpprogramma's voor het genereren van inhoud door contextuele relevante tekst te voorspellen en te produceren op basis van invoerprompts.

Over het algemeen worden AI-modellen of basismodellen getraind op enorme tekst, afbeeldingen, video, audio of andere gegevens om meer te weten te komen over modi buiten tekst. Multimodale modellen leren menselijke taal te verbinden met afbeeldingen, audio en andere media. LLM's zijn een type AI- of basismodel, hoewel deze termen vaak losjes en door elkaar worden gebruikt.

AI-modellen bieden de intelligentie achter agents en apps. Eenvoudige apps worden vaak gebouwd met behulp van één model dat is aangepast met prompt engineering.

Meer informatie over het gebruik van AI-modellen op Azure Databricks:

Promptengineering

AI-modellen gebruiken doorgaans prompts, ofwel instructies die het model vertellen hoe het gebruikersinvoer moet verwerken. Prompts kunnen sterk worden aangepast met gedetailleerde stappen, deskundige kennis, gegevens en andere informatie.

Azure Databricks biedt flexibele manieren om prompt engineering uit te voeren. Voorbeeld:

  • Knowledge Assistant automatiseert promptengineering achter de schermen, op basis van uw gegevens en feedback.

Modellen verfijnen

AI-modellen kunnen ook worden aangepast door middel van fine-tuning, waarmee een model voor een specifiek domein of een specifieke toepassing wordt aangepast met behulp van uw aangepaste gegevens.

Azure Databricks biedt flexibele manieren om modellen af te stemmen. Voorbeeld:

Wat is een AI-platform?

AI vereist een gecombineerd data + AI-platform. Voor zowel ontwikkelaars als beheerders moeten de belangrijkste onderdelen voor AI worden verbonden en beheerd in een eenvoudig, geïntegreerd platform.

Belangrijke onderdelen zijn:

  • AI-assets, zoals modellen, agents en apps
  • Gegevensassets zoals bestanden, tabellen, verwerkingspijplijnen, vectorindexen en functiearchieven
  • AI-implementaties zoals eindpunten voor modellen en agents
  • Hulpprogramma's voor het bouwen en implementeren van AI- en gegevensassets

De belangrijkste beheermogelijkheden zijn onder andere:

Zie ook Azure Databricks AI-mogelijkheden en Databricks-architectuur.

Algemene intelligentie versus gegevensintelligentie

diagram vergelijkt algemene intelligentie versus gegevensintelligentie.

  • Algemene intelligentie verwijst naar wat de LLM inherent kent van brede voortraining over diverse tekst. Dit is handig voor taalvaardigheid en algemene redenering.
  • Gegevensinformatie verwijst naar de domeinspecifieke gegevens en API's van uw organisatie. Dit kan bestaan uit klantrecords, productgegevens, knowledge bases of documenten die overeenkomen met uw unieke bedrijfsomgeving.

Agentsystemen combineren deze twee kennisbronnen: ze beginnen met de brede, algemene kennis van een LLM en brengen vervolgens realtime of domeinspecifieke gegevens in om gedetailleerde vragen te beantwoorden of gespecialiseerde acties uit te voeren. Met Azure Databricks kunt u gegevensinformatie insluiten in uw AI-apps op elk niveau:

AI vs. ML vs. deep learning

De grenzen tussen AI, machine learning (ML) en Deep Learning (DL) kunnen fuzzy zijn. Deze handleiding is gericht op AI, maar de volgende Databricks-platformfuncties ondersteunen ML, deep learning en AI:

Aanvullende informatiebronnen