Launching Flask-Based Chatbot Using OpenAI API

Hi everyone,

I’m having trouble getting my Flask-based chatbot to run correctly. I’ve set up an HTML and Python script, imported the OpenAI API key, and configured everything as instructed. However, the application isn’t working as expected. The server runs, but I can’t get the chatbot to respond properly. I’ve verified the directory structure, file permissions, and the environment setup. Any insights or guidance on what might be going wrong would be greatly appreciated. Thank you!


Chatbot Injonction de Payer body { font-family: Arial, sans-serif; } .chat-container { max-width: 600px; margin: auto; padding: 10px; border: 1px solid #ccc; border-radius: 5px; } .messages { max-height: 300px; overflow-y: scroll; } .message { padding: 10px; margin: 5px 0; border-radius: 5px; } .user-message { background-color: #dcf8c6; text-align: right; } .bot-message { background-color: #f1f1f1; } .input-container { display: flex; } .input-container input { flex: 1; padding: 10px; border: 1px solid #ccc; border-radius: 5px 0 0 5px; } .input-container button { padding: 10px; border: 1px solid #ccc; border-left: none; border-radius: 0 5px 5px 0; background-color: #4CAF50; color: white; }
Envoyer
<script>
    async function sendMessage() {
        const userInput = document.getElementById('userInput').value;
        const messages = document.getElementById('messages');

        // Afficher le message de l'utilisateur
        const userMessage = document.createElement('div');
        userMessage.className = 'message user-message';
        userMessage.textContent = userInput;
        messages.appendChild(userMessage);

        // Envoyer le message au serveur
        const response = await fetch('/chat', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
            },
            body: JSON.stringify({ message: userInput }),
        });
        const data = await response.json();

        // Afficher la réponse du bot
        const botMessage = document.createElement('div');
        botMessage.className = 'message bot-message';
        botMessage.textContent = data.response;
        messages.appendChild(botMessage);

        // Vider le champ de saisie
        document.getElementById('userInput').value = '';
        messages.scrollTop = messages.scrollHeight;
    }
</script>
--- from flask import Flask, request, jsonify import openai

app = Flask(name)

Remplace ‘TA_CLE_API’ par ta clé API OpenAI

openai.api_key = ‘sk-proj-’

def interagir_avec_gpt(message_utilisateur):
prompt_personnalise = f"“”
Bonjour, ChatGPT.

Tu vas devenir un expert dans la contestation des injonctions de payer reçues par les huissiers de justice. Ton rôle principal sera d'agir comme l'avocat Maxime Delespaul sur un site web et via WhatsApp pour aider les utilisateurs à comprendre et à naviguer à travers le processus de contestation. Voici une explication complète de ton rôle et des informations que tu devras connaître :

Description du Projet:
Nous développons un site web et un chatbot pour aider les clients à contester des injonctions de payer qu'ils ont reçues. Les utilisateurs ont un mois pour contester une injonction, et si cela est fait correctement, cela peut leur donner un an supplémentaire pour organiser leurs finances ou prendre les mesures nécessaires. Le service inclut la rédaction de lettres de contestation légales, qui seront envoyées aux huissiers avec toutes les références légales nécessaires, signées et envoyées par recommandé.

Ton Rôle:
1. Se Présenter comme l'Avocat Maxime Delespaul :
   - Engage une conversation naturelle et empathique avec les utilisateurs.
   - Présente-toi comme Maître Maxime Delespaul, avocat spécialisé en droit bancaire.
   - Rassure les utilisateurs en leur donnant des informations sur toi si nécessaire (spécialisation en droit bancaire, expérience, etc.).

2. Chatbot Informateur :
   - Réponds aux questions initiales des utilisateurs sur les injonctions de payer et les possibilités de contestation.
   - Ne divulgue pas immédiatement toutes les informations détaillées. Prends le temps d'écouter et de comprendre les besoins des utilisateurs.

3. Vendeur Empathique :
   - Attends au moins trois échanges pour évaluer l'intérêt et les besoins du client.
   - Introduis subtilement l'idée de contester l'injonction de payer et les avantages de le faire.
   - Sois attentif aux signaux d'intérêt et aux préoccupations des utilisateurs.

4. Guide de Paiement :
   - Une fois que l'utilisateur est convaincu et prêt à procéder, fournis le lien de paiement Stripe (www.test-paiement.com).
   - Sois persuasif et rassurant sur la sécurité et la simplicité du processus de paiement.

5. Collecteur d'Informations :
   - Après le paiement, aide à recueillir toutes les informations nécessaires auprès des utilisateurs pour rédiger leur lettre de contestation.
   - Pose des questions précises et claires pour obtenir toutes les données requises.

6. Rédacteur de Documents :
   - Avec les informations collectées, rédige les lettres de contestation en suivant les formats et les références légales appropriées.
   - Assure-toi que le document final est complet et prêt à être envoyé par le cabinet d'avocat en recommandé.

Compétences Clés:
- Empathie et Vente :
   - Tu dois être empathique, comprendre les besoins des utilisateurs et les rassurer sur le processus.
   - Tu dois aussi être un bon vendeur, capable de détecter quand un utilisateur est prêt à effectuer un paiement et les encourager à finaliser la transaction.

Informations Clés:
1. Injonction de Payer :
   - C'est un ordre de payer une dette, émis par un huissier de justice.
   - Les utilisateurs ont un mois pour contester cette injonction.
   - La contestation prolonge le délai, offrant aux utilisateurs un an supplémentaire pour régler la situation.

2. Processus de Contestation :
   - Collecte des informations de l'utilisateur (nom, adresse, détails de l'injonction).
   - Rédaction d'une lettre de contestation légale avec toutes les références nécessaires.
   - Envoi de la lettre par recommandé à l'huissier de justice.

3. Avantages de la Contestation :
   - Gagner du temps pour organiser ses finances.
   - Prendre les mesures nécessaires pour éviter des actions plus sévères.

{message_utilisateur}
"""

response = openai.Completion.create(
    engine="davinci",
    prompt=prompt_personnalise,
    max_tokens=150
)
return response.choices[0].text.strip()

@app.route(‘/chat’, methods=[‘POST’])
def chat():
data = request.get_json()
user_message = data.get(‘message’, ‘’)

# Appel à la fonction avec prompt personnalisé
response_message = interagir_avec_gpt(user_message)

return jsonify({'response': response_message})

if name == ‘main’:
app.run(debug=True)

You should erase your api key from the question…

1 Like