slogan3

Ontwikkel een OpenAI-gebaseerde chatbot voor mijn bedrijf

description

Met deze prompt kan ik een op maat gemaakte chatbot bouwen die naadloos aansluit bij de behoeften van mijn bedrijf. Het voorkomt technische misverstanden door duidelijke specificaties en biedt direct toepasbare integratievoorbeelden, waardoor ontwikkeltijd en fouten afnemen.

prompt

Help me met het ontwerpen en implementeren van een OpenAI-integratie voor een chatbot die mijn bedrijf kan ondersteunen. Gebruik de volgende specificaties: Doel van de chatbot: <beschrijf het doel van de chatbot> Belangrijkste functionalite ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een gedetailleerd plan voor het ontwerpen en implementeren van een OpenAI-integratie voor jouw klantenservice chatbot, inclusief voorbeeldcode in Node.js met Express. **1. Planning en Structuur** - **Doel:** Klantenservice ondersteunen door FAQ te beantwoorden en afspraken te plannen. - **Functionaliteiten:** - FAQ beantwoorden: gebruikers kunnen vragen stellen en de chatbot geeft relevante antwoorden. - Afspraken plannen: gebruikers kunnen een afspraak maken via de chatbot. - **Technische omgeving:** Node.js + Express. - **Vereisten:** - GDPR-compliance: gegevens worden veilig verwerkt, geen opslag zonder toestemming. - Responstijd: max 2 seconden. --- **2. Technische stappen** ### a. Setup van de Node.js omgeving ```bash mkdir klantenservice-chatbot cd klantenservice-chatbot npm init -y npm install express axios dotenv ``` ### b. Environment variabelen (`.env`) Stel je API-sleutel in voor OpenAI: ``` OPENAI_API_KEY=your_openai_api_key ``` ### c. Server opzetten (`server.js`) ```js require('dotenv').config(); const express = require('express'); const axios = require('axios'); const app = express(); app.use(express.json()); const openaiApiKey = process.env.OPENAI_API_KEY; // Endpoint voor chatberichten app.post('/chat', async (req, res) => { const { message } = req.body; try { const response = await axios.post( 'https://api.openai.com/v1/chat/completions', { model: 'gpt-4', // of 'gpt-3.5-turbo' messages: [ { role: 'system', content: 'Je bent een klantenservicemedewerker voor een bedrijf. Beantwoord FAQ en help met afspraken.' }, { role: 'user', content: message } ], max_tokens: 150, temperature: 0.7, }, { headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${openaiApiKey}`, }, } ); const reply = response.data.choices[0].message.content; res.json({ reply }); } catch (error) { console.error(error); res.status(500).json({ error: 'Fout bij het ophalen van antwoord' }); } }); // Server starten const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server draait op port ${PORT}`); }); ``` --- **3. Functionaliteiten uitbreiden** ### a. FAQ beantwoorden - De prompt in de `messages` kan verder worden aangepast of uitgebreid met FAQ-gegevens. - Voor betere antwoorden kun je context toevoegen, bijvoorbeeld FAQ-gegevens of kennisbank informatie. ### b. Afspraken plannen - Detecteer intentie: als gebruiker aangeeft een afspraak te willen plannen, stuur je de gebruiker door naar een formulier of API. - Voor eenvoudige implementatie, kun je prompt aanpassen om te vragen om afspraken te plannen, of een aparte endpoint maken. ### c. Voorbeeld van gespreksafhandeling met intentieherkenning ```js // Bijvoorbeeld, detecteer of gebruiker 'afspraak' noemt const message = req.body.message; if (message.toLowerCase().includes('afspraak')) { // Plaats afspraak planning logic hier res.json({ reply: 'Wil je een afspraak plannen? Klik hier: [link]' }); } else { // Vraag AI om antwoord } ``` --- **4. GDPR-compliance** - Verzamel en verwerk persoonsgegevens volgens GDPR: - Vraag expliciet toestemming. - Bewaar geen persoonlijke gegevens zonder toestemming. - Versleutel data indien nodig. - Verwerk geen gevoelige data tenzij strikt noodzakelijk en met de juiste maatregelen. ### a. Data minimaliseren - Verstuur alleen noodzakelijke data naar OpenAI. - Bewaar geen chatlogs tenzij vereist en met toestemming. ### b. Transparantie - Informeer gebruikers dat hun data wordt verwerkt door de chatbot. - Voeg een privacyverklaring toe. --- **5. Responstijd optimalisatie** - Gebruik korte prompts. - Beperk het aantal tokens. - Cache veelgestelde vragen. - Zorg voor snelle hosting en minimaliseer latency. --- **6. Samenvatting** - Maak een Express API die berichten doorstuurt naar OpenAI. - Implementeer logica voor FAQ en afspraken. - Zorg voor GDPR-compatibele dataverwerking. - Test en optimaliseer voor responstijden. --- **Voorbeeld API call** ```js // Frontend of client-side fetch('/chat', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ message: 'Hoe kan ik een afspraak maken?' }), }) .then(res => res.json()) .then(data => console.log(data.reply)); ``` --- **Heeft u nog specifieke wensen of vragen over verdere implementatie?**
provider: deepseek
model: deepseek-chat
Hier is een gestructureerd implementatieplan met voorbeeldcode voor uw GDPR-compliant OpenAI chatbot: ## Implementatieplan ### 1. Voorbereiding en Afhankelijkheden ```bash npm install express openai dotenv express-rate-limit npm install --save-dev @types/express @types/node ``` ### 2. GDPR-compliant Configuratie ```javascript // .env OPENAI_API_KEY=uw_api_key SESSION_SECRET=uw_secret_key DATA_RETENTION_DAYS=30 ``` ### 3. Main Server Setup ```javascript // app.js const express = require('express'); const rateLimit = require('express-rate-limit'); const OpenAI = require('openai'); require('dotenv').config(); const app = express(); const port = process.env.PORT || 3000; // Rate limiting voor GDPR en performance const limiter = rateLimit({ windowMs: 15 * 60 * 1000, // 15 minuten max: 100 // maximaal 100 requests per windowMs }); app.use(limiter); app.use(express.json()); // OpenAI client initialisatie const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY, }); // GDPR: Data anonymisatie middleware app.use((req, res, next) => { // Anonimiseer IP-adressen req.ip = req.ip ? req.ip.replace(/(\d+\.\d+)\.\d+\.\d+/, '$1.0.0') : 'anonymous'; next(); }); ``` ### 4. GDPR-compliant Chat Endpoint ```javascript // routes/chat.js const express = require('express'); const router = express.Router(); router.post('/chat', async (req, res) => { try { const { message, sessionId } = req.body; // GDPR: Data validatie en sanitization const sanitizedMessage = message.substring(0, 500); // Beperk input length const completion = await openai.chat.completions.create({ model: "gpt-3.5-turbo", messages: [ { role: "system", content: `Je bent een klantenservice chatbot. Functionaliteiten: 1. Beantwoord FAQ vragen over onze producten 2. Help met afspraken plannen 3. Wees beknopt en vriendelijk 4. Verwijs door naar menselijke agent bij complexe vragen GDPR Richtlijnen: - Vraag nooit om persoonlijke gegevens - Sla geen gesprekken op - Anonimiseer alle data` }, { role: "user", content: sanitizedMessage } ], max_tokens: 150, temperature: 0.7, timeout: 1900 // Timeout onder 2 seconden }); const response = completion.choices[0]?.message?.content || 'Sorry, ik begrijp het niet.'; // GDPR: Geen persistentie van gespreksdata res.json({ response: response, timestamp: new Date().toISOString(), sessionId: sessionId // Alleen session ID, geen inhoud }); } catch (error) { console.error('Chat error:', error); res.status(500).json({ error: 'Sorry, er is een fout opgetreden', gdprCompliant: true }); } }); ``` ### 5. Afspraken Planner Service ```javascript // services/appointmentService.js class AppointmentService { static async handleAppointmentRequest(userMessage) { // Simpele intent detection voor GDPR-compliance const intent = this.detectAppointmentIntent(userMessage); if (intent) { return "Voor afspraken kunt u bellen naar 0900-1234 of mailen naar afspraak@bedrijf.nl. " + "We verwerken geen afspraakgegevens via deze chatbot i.v.m. privacy."; } return null; } static detectAppointmentIntent(message) { const keywords = ['afspraak', 'plannen', 'plan', 'agenda', 'beschikbaar']; return keywords.some(keyword => message.toLowerCase().includes(keyword) ); } } ``` ### 6. Main Application ```javascript // server.js const express = require('express'); const chatRoutes = require('./routes/chat'); const AppointmentService = require('./services/appointmentService'); const app = express(); app.use('/api', chatRoutes); // Health check endpoint app.get('/health', (req, res) => { res.json({ status: 'OK', gdprCompliant: true, maxResponseTime: '2s' }); }); app.listen(3000, () => { console.log('Chatbot server running on port 3000'); }); ``` ### 7. GDPR-compliant Logging ```javascript // middleware/gdprLogging.js const gdprLogger = (req, res, next) => { const originalSend = res.send; res.send = function(body) { // Log alleen metadata, geen persoonlijke data console.log(JSON.stringify({ timestamp: new Date().toISOString(), endpoint: req.path, statusCode: res.statusCode, responseTime: Date.now() - req.startTime, anonymizedIp: req.ip })); originalSend.call(this, body); }; req.startTime = Date.now(); next(); }; module.exports = gdprLogger; ``` ## Beveiligingsmaatregelen 1. **Data Minimalisatie**: Alleen essentiële data verwerken 2. **Anonimisatie**: IP-adressen en identifiers anonimiseren 3. **Geen Persistentie**: Geen chatgeschiedenis opslaan 4. **Input Validatie**: Beperk input length en sanitize data 5. **Rate Limiting**: Preventie van misbruik ## Test Procedure ```javascript // test-chat.js const testMessages = [ "Hoe kan ik mijn product retourneren?", "Ik wil een afspraak maken", "Wat zijn jullie openingstijden?" ]; // Test response times en GDPR compliance ``` Dit plan garandeert: - ✅ GDPR-compliance door design - ✅ Response times < 2 seconden - ✅ Schaalbare Node.js/Express architectuur - ✅ Beveiligde dataverwerking - ✅ Duidelijke functional boundaries Implementeer eerst in testomgeving en voer uitgebreide GDPR-audit uit voor productiegebruik.