Améliorer l'efficacité du service client : Exploiter les appels d'outils obligatoires dans ChatCompletion

Anis MarrouchiAI Bot
Par Anis Marrouchi & AI Bot ·

Chargement du lecteur de synthèse vocale...

Dans le domaine des services de développement web, améliorer l'efficacité du service client est crucial pour maintenir une haute satisfaction client et une efficacité opérationnelle. Exploiter les appels d'outils obligatoires dans ChatCompletion peut rationaliser les opérations du service client en garantissant que chaque conversation inclut les étapes essentielles pour résoudre les demandes des clients. Ce tutoriel fournit un guide avancé étape par étape sur l'implémentation de cette fonctionnalité en utilisant l'API d'OpenAI.

Introduction

Les endpoints ChatCompletion prennent désormais en charge les appels d'outils obligatoires en spécifiant tool_choice='required' comme paramètre, ajoutant un élément de déterminisme à vos applications de service client. Ce guide vous aidera à implémenter un agent de service client déterministe en utilisant ChatCompletion d'OpenAI.

Tutoriel étape par étape

Étape 1 : Configurer le client OpenAI

Commencez par importer les bibliothèques nécessaires et configurer le client OpenAI. Assurez-vous d'avoir votre clé API OpenAI à portée de main.

import json
from openai import OpenAI
import os
 
# Initialiser le client OpenAI
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
GPT_MODEL = "gpt-4-turbo"

Étape 2 : Définir les outils et les instructions

Définissez les outils que votre agent de service client utilisera, comme les fonctions pour communiquer avec les utilisateurs et récupérer les instructions basées sur le problème du client.

tools = [
    {
        "type": "function",
        "function": {
            "name": "speak_to_user",
            "description": "Utilisez ceci pour parler à l'utilisateur afin de lui donner des informations et demander tout ce qui est nécessaire pour son cas.",
            "parameters": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "description": "Texte du message à envoyer à l'utilisateur. Peut couvrir plusieurs sujets."
                    }
                },
                "required": ["message"]
            }
        }
    },
    {
        "type": "function",
        "function": {
            "name": "get_instructions",
            "description": "Utilisé pour obtenir les instructions pour traiter le problème de l'utilisateur.",
            "parameters": {
                "type": "object",
                "properties": {
                    "problem": {
                        "type": "string",
                        "enum": ["fraud", "refund", "information"],
                        "description": "Le type de problème que le client a."
                    }
                },
                "required": ["problem"]
            }
        }
    }
]

Définissez des exemples d'instructions que l'assistant du service client peut utiliser pour traiter différents problèmes clients.

INSTRUCTIONS = [
    {
        "type": "fraud",
        "instructions": """• Demandez au client de décrire l'activité frauduleuse, y compris la date et les articles impliqués dans la fraude suspectée.
                           • Offrez au client un remboursement.
                           • Signalez la fraude à l'équipe de sécurité pour une enquête approfondie.
                           • Remerciez le client d'avoir contacté le support et invitez-le à revenir pour toute question future."""
    },
    {
        "type": "refund",
        "instructions": """• Confirmez les détails de l'achat du client et vérifiez la transaction dans le système.
                           • Vérifiez la politique de remboursement de l'entreprise pour vous assurer que la demande répond aux critères.
                           • Demandez au client de fournir une raison pour le remboursement.
                           • Soumettez la demande de remboursement au département comptabilité.
                           • Informez le client du délai prévu pour le traitement du remboursement.
                           • Remerciez le client d'avoir contacté le support et invitez-le à revenir pour toute question future."""
    }
]

Étape 3 : Définir les prompts système et les gestionnaires

Configurez les prompts système et les gestionnaires de messages.

assistant_system_prompt = """Vous êtes un assistant du service client. Votre rôle est de répondre aux questions des utilisateurs poliment et avec compétence. Suivez ces instructions pour résoudre le cas :
- Comprenez leur problème et obtenez les instructions pertinentes.
- Suivez les instructions pour résoudre le problème du client.
- Obtenez leur confirmation avant d'effectuer une opération permanente comme un remboursement.
- Aidez-les avec tout autre problème ou fermez le cas."""
 
def submit_user_message(user_query, conversation_messages=[]):
    """Fonction de gestion des messages qui boucle à travers les appels d'outils jusqu'à ce qu'une réponse soit requise"""
    respond = False
    user_message = {"role": "user", "content": user_query}
    conversation_messages.append(user_message)
    print(f"Utilisateur: {user_query}")
 
    while not respond:
        messages = [{"role": "system", "content": assistant_system_prompt}]
        messages.extend(conversation_messages)
 
        # Faire l'appel ChatCompletion avec tool_choice='required'
        response = client.chat.completions.create(
            model=GPT_MODEL,
            messages=messages,
            temperature=0,
            tools=tools,
            tool_choice='required'
        )
        conversation_messages.append(response.choices[0].message)
        respond, conversation_messages = execute_function(response.choices[0].message, conversation_messages)
 
    return conversation_messages

Étape 4 : Tester l'implémentation

Exécutez un test en simulant une requête de service client.

messages = submit_user_message("Bonjour, un article qui devait m'être livré hier a été volé.")
# Continuez la conversation selon les besoins

Conclusion

En rendant l'utilisation des outils obligatoire dans votre ChatCompletion, vous pouvez vous assurer que toutes les étapes critiques sont effectuées lors de chaque interaction avec le client, conduisant à un service client plus cohérent et fiable.

Ce tutoriel a présenté une implémentation avancée pour améliorer l'efficacité du service client. En savoir plus sur l'amélioration des outils pour vos workflows de service client ici.

Références

Colin Jarvis, "Enhancing Customer Service Efficiency: Leveraging Mandatory Tool Calls in ChatCompletion", 1er mai 2024. Source

Implémentez ces étapes pour améliorer votre processus de service client, garantissant que votre équipe peut gérer les interactions avec les clients avec plus d'efficacité et de fiabilité.


Vous voulez lire plus de tutoriels? Découvrez notre dernier tutoriel sur Utiliser l'API DeepSeek V3 dans Node.js avec le SDK Vercel AI.

Discutez de votre projet avec nous

Nous sommes ici pour vous aider avec vos besoins en développement Web. Planifiez un appel pour discuter de votre projet et comment nous pouvons vous aider.

Trouvons les meilleures solutions pour vos besoins.

Articles connexes