Améliorer l'efficacité du service client : Exploiter les appels d'outils obligatoires dans ChatCompletion
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 besoinsConclusion
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é.
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

Explorer la nouvelle API Responses : Un guide complet
Plongez dans la nouvelle API Responses, conçue pour simplifier les interactions complexes et multimodales avec des conversations stateful et des outils hébergés.

Comment surveiller l'utilisation et les coûts OpenAI avec l'API Usage et l'API Cost
Apprenez à utiliser l'API Usage et l'API Cost d'OpenAI pour surveiller votre utilisation et vos coûts OpenAI. Ce guide fournit des instructions étape par étape pour récupérer, analyser et visualiser les données d'utilisation et de coûts.

Passer des appels sortants avec Twilio Voice et OpenAI
Apprenez à passer des appels sortants en utilisant Twilio Voice et l'API Realtime d'OpenAI avec Node.js.