Sentimentanalyse met MindsDB en OpenAI via SQL
Intro
In deze blogpost laten we zien hoe je OpenAI-modellen kunt maken binnen MindsDB. Dit voorbeeld betreft een sentimentanalyse waarbij we de emoties achter een tekst achterhalen. De inputdata komt uit onze voorbeeld MySQL-database.
Voorwaarden
Om mee te doen, installeer je MindsDB lokaal via Docker of Docker Desktop.
Tutorial
In deze tutorial maken we een voorspellend model om emoties achter een tekst te achterhalen, ook wel sentimentanalyse genoemd. We gebruiken een tabel uit onze publieke MySQL-demo database, dus laten we beginnen met het verbinden van MindsDB ermee:
CREATE DATABASE mysql_demo_db WITH ENGINE = 'mysql', PARAMETERS = { "user": "user", "password": "MindsDBUser123!", "host": "samples.mindsdb.com", "port": "3306", "database": "public" };
Nu we onze database met MindsDB hebben verbonden, laten we de data opvragen die we in het voorbeeld gaan gebruiken:
SELECT * FROM mysql_demo_db.amazon_reviews LIMIT 3;
Hier is de output:
product_name | review |
---|---|
All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi, 16 GB - Inclusief Speciale Aanbiedingen, Magenta | Laatste cadeau voor mijn kleinzoon. Hij is er super blij mee. Makkelijk voor hem (9 jaar). |
All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi, 16 GB - Inclusief Speciale Aanbiedingen, Magenta | Ik ben niet echt enthousiast over het eigen OS op deze unit, maar het werkt oké en doet wat ik n |
All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi, 16 GB - Inclusief Speciale Aanbiedingen, Magenta | Deze Kindle Fire HD 8 was gekocht voor gebruik door mijn kleinkinderen van 5 en 8 jaar. Ze basisc |
Laten we een model tabel maken om het sentiment voor alle reviews te identificeren:
Voordat je een OpenAI-model maakt, maak je eerst een engine aan door je OpenAI API-sleutel te geven:
CREATE ML_ENGINE openai_engine FROM openai USING openai_api_key = 'your-openai-api-key';
CREATE MODEL sentiment_classifier_model PREDICT sentiment USING engine = 'openai_engine', prompt_template = 'beschrijf het sentiment van de reviews strikt als "positief", "neutraal" of "negatief". "Ik hou van het product":positief "Het is een oplichterij":negatief "{{review}}.":';
In de praktijk triggert de CREATE MODEL
-instructie MindsDB om een AI-tabel genaamd sentiment_classifier_model
te genereren die de OpenAI-integratie gebruikt om een kolom genaamd sentiment te voorspellen. Het model bevindt zich binnen het standaard MindsDB-project. In MindsDB zijn projecten een natuurlijke manier om artefacten, zoals modellen of views, gescheiden te houden op basis van de voorspellende taak die ze oplossen. Je kunt hier meer leren over MindsDB-projecten.
De USING
-clausule specificeert de parameters die deze handler vereist. De engine
-parameter geeft aan dat we de openai-engine gebruiken. De prompt_template
-parameter geeft de structuur aan van een bericht dat moet worden aangevuld met extra tekst die door het model wordt gegenereerd.
Volg deze instructie om de OpenAI-integratie in MindsDB in te stellen. Zodra de CREATE MODEL
-instructie is gestart, kunnen we de status van het aanmaakproces controleren met de volgende query:
DESCRIBE sentiment_classifier_model;
Het kan even duren voordat het als voltooid wordt geregistreerd, afhankelijk van de internetverbinding. Zodra de creatie is voltooid, is het gedrag hetzelfde als bij elke andere AI-tabel – je kunt het opvragen door ofwel synthetische data in de daadwerkelijke query op te geven:
SELECT review, sentiment FROM sentiment_classifier_model WHERE review = 'Het is oké.';
Hier is de outputdata:
review | sentiment |
---|---|
Het is oké. | neutraal |
Of door te joinen met een andere tabel voor batchvoorspellingen:
SELECT input.review, output.sentiment FROM mysql_demo_db.amazon_reviews AS input JOIN sentiment_classifier_model AS output LIMIT 3;
Hier is de outputdata:
| review | sentiment | |------------------------------------------------------------------------------------------------------+-----------| | Laatste cadeau voor mijn kleinzoon. Hij is er super blij mee. Makkelijk voor hem (9 jaar). | positief | | Ik ben niet echt enthousiast over het eigen OS op deze unit, maar het werkt oké en doet wat ik n | positief | | Deze Kindle Fire HD 8 was gekocht voor gebruik door mijn kleinkinderen van 5 en 8 jaar. Ze basisc | positief |
De amazon_reviews
-tabel wordt gebruikt om batchvoorspellingen te doen. Bij het joinen van het sentiment_classifier_model
-model met de amazon_reviews
-tabel, gebruikt het model alle waarden uit de reviewkolom.
Maak gebruik van de NLP-mogelijkheden met MindsDB
Door databases en OpenAI te integreren met MindsDB, kunnen ontwikkelaars eenvoudig inzichten uit tekstdata halen met slechts een paar SQL-commando's. Deze krachtige natural language processing (NLP) modellen zijn in staat om vragen te beantwoorden met of zonder context en algemene prompts te voltooien. Bovendien worden deze modellen aangedreven door grote voorgetrainde taalmodellen van OpenAI, dus er is geen handmatige ontwikkelingswerk nodig. Dit biedt ontwikkelaars uiteindelijk een gemakkelijke manier om krachtige NLP-mogelijkheden in hun applicaties te integreren, terwijl ze tijd en middelen besparen in vergelijking met traditionele ML-ontwikkelingspijplijnen en -methoden.
Al met al maakt MindsDB het mogelijk voor ontwikkelaars om de kracht van OpenAI efficiënt te benutten! MindsDB is nu het snelst groeiende open-source platform voor toegepaste machine learning ter wereld. De community blijft bijdragen aan meer dan 70 integraties van databasetypes en ML-frameworks. Blijf op de hoogte van de komende functies - inclusief meer controle over de interfaceparameters en het fijn afstemmen van modellen rechtstreeks vanuit MindsDB!
Experimenteer met OpenAI-modellen binnen MindsDB en ontgrendel de ML-capaciteit over je data in een paar minuten. Als MindsDB's visie om ML te democratiseren je aanspreekt, ga dan naar onze community Slack, waar je hulp kunt krijgen en mensen kunt vinden om te chatten over het gebruik van andere beschikbare databasetypes, ML-frameworks of het schrijven van een handler om je eigen te brengen!
Volg onze introductie tot de OpenAI-integratie van MindsDB hier. We hebben ook een verscheidenheid aan tutorials die MySQL en MongoDB gebruiken:
- Vraagbeantwoording in MySQL
- Tekstsamenvatting in MySQL
- Sentimentanalyse in MongoDB
- Vraagbeantwoording in MongoDB
- Tekstsamenvatting in MongoDB
Wat nu?
Veel plezier met het zelf uitproberen! Bookmark de MindsDB-repository op GitHub. Neem deel aan de MindsDB-community op Slack of GitHub om vragen te stellen en je ideeën en gedachten te delen. Als deze tutorial nuttig was, geef ons dan een GitHub ster hier.