Deze blogpost is geschreven in samenwerking met Tuana Çelik van deepset.
Enterprise search is een cruciaal onderdeel van de efficiëntie van de organisatie door middel van documentdigitalisering en kennisbeheer. Enterprise Search omvat het opslaan van documenten zoals digitale bestanden, het indexeren van de documenten voor zoeken en het leveren van relevante resultaten op basis van gebruikersquery's. Met de komst van grote taalmodellen (LLM's) kunnen we conversatie-ervaringen implementeren bij het leveren van de resultaten aan gebruikers. We moeten er echter voor zorgen dat de LLM’s de reacties op bedrijfsgegevens beperken, waardoor modelhallucinaties worden verzacht.
In dit bericht laten we zien hoe u een end-to-end generatieve AI-toepassing voor enterprise search kunt bouwen met Retrieval Augmented Generation (RAG) door gebruik te maken van Haystack-pijplijnen en het Falcon-40b-instruct-model van Amazon SageMaker JumpStart en Amazon OpenSearch-service. De broncode voor het voorbeeld dat in dit bericht wordt getoond, is beschikbaar in de GitHub-repository
Overzicht oplossingen
Om de generatieve AI-applicatiereacties te beperken tot alleen bedrijfsgegevens, moeten we een techniek gebruiken die Retrieval Augmented Generation (RAG) heet. Een applicatie die de RAG-aanpak gebruikt, haalt informatie op die het meest relevant is voor het verzoek van de gebruiker uit de kennisbank of inhoud van de onderneming, bundelt deze als context samen met het verzoek van de gebruiker als prompt, en stuurt deze vervolgens naar de LLM om een antwoord te krijgen. LLM's hebben beperkingen rond het maximale aantal woorden voor de invoerprompts, dus het kiezen van de juiste passages uit duizenden of miljoenen documenten in de onderneming heeft een directe impact op de nauwkeurigheid van de LLM.
De RAG-techniek is steeds belangrijker geworden bij enterprise search. In dit bericht laten we een workflow zien die gebruik maakt van SageMaker JumpStart om een Falcon-40b-instruct-model te implementeren en Haystack gebruikt om een pijplijn voor het beantwoorden van vragen met toegevoegde vragen te ontwerpen en uit te voeren. De uiteindelijke workflow voor het vergroten van het ophalen omvat de volgende stappen op hoog niveau:
- De gebruikersquery wordt gebruikt voor een retrievercomponent, die een vectorzoekopdracht uitvoert, om de meest relevante context uit onze database op te halen.
- Deze context is ingebed in een prompt die is ontworpen om een LLM te instrueren om alleen een antwoord te genereren op basis van de opgegeven context.
- De LLM genereert een antwoord op de oorspronkelijke vraag door alleen rekening te houden met de context die is ingebed in de ontvangen prompt.
SageMaker JumpStart
SageMaker JumpStart fungeert als een modelhub die een breed scala aan deep learning-modellen omvat voor gebruiksscenario's voor tekst, beeld, audio en insluiting. Met meer dan 500 modellen omvat de modelhub zowel publieke als eigen modellen van AWS-partners zoals AI21, Stability AI, Cohere en LightOn. Het herbergt ook basismodellen die uitsluitend door Amazon zijn ontwikkeld, zoals AlexaTM. Sommige modellen bieden u de mogelijkheid om ze te verfijnen met uw eigen gegevens. SageMaker JumpStart biedt ook oplossingssjablonen die infrastructuur opzetten voor algemene gebruiksscenario's, en uitvoerbare voorbeeldnotebooks voor machine learning (ML) met SageMaker.
Hooiberg
Hooiberg is een open-source raamwerk van deepset waarmee ontwikkelaars LLM-applicaties kunnen orkestreren die zijn opgebouwd uit verschillende componenten zoals modellen, vector-DB's, bestandsconverters en talloze andere modules. Hooiberg biedt pijpleidingen en Ontmoet het team, twee krachtige structuren voor het ontwerpen van LLM-applicaties voor verschillende gebruiksscenario's, waaronder zoeken, beantwoorden van vragen en conversatie-AI. Met een grote focus op de modernste ophaalmethoden en solide evaluatiestatistieken, biedt het u alles wat u nodig heeft om een betrouwbare applicatie te leveren. U kunt pijplijnen serialiseren naar YAML-bestanden, stel ze bloot via a REST API, en schaal ze flexibel met uw workloads, waardoor u uw applicatie eenvoudig van een prototypefase naar productie kunt verplaatsen.
AmazonOpenSearch
OpenSearch Service is een volledig beheerde service die het eenvoudig maakt om OpenSearch in de AWS Cloud te implementeren, schalen en gebruiken. OpenSearch is een schaalbare, flexibele en uitbreidbare open-source softwaresuite voor zoek-, analyse-, beveiligingsmonitoring- en observatietoepassingen, gelicentieerd onder de Apache 2.0-licentie.
De afgelopen jaren zijn ML-technieken steeds populairder geworden om het zoeken te verbeteren. Onder hen zijn het gebruik van modellen insluiten, een type model dat een grote hoeveelheid gegevens kan coderen in een n-dimensionale ruimte waar elke entiteit wordt gecodeerd in een vector, een datapunt in die ruimte, en zo georganiseerd dat vergelijkbare entiteiten dichter bij elkaar staan. Een vectordatabase biedt efficiënt zoeken naar vectorovereenkomsten door gespecialiseerde indexen zoals k-NN-indexen aan te bieden.
Met de vectordatabasemogelijkheden van OpenSearch Service kunt u semantisch zoeken, RAG met LLM's, aanbevelingsengines en rijke media doorzoeken implementeren. In dit bericht gebruiken we RAG om generatieve LLM's aan te vullen met een externe kennisbank die doorgaans is opgebouwd met behulp van een vectordatabase die is gehydrateerd met vectorgecodeerde kennisartikelen.
Toepassingsoverzicht
Het volgende diagram toont de structuur van de uiteindelijke toepassing.
In deze toepassing gebruiken we de Haystack Indexing Pipeline om geüploade documenten en indexdocumenten te beheren, en de Haystack Query Pipeline om kennis op te halen uit geïndexeerde documenten.
De Haystack Indexing Pipeline omvat de volgende stappen op hoog niveau:
- Upload een document.
- initialiseren
DocumentStore
en indexdocumenten.
Wij gebruiken OpenSearch als onze DocumentWinkel en een hooiberg indexeringspijplijn om onze bestanden voor te verwerken en te indexeren naar OpenSearch. Hooiberg BestandConverters en Preprocessor kunt u uw onbewerkte bestanden opschonen en voorbereiden zodat ze een vorm en indeling hebben die uw natuurlijke taalverwerkingspijplijn (NLP) en het taalmodel van uw keuze aankunnen. De indexeringspijplijn die we hier hebben gebruikt, maakt ook gebruik van sentence-transformers/all-MiniLM-L12-v2
om insluitingen voor elk document te maken, die we gebruiken voor efficiënt ophalen.
De Haystack Query Pipeline omvat de volgende stappen op hoog niveau:
- We sturen een vraag naar de RAG-pijplijn.
- An Retriever insluiten component fungeert als een filter dat de meest relevante ophaalt
top_k
documenten uit onze geïndexeerde documenten in OpenSearch. We gebruiken ons keuze voor het inbeddingsmodel om zowel de query als de documenten (bij indexering) in te sluiten om dit te bereiken. - De opgehaalde documenten zijn ingebed in onze prompt voor het Falcon-40b-instruct-model.
- De LLM keert terug met een antwoord dat is gebaseerd op de opgehaalde documenten.
Voor modelimplementatie gebruiken we SageMaker JumpStart, dat het implementeren van modellen vereenvoudigt met een simpele druk op de knop. Hoewel we Falcon-40b-instruct voor dit voorbeeld hebben gebruikt en getest, kunt u elk Hugging Face-model gebruiken dat beschikbaar is op SageMaker.
De uiteindelijke oplossing is beschikbaar op de hooiberg-sagemaker repository en gebruikt de OpenSearch-website en -documentatie (voor OpenSearch 2.7) als onze voorbeeldgegevens om het ophalen van uitgebreide vraagantwoorden uit te voeren.
Voorwaarden
Het eerste dat we moeten doen voordat we AWS-services kunnen gebruiken, is ervoor zorgen dat we ons hebben aangemeld en een AWS-account hebben aangemaakt. Vervolgens moet u een beheerder en groep aanmaken. Voor instructies over beide stappen, zie Vereisten voor Amazon SageMaker instellen.
Om de Hooiberg te kunnen gebruiken, moet je de farm-haystack
pakket met de vereiste afhankelijkheden. Om dit te bereiken, gebruikt u de requirements.txt
bestand in de GitHub-repository door rennen pip install requirements.txt
.
Indexeer documenten naar OpenSearch
Haystack biedt een aantal connectoren aan voor databases, die heten DocumentStores
. Voor deze RAG-workflow gebruiken we de OpenSearchDocumentStore
. Het voorbeeld bewaarplaats omvat een indexeringspijplijn en AWS CloudFormatie sjabloon opzetten van een OpenSearchDocumentStore
met documenten die zijn gecrawld van de OpenSearch-website en documentatiepagina's.
Om een NLP-toepassing te laten werken voor productiegebruiksscenario's, moeten we vaak nadenken over het voorbereiden en opschonen van gegevens. Deze is bedekt met Hooiberg indexering van pijpleidingen, waarmee u uw eigen stappen voor gegevensvoorbereiding kunt ontwerpen, waarmee u uiteindelijk uw documenten naar de database van uw keuze kunt schrijven.
Een indexeringspijplijn kan ook een stap bevatten voor het maken van insluitingen voor uw documenten. Dit is van groot belang voor de ophaalstap. In ons voorbeeld gebruiken we zinstransformatoren/all-MiniLM-L12-v2 als ons inbeddingsmodel. Dit model wordt gebruikt om insluitingen te creëren voor al onze geïndexeerde documenten, maar ook voor de zoekopdracht van de gebruiker op het moment van de zoekopdracht.
Om documenten te indexeren in de OpenSearchDocumentStore
, bieden we twee opties met gedetailleerde instructies in de README van de voorbeeldrepository. Hier doorlopen we de stappen voor het indexeren naar een OpenSearch-service die op AWS is geïmplementeerd.
Start een OpenSearch-service
Gebruik de meegeleverde CloudFormation-sjabloon om een OpenSearch-service op AWS op te zetten. Door de volgende opdracht uit te voeren, beschikt u over een lege OpenSearch-service. U kunt er vervolgens voor kiezen om de door ons verstrekte voorbeeldgegevens te indexeren of uw eigen gegevens te gebruiken, die u kunt opschonen en voorbewerken met behulp van de Hooibergindexeringspijplijn. Houd er rekening mee dat hierdoor een exemplaar wordt gemaakt dat open staat voor internet, wat niet wordt aanbevolen voor productiegebruik.
Wacht ongeveer 30 minuten totdat de stapellancering is voltooid. U kunt de voortgang ervan controleren op de AWS CloudFormation-console door naar het Stacks pagina en zoek naar de genoemde stapel HaystackOpensearch
.
Indexeer documenten in OpenSearch
Nu we een actieve OpenSearch-service hebben, kunnen we de klasse OpenSearchDocumentStore gebruiken om er verbinding mee te maken en onze documenten ernaar te schrijven.
Om de hostnaam voor OpenSearch op te halen, voert u de volgende opdracht uit:
Exporteer eerst het volgende:
Dan kunt u de opensearch_indexing_pipeline.py
script om de verstrekte demogegevens voor te verwerken en te indexeren.
Als u uw eigen gegevens wilt gebruiken, wijzigt u de indexeringspijplijn in opensearch_indexing_pipeline.py
om de BestandConverter en Preprocessor installatiestappen die u nodig heeft.
Implementeer de pijplijn voor het ophalen van uitgebreide vragen
Nu we de gegevens in OpenSearch hebben geïndexeerd, kunnen we vragen beantwoorden op deze documenten. Voor deze RAG-pijplijn gebruiken we het Falcon-40b-instruct-model dat we hebben geïmplementeerd op SageMaker JumpStart.
U hebt ook de mogelijkheid om het model programmatisch te implementeren vanaf een Jupyter-notebook. Voor instructies raadpleegt u de GitHub repo.
- Zoek naar het Falcon-40b-instruct-model op SageMaker JumpStart.
- Implementeer uw model op SageMaker JumpStart en noteer de naam van het eindpunt.
- Exporteer de volgende waarden:
- lopen
python rag_pipeline.py
.
Hierdoor wordt een opdrachtregelhulpprogramma gestart dat wacht op de vraag van een gebruiker. Laten we bijvoorbeeld vragen: "Hoe kan ik de OpenSearch-cli installeren?"
Dit resultaat wordt bereikt omdat we onze prompt hebben gedefinieerd in de Hooibergpromptsjabloon het volgende zijn:
Verdere aanpassingen
U kunt aanvullende aanpassingen aanbrengen aan verschillende elementen in de oplossing, zoals de volgende:
- De data – Wij hebben OpenSearch geleverd documentatie en van de gegevens als voorbeeldgegevens. Vergeet niet om de
opensearch_indexing_pipeline.py
script dat aan uw behoeften voldoet als u ervoor kiest uw eigen gegevens te gebruiken. - Het model – In dit voorbeeld hebben we het Falcon-40b-instruct-model gebruikt. U bent vrij om elk ander Hugging Face-model op SageMaker te implementeren en te gebruiken. Houd er rekening mee dat het wijzigen van een model waarschijnlijk betekent dat u uw prompt moet aanpassen aan iets waarvoor deze is ontworpen.
- De prompt – Voor dit bericht hebben we onze eigen post gemaakt
PromptTemplate
dat het model instrueert om vragen te beantwoorden op basis van de gegeven context en 'Ik weet het niet' te antwoorden als de context geen relevante informatie bevat. U kunt deze prompt wijzigen om te experimenteren met verschillende prompts met Falcon-40b-instruct. U kunt ook eenvoudig enkele van onze aanwijzingen uit de PromptHub. - Het inbeddingsmodel – Voor de ophaalstap gebruiken we een lichtgewicht inbeddingsmodel: zinstransformatoren/all-MiniLM-L12-v2. U kunt dit echter ook naar uw wensen aanpassen. Vergeet niet om de verwachte inbeddingsafmetingen in uw
DocumentStore
overeenkomstig. - Het aantal opgehaalde documenten – Je kunt er ook voor kiezen om te spelen met het aantal documenten dat je vraagt
EmbeddingRetriever
voor elke zoekopdracht op te halen. In onze opstelling is dit ingesteld op top_k=5. U kunt experimenteren met het wijzigen van dit cijfer om te zien of het verstrekken van meer context de nauwkeurigheid van uw resultaten verbetert.
Productiegereedheid
De voorgestelde oplossing in dit artikel kan de time-to-value van het projectontwikkelingsproces versnellen. Met de beveiligings- en privacyomgeving op de AWS Cloud bouwt u een project dat eenvoudig schaalbaar is.
Voor veiligheid en privacy biedt OpenSearch Service gegevensbescherming identiteits- en toegangsbeheer en cross-service verwarde proxy-preventie. U kunt een fijnmazig gebruikerstoegangscontrole toepassen, zodat de gebruiker alleen toegang heeft tot de gegevens waartoe hij/zij geautoriseerd is. Bovendien biedt SageMaker configureerbare beveiligingsinstellingen voor toegangscontrole, gegevensbescherming en loggen en monitoren. U kunt uw gegevens in rust en onderweg beschermen met AWS Sleutelbeheerservice (AWS KMS)-toetsen. U kunt ook het logboek van de implementatie van het SageMaker-model of de toegang tot het eindpunt volgen met behulp van Amazon Cloud Watch. Voor meer informatie, zie: Bewaak Amazon SageMaker met Amazon CloudWatch.
Voor de hoge schaalbaarheid van OpenSearch Service kunt u dit aanpassen met de grootte van uw OpenSearch Service-domeinen en in dienst nemen operationele beste praktijken. U kunt ook profiteren van het automatisch schalen van uw SageMaker-eindpunt. Dat kan automatisch SageMaker-modellen schalen om het eindpunt aan te passen, zowel wanneer het verkeer toeneemt als de bronnen niet worden gebruikt.
Opruimen
Om kosten te besparen, verwijdert u alle bronnen die u als onderdeel van dit bericht heeft ingezet. Als u de CloudFormation-stack hebt gestart, kunt u deze verwijderen via de AWS CloudFormation-console. Op dezelfde manier kunt u alle SageMaker-eindpunten verwijderen die u mogelijk via de SageMaker-console hebt gemaakt.
Conclusie
In dit bericht hebben we laten zien hoe je met RAG een end-to-end generatieve AI-applicatie voor enterprise search kunt bouwen met behulp van Haystack-pijplijnen en het Falcon-40b-instruct-model van SageMaker JumpStart en OpenSearch Service. De RAG-aanpak is van cruciaal belang bij enterprise search, omdat deze ervoor zorgt dat de gegenereerde reacties binnen het domein plaatsvinden en daardoor hallucinaties worden verminderd. Door Haystack-pijplijnen te gebruiken, zijn we in staat LLM-applicaties te orkestreren die zijn opgebouwd uit verschillende componenten, zoals modellen en vectordatabases. SageMaker JumpStart biedt ons een oplossing met één klik voor het implementeren van LLM's, en we gebruikten OpenSearch Service als de vectordatabase voor onze geïndexeerde gegevens. U kunt beginnen met experimenteren en RAG-proofs of concept bouwen voor uw generatieve AI-toepassingen voor ondernemingen, met behulp van de stappen die in dit bericht worden beschreven en de broncode die beschikbaar is in de GitHub-repository.
Over de auteurs
Tuana Celik is de Lead Developer Advocate bij deepset, waar ze zich richt op de open-sourcegemeenschap voor Haystack. Ze leidt de functie Developer Relations, spreekt regelmatig op evenementen over NLP en maakt lesmateriaal voor de gemeenschap.
Roy Allela is een Senior AI/ML Specialist Solutions Architect bij AWS, gevestigd in München, Duitsland. Roy helpt AWS-klanten (van kleine startups tot grote ondernemingen) bij het efficiënt trainen en implementeren van grote taalmodellen op AWS. Roy heeft een passie voor computationele optimalisatieproblemen en het verbeteren van de prestaties van AI-workloads.
Mia Chang is een ML Specialist Solutions Architect voor Amazon Web Services. Ze werkt met klanten in EMEA en deelt best practices voor het uitvoeren van AI/ML-workloads in de cloud met haar achtergrond in toegepaste wiskunde, informatica en AI/ML. Ze richt zich op NLP-specifieke werklasten en deelt haar ervaringen als conferentiespreker en boekauteur. In haar vrije tijd houdt ze van wandelen, bordspellen en koffie zetten.
Inaam Syed is een Startup Solutions Architect bij AWS, met een sterke focus op het assisteren van B2B- en SaaS-startups bij het opschalen en realiseren van groei. Hij heeft een diepe passie voor serverloze architecturen en AI/ML. In zijn vrije tijd geniet Inaam van kwaliteitsmomenten met zijn gezin en geeft hij zich over aan zijn liefde voor fietsen en badminton.
David Tippett is de Senior Developer Advocate die werkt aan open-source OpenSearch bij AWS. Zijn werk omvat alle gebieden van OpenSearch, van zoeken en relevantie tot waarneembaarheid en beveiligingsanalyses.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. Automotive / EV's, carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- ChartPrime. Verhoog uw handelsspel met ChartPrime. Toegang hier.
- BlockOffsets. Eigendom voor milieucompensatie moderniseren. Toegang hier.
- Bron: https://aws.amazon.com/blogs/machine-learning/build-production-ready-generative-ai-applications-for-enterprise-search-using-haystack-pipelines-and-amazon-sagemaker-jumpstart-with-llms/
- : heeft
- :is
- :niet
- :waar
- $UP
- 100
- 12
- 13
- 30
- 500
- 7
- 8
- a
- in staat
- Over
- versnellen
- toegang
- bereiken
- dienovereenkomstig
- Account
- nauwkeurigheid
- Bereiken
- bereikt
- het bereiken van
- Handelingen
- aanpassen
- Extra
- Daarnaast
- administratief
- Voordeel
- komst
- advocaat
- AI
- AI / ML
- Alles
- toelaten
- toestaat
- langs
- ook
- Hoewel
- Amazone
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- Amazon Web Services
- onder
- an
- analytics
- en
- beantwoorden
- elke
- apache
- Aanvraag
- toepassingen
- toegepast
- nadering
- ongeveer
- ZIJN
- gebieden
- rond
- reeks
- Kunst
- artikelen
- AS
- bijstaan
- At
- audio
- aangevuld
- auteur
- bevoegd
- auto
- Beschikbaar
- AWS
- AWS CloudFormatie
- Zakelijk
- achtergrond
- baseren
- gebaseerde
- BE
- omdat
- worden
- vaardigheden
- wezen
- onder
- BEST
- 'best practices'
- Groot
- Blog
- boord
- Gezelschapsspelletjes
- lichaam
- boek
- zowel
- breed
- bouw
- Gebouw
- bebouwd
- bundels
- maar
- by
- Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
- CAN
- mogelijkheden
- gevallen
- verandering
- veranderende
- controle
- keuze
- Kies
- het kiezen van
- koos
- klasse
- Schoonmaak
- dichterbij
- Cloud
- code
- Koffie
- Gemeen
- gemeenschap
- afstand
- Aanvulling
- compleet
- bestanddeel
- componenten
- omvat
- computer
- Computer Science
- concept
- Conferentie
- verward
- Verbinden
- aangezien
- troosten
- bevatte
- content
- verband
- onder controle te houden
- spraakzaam
- conversatie AI
- Kosten
- bedekt
- Covers
- en je merk te creëren
- aangemaakt
- creëert
- kritisch
- Klanten
- gegevens
- Data voorbereiding
- gegevensbescherming
- Database
- databanken
- DBS
- transactie
- deep
- diepgaand leren
- gedefinieerd
- demonstratie
- afhankelijkheden
- implementeren
- ingezet
- het inzetten
- inzet
- Design
- ontworpen
- ontwerpen
- gedetailleerd
- ontwikkelde
- Ontwikkelaar
- ontwikkelaars
- Ontwikkeling
- anders
- digitaal
- digitalisering
- Afmeting
- directe
- do
- document
- documentatie
- documenten
- doet
- Nee
- don
- Dont
- elk
- En het is heel gemakkelijk
- doeltreffendheid
- doeltreffend
- efficiënt
- beide
- geeft je de mogelijkheid
- insluiten
- ingebed
- inbedding
- EMEA
- in staat stellen
- einde
- eind tot eind
- Endpoint
- Motoren
- verhogen
- verzekeren
- waarborgt
- Enterprise
- entiteiten
- entiteit
- Milieu
- evaluatie
- EVENTS
- alles
- voorbeeld
- verwacht
- ervaring
- Ervaringen
- experiment
- exporteren
- extern
- Gezicht
- familie
- Figuur
- Dien in
- Bestanden
- filter
- finale
- Voornaam*
- geschikt
- flexibel
- flexibel
- Focus
- richt
- volgend
- Voor
- formaat
- Foundation
- Achtergrond
- Gratis
- oppompen van
- geheel
- functie
- Spellen
- voortbrengen
- gegenereerde
- genereert
- generatie
- generatief
- generatieve AI
- Duitsland
- krijgen
- gegeven
- Groep
- handvat
- Hebben
- met
- he
- helpt
- haar
- hier
- Hoge
- high-level
- zeer
- zijn
- hosts
- Hoe
- How To
- Echter
- HTML
- http
- HTTPS
- Naaf
- i
- Identiteit
- if
- Impact
- uitvoeren
- belangrijk
- het verbeteren van
- in
- omvatten
- omvat
- Inclusief
- meer
- in toenemende mate
- index
- geïndexeerd
- indexen
- informatie
- Infrastructuur
- invoer
- installeren
- instantie
- instructies
- Internet
- in
- IT
- HAAR
- jpg
- sleutel
- toetsen
- blijven
- kennis
- Knowledge Management
- taal
- Groot
- lancering
- gelanceerd
- leiden
- Leads
- leren
- Vergunning
- Erkend
- lichtgewicht
- als
- Waarschijnlijk
- LIMIT
- beperkingen
- Lijn
- LLM
- inloggen
- logging
- op zoek
- liefde
- machine
- machine learning
- gemaakt
- maken
- MERKEN
- maken
- beheer
- beheerd
- management
- materieel
- wiskunde
- maximaal
- Mei..
- gemiddelde
- Media
- methoden
- Metriek
- miljoenen
- minuten
- verzachtende
- ML
- model
- modellen
- wijzigen
- Modules
- Moments
- Grensverkeer
- meer
- meest
- beweging
- naam
- Genoemd
- Naturel
- Natural Language Processing
- navigeren
- Noodzaak
- behoeften
- nlp
- notitieboekje
- aantal
- of
- bieden
- Aanbod
- on
- Slechts
- open
- open source
- Open source software
- besturen
- optimalisatie
- Keuze
- Opties
- or
- organisatorische
- Georganiseerd
- origineel
- Overige
- onze
- geschetst
- over
- het te bezitten.
- pakket
- pagina
- paginas
- deel
- partners
- passie
- hartstochtelijk
- Uitvoeren
- prestatie
- pijpleiding
- Plato
- Plato gegevensintelligentie
- PlatoData
- Spelen
- dan
- punt
- Populair
- Post
- krachtige
- praktijken
- voorbereiding
- Voorbereiden
- privacy
- problemen
- verwerking
- productie
- Voortgang
- project
- bewijzen
- voorgestelde
- gepatenteerd
- beschermen
- bescherming
- prototype
- zorgen voor
- mits
- biedt
- het verstrekken van
- volmacht
- publiek
- Duwen
- kwaliteit
- queries
- vraag
- Contact
- Rauw
- ontvangen
- recent
- Aanbeveling
- aanbevolen
- regelmatig
- betrekkingen
- relevantie
- relevante
- betrouwbaar
- niet vergeten
- bewaarplaats
- te vragen
- vereisen
- nodig
- Voorwaarden
- Resources
- antwoord
- reacties
- REST
- beperken
- resultaat
- Resultaten
- Retourneren
- Rijk
- rechts
- roy
- lopen
- lopend
- SaaS
- sagemaker
- Bespaar
- ervaren
- Schaalbaarheid
- schaalbare
- Scale
- scaling
- Wetenschap
- Ontdek
- veiligheid
- zien
- sturen
- verzendt
- senior
- Serverless
- bedient
- service
- Diensten
- reeks
- settings
- setup
- Vorm
- Aandelen
- ze
- SHIP
- moet
- tonen
- showcase
- tentoongesteld
- Gesigneerd
- gelijk
- evenzo
- Eenvoudig
- eenvoudigweg
- Klein
- So
- Software
- uitsluitend
- solide
- oplossing
- Oplossingen
- sommige
- iets
- bron
- broncode
- Tussenruimte
- Spreker
- spreekt
- specialist
- gespecialiseerde
- Stabiliteit
- stack
- Stadium
- begin
- startup
- Startups
- Stap voor
- Stappen
- bewaartemperatuur
- sterke
- structuur
- dergelijk
- suite
- zeker
- Nemen
- neemt
- technieken
- templates
- getest
- dat
- De
- De Bron
- Ze
- harte
- daarbij
- daarom
- Deze
- ze
- ding
- denken
- dit
- duizenden kosten
- Door
- niet de tijd of
- naar
- samen
- spoor
- verkeer
- doorvoer
- betrouwbaar
- twee
- type dan:
- typisch
- Tenslotte
- voor
- geüpload
- us
- .
- gebruikt
- Gebruiker
- gebruikers
- toepassingen
- gebruik
- utility
- waarde
- Values
- divers
- via
- visie
- wacht
- we
- web
- webservices
- Website
- wanneer
- welke
- wil
- Met
- binnen
- Woord
- Mijn werk
- workflow
- werkzaam
- Bedrijven
- zou
- schrijven
- YAML
- jaar
- You
- Your
- zephyrnet