Guide des cas d'utilisation courante de Claude : Agents d'assistance à la clientèle

Ce guide décrit comment utiliser Claude traitent les demandes des clients en temps réel, fournissent une assistance 24 heures sur 24 et 7 jours sur 7, réduisent les temps d'attente et gèrent de gros volumes de demandes d'assistance grâce à des réponses précises et des interactions proactives.

Avant de construire avec Claude

Décider d'utiliser Claude pour le chat d'assistance

Voici quelques indicateurs clés qui montrent que vous devriez utiliser un LLM comme Claude pour automatiser certains de vos processus d'assistance à la clientèle :

Grand nombre de requêtes répétitives

Claude est spécialisé dans le traitement efficace d'un grand nombre de problèmes similaires, libérant ainsi les agents humains pour qu'ils s'attaquent à des problèmes plus complexes.

La nécessité d'une intégration rapide de l'information

Claude est capable de récupérer, de traiter et d'intégrer rapidement des informations provenant d'une vaste base de connaissances, alors qu'un agent humain peut avoir besoin de temps pour effectuer des recherches ou consulter de multiples sources.

Exigences de disponibilité 24/7

Claude est capable de fournir une assistance 24 heures sur 24 et 7 jours sur 7 sans se fatiguer, alors qu'assurer une couverture continue par des agents humains peut s'avérer à la fois coûteux et difficile.

Expansion rapide pendant les périodes de pointe

Claude peut faire face à des augmentations soudaines du volume de demandes sans avoir à embaucher et à former du personnel supplémentaire.

Une voix cohérente pour la marque

Vous pouvez demander à Claude de représenter systématiquement le ton et les valeurs de votre marque, alors que les agents humains peuvent avoir des styles de communication différents.

Quelques facteurs à prendre en compte pour choisir Claude plutôt que d'autres LLM :

  • Vous privilégiez les conversations naturelles et nuancées : la compréhension sophistiquée du langage de Claude permet des conversations plus naturelles et contextuelles, plus proches de l'interaction humaine que les chats avec d'autres LLM.
  • Vous recevez souvent des questions complexes et ouvertes : Claude peut traiter un large éventail de sujets et de requêtes sans avoir à générer des réponses passe-partout ou à rédiger des permutations étendues de langage utilisateur.
  • Vous avez besoin d'un support multilingue évolutif : les capacités multilingues de Claude permettent d'avoir des conversations dans plus de 200 langues sans avoir à mettre en place un chatbot séparé pour chaque langue prise en charge ou à passer par un processus de traduction approfondi.

Définir l'interaction idéale par chat

Définissez l'interaction idéale avec le client pour savoir comment et quand vous attendez de vos clients qu'ils interagissent avec Claude. Cette vue d'ensemble vous aidera à définir les exigences techniques de votre solution.

Vous trouverez ci-dessous un exemple d'interaction par chat pour le service clientèle d'une assurance automobile :

  • nos clientsL'expérience du chat d'assistance au lancement : Launch Support Chat Experience
    • ClaudeLes clients : Accueillir chaleureusement les clients et entamer un dialogue
  • nos clientsLes voitures électriques : des questions sur l'assurance de leur nouvelle voiture électrique
    • ClaudeAssurance pour les véhicules électriques : fournir des informations sur l'assurance pour les véhicules électriques
  • nos clientsAssurance des voitures électriques : posez des questions sur les besoins particuliers de l'assurance des voitures électriques
    • ClaudeLes réponses sont précises et utiles et comportent des liens vers des sources pertinentes.
  • nos clientsLes questions hors sujet : poser des questions qui n'ont rien à voir avec l'assurance ou les voitures
    • ClaudeLes services de l'assurance automobile : précisent qu'ils n'abordent pas de sujets non pertinents et renvoient les clients vers des contenus relatifs à l'assurance automobile.
  • nos clients: Intérêt manifesté pour les devis d'assurance
    • ClaudeLes services d'accueil : Poser une série de questions pour déterminer un devis approprié et l'ajuster en fonction des réponses du client.
    • ClaudeLe client doit envoyer une demande à l'outil API de génération de devis avec les informations nécessaires recueillies auprès du client.
    • ClaudeLe service d'assistance technique : reçoit les informations de la réponse de l'outil API, les synthétise en une réponse naturelle et fournit un devis au client.
  • nos clientsQuestions de suivi : Questions de suivi
    • ClaudeLes questions de suivi : Répondre aux questions de suivi, le cas échéant
    • ClaudeGuidez le client vers l'étape suivante du processus d'assurance et clôturez le dialogue.

Lorsque vous rédigez des exemples concrets pour vos propres cas d'utilisation, il peut être utile d'écrire les mots utilisés dans le dialogue afin de vous faire une idée du ton idéal de Claude, de la longueur de la réponse et du niveau de détail requis.

Décomposer les interactions en tâches distinctes

Le chat d'assistance à la clientèle consiste en un certain nombre de tâches différentes, notamment la réponse aux questions, la recherche d'informations et le traitement des demandes, le tout réuni dans une interaction complète avec le client. Avant de commencer à construire, décomposez l'interaction client idéale en chaque tâche que Claude doit accomplir. Cela vous permettra d'inviter et d'évaluer Claude pour chaque tâche et de bien comprendre l'étendue de l'interaction à prendre en compte lors de la rédaction des cas de test.

Les clients trouvent parfois utile de visualiser ce processus sous la forme d'un organigramme d'interaction montrant les points d'embranchement possibles du dialogue en fonction des demandes de l'utilisateur.

Les tâches clés liées aux interactions d'assurance susmentionnées sont les suivantes :

  1. Accueil et orientations générales
    • Accueillir chaleureusement les clients et entamer un dialogue
    • Fournir des informations de base sur l'entreprise et les interactions
  2. Informations sur le produit
    • Fournir des informations sur l'assurance VE Cela doit être fait pour s'assurer que Claude dispose des informations nécessaires dans son contexte, ce qui peut signifier qu'il faut le faire. RAG Intégration.
    • Répondre aux questions relatives aux besoins spécifiques de l'assurance des voitures électriques
    • Répondre aux questions de suivi concernant les devis ou les détails de l'assurance
    • Fournir des liens vers des sources pertinentes, le cas échéant
  3. Gestion du dialogue
    • Rester concentré sur le sujet (assurance automobile)
    • Renvoyer les questions hors sujet vers des sujets pertinents
  4. Génération de citations
    • Poser les questions appropriées pour déterminer la qualification des offres
    • Ajuster les questions en fonction des réponses des clients
    • Soumettre les informations collectées à l'API de génération de devis
    • Fournir aux clients des devis générés

Établir des critères de réussite

En collaboration avec votre équipe d'assistance, leDéfinir des critères de réussite clairset rédiger un rapport avec des repères et des objectifs quantifiables.Évaluation détaillée.

Les critères et points de repère suivants permettent d'évaluer le succès de Claude dans l'accomplissement des tâches définies :

Précision de la compréhension des requêtes

Cette mesure évalue la précision de la compréhension par Claude des demandes de renseignements des clients sur une variété de sujets. En examinant un échantillon de conversations, Claude évalue sa compréhension de l'intention du client, des prochaines étapes critiques, des solutions réussies, etc. L'objectif est d'atteindre une précision de compréhension de 95% ou mieux.

Pertinence

Évaluer si les réponses de Claude sont efficaces pour résoudre le problème spécifique d'un client. Évaluez un ensemble de dialogues et évaluez la pertinence de chaque réponse (évaluation à grande échelle à l'aide d'un système de notation basé sur un grand modèle linguistique). Viser un score de pertinence de 90% ou plus.

Précision de la réponse

Évaluer l'exactitude des informations sur l'entreprise et les produits fournies à Claude sur la base des informations contextuelles fournies. L'objectif est d'atteindre un taux d'exactitude de 100% pour ces informations principales.

Pertinence de la citation

Suivre la fréquence et la pertinence des liens ou des ressources fournis. L'objectif est de fournir des ressources pertinentes dans les interactions 80% qui nécessitent des informations supplémentaires.

Adhésion au thème

Évaluer si Claude reste sur le sujet pendant le dialogue, par exemple dans notre exemple de mise en œuvre de l'assurance automobile, et évaluer les réponses de Claude aux questions relatives à l'assurance automobile ou aux questions spécifiques au client. L'objectif est que les réponses de 95% soient directement liées à l'assurance automobile ou aux questions spécifiques du client.

Efficacité de la génération de contenu

Évaluer la capacité de Claude à déterminer quand générer le contenu d'un message et la pertinence de ce contenu. Par exemple, dans notre mise en œuvre, nous évaluerons la compréhension de Claude quant au moment de générer des devis et à leur exactitude. L'objectif est une précision de 100%, car il s'agit d'une information essentielle pour des interactions fructueuses avec les clients.

Améliorer l'efficacité

Ceci mesure la capacité de Claude à identifier les requêtes qui nécessitent une intervention humaine et à les faire remonter le cas échéant. Il suit le pourcentage de conversations qui sont remontées correctement et celles qui auraient dû être remontées mais ne l'ont pas été. L'objectif est d'atteindre une précision de 95% ou plus.

Les critères et les points de repère suivants permettent d'évaluer l'impact de l'utilisation de Claude sur les activités de l'entreprise :

maintien des émotions

Évaluez la capacité de Claude à maintenir ou à améliorer l'état d'esprit des clients tout au long du dialogue. Utilisez un outil d'analyse des sentiments pour mesurer l'état émotionnel au début et à la fin de chaque dialogue. L'objectif est de maintenir ou d'améliorer le sentiment dans les interactions de 90%.

taux de détournement

Pourcentage de demandes de clients traitées avec succès par un chatbot sans intervention humaine. L'objectif est généralement un taux de triage de 70%-80%, en fonction de la complexité de la demande.

Taux de satisfaction de la clientèle

Mesure la satisfaction des clients à l'égard des interactions avec les chatbots. Cette mesure est généralement réalisée au moyen d'une enquête post-interaction. L'objectif est d'obtenir un score de satisfaction client de 4 sur 5 ou plus.

Temps de traitement moyen

Temps moyen nécessaire à un chatbot pour répondre à une demande. Ce temps varie considérablement en fonction de la complexité de la question, mais l'objectif global est de faire en sorte que le temps de traitement moyen soit inférieur à celui d'un service client humain.

Comment mettre en œuvre Claude en tant qu'agent du service clientèle

Choisir le bon modèle Claude

Le choix du modèle dépend du compromis entre le coût, la précision et le temps de réponse.

Pour l'assistance à la clientèle par chat.claude-3-5-sonnet-20240620 Idéal pour équilibrer l'intelligence, la latence et le coût. Cependant, si plusieurs invites sont incluses dans un dialogue (y compris les RAG, l'utilisation d'outils et/ou les longues invites contextuelles), le système de gestion de l'information de lclaude-3-haiku-20240307 Il peut être préférable d'optimiser la latence.

Construire un mot clé puissant

L'utilisation de Claude pour l'assistance à la clientèle exige que Claude soit suffisamment directif et contextuel pour répondre de manière appropriée, et suffisamment flexible pour traiter un large éventail de demandes de la part des clients.

Commençons par les éléments nécessaires à la rédaction de signaux forts, en commençant par les signaux du système :

IDENTITY = """你是 Eva,一位友好且知识渊博的 Acme 保险公司 AI 助手。你的角色是热情地欢迎客户,并提供有关 Acme 保险产品的信息,包括车险和电动车险。你还可以帮助客户获取他们的保险需求报价。"""

On pourrait être tenté de placer toutes les informations dans les mots d'invite du système afin de séparer les instructions du dialogue avec l'utilisateur, mais Claude place en fait la plupart du contenu de l'invite dans la première série de mots d'invite du système. User Il est plus performant lorsqu'il se trouve au milieu (la seule exception étant les invites de caractère). Pour plus d'informations, lire Utilisez l'invite du système pour attribuer un rôle à Claude.

Il est préférable de décomposer les indications complexes en sous-parties et de les écrire une partie à la fois. Pour chaque tâche, vous obtiendrez de meilleurs résultats en définissant progressivement les parties du message-guide dont Claude a besoin pour accomplir cette tâche. Dans le cas de l'assistance à la clientèle de l'assurance automobile, par exemple, nous rédigerons les messages-guides par étapes, en commençant par la tâche "Salutations et conseils généraux". Cette méthode facilite également le débogage des messages-guides, car elle permet de modifier plus rapidement les différentes parties du message-guide global.

Nous plaçons toutes ces sections dans un fichier appelé config.py dans le document.

STATIC_GREETINGS_AND_GENERAL = """
<static_context>
Acme 汽车保险:您在路上的可靠伙伴

简介:
在 Acme 保险公司,我们理解您的车辆不仅仅是交通工具——它是您通往生活冒险的门票。自 1985 年以来,我们一直在制定汽车保险政策,赋予驾驶者探索、通勤和旅行的信心。
无论您是在城市街道上穿行,还是在进行跨国旅行,Acme 都会保护您和您的车辆。
我们的创新汽车保险政策专为适应您的独特需求而设计,涵盖从轻微碰撞到重大事故的一切。
凭借 Acme 的获奖客户服务和快速理赔解决方案,您可以专注于驾驶的乐趣,而我们处理其他事宜。
我们不仅是保险提供商——我们是您人生旅途中的副驾驶。
选择 Acme 汽车保险,体验优质保障和真诚关怀带来的安心。因为在 Acme,我们不仅为您的汽车提供保险——我们还为您开拓生活的旅程提供动力。

注:我们还提供电动车的专门保险,确保所有类型车辆的驾驶者都能从我们的保护中受益。

Acme 保险提供以下产品:
- 汽车保险
- 电动车保险
- 两轮车保险

营业时间:周一至周五,上午 9 点至下午 5 点(美国东部时间)
客户服务电话:1-800-123-4567
</static_context>
"""

Nous traiterons les informations relatives à l'assurance automobile et à l'assurance des voitures électriques de la même manière.

STATIC_CAR_INSURANCE="""
<static_context>
汽车保险覆盖范围:
Acme 的汽车保险政策通常涵盖:
1. 责任险:支付您对他人造成的人身伤害和财产损失。
2. 碰撞险:支付事故中对您汽车的损坏。
3. 综合险:支付非碰撞事故对您汽车造成的损坏。
4. 医疗费用险:支付事故后的医疗费用。
5. 无保险/保险不足的驾驶员险:当您被保险不足的驾驶员撞击时保护您。

可选覆盖范围包括:
- 租车报销
- 道路救援
- 新车更换
</static_context>
"""

STATIC_ELECTRIC_CAR_INSURANCE="""
<static_context>
电动车保险:
我们专门的电动车保险超越了传统的汽车保险,为您的高科技投资提供量身定制的保护。除了标准的保险项目外,我们还提供:
- 保护昂贵的电池系统
- 覆盖家用充电设备
- 适应电动车领域的快速发展

无论您驾驶的是 Rivian、Nissan Leaf、Chevrolet Bolt 或其他电动车型,我们经验丰富的代理人都准备为您制定一份让您安心享受每一段电力驱动旅程的保单。
</static_context>
"""

Maintenant que nous disposons d'un contenu statique, ajoutons au moins 4 à 5 exemples de "bonnes" interactions pour guider la réponse de Claude. Ces exemples doivent représenter les interactions idéales avec vos clients et peuvent inclure des mesures de protection, des appels à des outils, etc.

EXAMPLES="""
以下是一些如何与客户互动的示例:

<example 1>
H: 你好,请问你们提供小企业的商业保险吗?

A: 啊!很遗憾,目前我们不提供商业保险。 
不过,我们有多种个人保险产品,包括汽车保险和电动车保险。 
您想了解更多关于这些产品的信息吗?
</example 1>

<example 2>
H: 你好,你们的营业时间是几点?

A: 我们的营业时间是周一至周五,上午 9 点到下午 5 点 (美国东部标准时间)。 
如果您有任何问题或需要帮助,请随时在这些时间内联系我们。 
今天还有什么其他需要我帮助的吗?
</example 2>

<example 3>
H: 我正在寻找汽车保险。Acme 提供哪些服务?

A: 很好的选择!Acme 的汽车保险通常包括:
- 责任险:在事故中您为过错方时为您提供保障
- 碰撞险:支付事故中您车辆的损坏费用
- 全面保障:涵盖非碰撞事件,如盗窃或故意破坏
- 医疗费用保险:事故后支付医疗费用
- 未投保/保险不足司机保障:保护您免受投保不足的司机影响

我们还提供一些可选保障,如租车报销、道路救援和新车更换。 
您想了解这些保障的更多细节,还是有其他关于为您的车辆投保的具体问题?
</example 3>

<example 4>
H: 我想了解一下你们的电动车保险。

A: 当然可以!我们的电动车保险专为电动车车主的独特需求量身定制。 
除了我们为普通车辆提供的所有标准保障外,我们的电动车保险还包括:

- 电池保障:保护您的车辆昂贵电池系统免受损坏或老化
- 技术包:涵盖高级电子设备和车载计算机系统的维修或更换
- 充电站保障:保护家庭和便携式充电设备
- 网络安全保障:对抗黑客攻击或数字威胁的保障
- 专业道路救援:包括平板拖车服务,以保护车辆底盘

我们为多种电动车提供保障,包括特斯拉、Rivian、日产、雪佛兰等热门车型。 
您是否有特定的电动车需要投保,或者您想了解某些保障的更多细节?
</example 4>

<example 5>
H: 我想获取我的汽车保险报价。

A: 当然!我很乐意为您提供汽车保险报价。 
为了为您提供准确的报价,我需要收集一些关于您车辆和主要驾驶人的信息。 
让我们从基本信息开始:

1. 您的车辆品牌和型号是什么?
2. 车辆生产年份是哪一年?
3. 您大约行驶了多少英里?
4. 主要驾驶人的年龄是多少?

一旦您提供了这些信息,我会使用我们的报价工具为您生成个性化的保险报价。
</example 5>
"""

Vous devrez également inclure toutes les instructions importantes sur les choses à faire et à ne pas faire dans la manière dont Claude interagit avec les clients. Ces instructions peuvent être tirées des politiques de protection de la marque ou d'assistance.

ADDITIONAL_GUARDRAILS = """请遵循以下防护措施:
1. 仅提供我们产品中列出的保险类型信息。
2. 如果被问及我们不提供的保险类型,请礼貌地说明我们不提供此类服务。
3. 不要对未来的产品或公司计划进行猜测。
4. 不要做出未经授权的承诺或达成协议。你只能提供信息和指导。
5. 不要提及任何竞争对手的产品或服务。
"""

Combinons maintenant tous ces éléments en une chaîne de caractères qui servira d'invite.

TASK_SPECIFIC_INSTRUCTIONS = ' '.join([
   STATIC_GREETINGS_AND_GENERAL,
   STATIC_CAR_INSURANCE,
   STATIC_ELECTRIC_CAR_INSURANCE,
   EXAMPLES,
   ADDITIONAL_GUARDRAILS,
])

Utiliser des outils pour favoriser la dynamique et la proactivité

Claude peut effectuer des opérations et récupérer des informations de manière dynamique en utilisant des outils côté client. Les outils externes ou les API qui devraient être utilisés pour l'invite sont listés en premier.

Dans cet exemple, nous commencerons par un outil de calcul de devis.

Notez que l'outil n'effectue pas réellement le calcul, il signale seulement à l'application qu'il doit être utilisé et transmet les paramètres spécifiés.

Exemple de calculateur de devis d'assurance :

TOOLS = [{
  "name": "get_quote",
  "description": "根据用户输入计算保险报价。返回值为每月的保费。",
  "input_schema": {
    "type": "object",
    "properties": {
      "make": {"type": "string", "description": "车辆的品牌。"},
      "model": {"type": "string", "description": "车辆的型号。"},
      "year": {"type": "integer", "description": "车辆的生产年份。"},
      "mileage": {"type": "integer", "description": "车辆的行驶里程数。"},
      "driver_age": {"type": "integer", "description": "主要驾驶员的年龄。"}
    },
    "required": ["make", "model", "year", "mileage", "driver_age"]
  }
}]

def get_quote(make, model, year, mileage, driver_age):
    """返回每月的保费(以美元计)"""
    # 你可以调用 HTTP 端点或数据库来获取报价。
    # 这里,我们模拟1秒的延迟并返回固定的100美元报价。
    time.sleep(1)
    return 100

Déployer vos conseils

Sans déployer l'invite dans l'environnement de production de test et Évaluation opérationnelle Dans ce cas, il est difficile de savoir si vos indices sont efficaces. Construisons donc une petite application utilisant nos indices, le SDK Anthropic et streamlit, et créons une interface utilisateur.

sous le nom de chatbot.py commencez par créer la classe ChatBot, qui encapsulera les mêmes informations que celles utilisées par la classe Anthropique Interactions SDK.

La classe doit contenir deux méthodes principales :generate_message répondre en chantant process_user_input.

from anthropic import Anthropic
from config import IDENTITY, TOOLS, MODEL, get_quote
from dotenv import load_dotenv

load_dotenv()

class ChatBot:
   def __init__(self, session_state):
       self.anthropic = Anthropic()
       self.session_state = session_state

   def generate_message(
       self,
       messages,
       max_tokens,
   ):
       try:
           response = self.anthropic.messages.create(
               model=MODEL,
               system=IDENTITY,
               max_tokens=max_tokens,
               messages=messages,
               tools=TOOLS,
           )
           return response
       except Exception as e:
           return {"error": str(e)}

   def process_user_input(self, user_input):
       self.session_state.messages.append({"role": "user", "content": user_input})

       response_message = self.generate_message(
           messages=self.session_state.messages,
           max_tokens=2048,
       )

       if "error" in response_message:
           return f"发生错误: {response_message['error']}"

       if response_message.content[-1].type == "tool_use":
           tool_use = response_message.content[-1]
           func_name = tool_use.name
           func_params = tool_use.input
           tool_use_id = tool_use.id

           result = self.handle_tool_use(func_name, func_params)
           self.session_state.messages.append(
               {"role": "assistant", "content": response_message.content}
           )
           self.session_state.messages.append({
               "role": "user",
               "content": [{
                   "type": "tool_result",
                   "tool_use_id": tool_use_id,
                   "content": f"{result}",
               }],
           })

           follow_up_response = self.generate_message(
               messages=self.session_state.messages,
               max_tokens=2048,
           )

           if "error" in follow_up_response:
               return f"发生错误: {follow_up_response['error']}"

           response_text = follow_up_response.content[0].text
           self.session_state.messages.append(
               {"role": "assistant", "content": response_text}
           )
           return response_text
      
       elif response_message.content[0].type == "text":
           response_text = response_message.content[0].text
           self.session_state.messages.append(
               {"role": "assistant", "content": response_text}
           )
           return response_text
      
       else:
           raise Exception("发生错误: 意外的响应类型")

   def handle_tool_use(self, func_name, func_params):
       if func_name == "get_quote":
           premium = get_quote(**func_params)
           return f"生成的报价: 每月 ${premium:.2f}"
      
       raise Exception("使用了意外的工具")

Construire l'interface utilisateur

Déployer ce code en utilisant Streamlit et un test de méthode maître. Cette méthode main() met en place une interface de discussion basée sur Streamlit.

Nous allons travailler sur un fichier appelé app.py Cette opération s'effectue dans le fichier

import streamlit as st
from chatbot import ChatBot
from config import TASK_SPECIFIC_INSTRUCTIONS

def main():
   st.title("与 Eva 聊天,Acme 保险公司的助理🤖")

   if "messages" not in st.session_state:
       st.session_state.messages = [
           {'role': "user", "content": TASK_SPECIFIC_INSTRUCTIONS},
           {'role': "assistant", "content": "明白"},
       ]

   chatbot = ChatBot(st.session_state)

   # 显示用户和助理的消息,跳过前两条
   for message in st.session_state.messages[2:]:
       # 忽略工具使用的消息块
       if isinstance(message["content"], str):
           with st.chat_message(message["role"]):
               st.markdown(message["content"])

   if user_msg := st.chat_input("在此输入您的消息..."):
       st.chat_message("user").markdown(user_msg)

       with st.chat_message("assistant"):
           with st.spinner("Eva 正在思考..."):
               response_placeholder = st.empty()
               full_response = chatbot.process_user_input(user_msg)
               response_placeholder.markdown(full_response)

if __name__ == "__main__":
   main()

Utilisez la commande suivante pour exécuter le programme :

streamlit run app.py

Évaluez vos conseils

Les messages-guides doivent souvent être testés et optimisés avant d'être prêts pour la production. Pour déterminer si votre solution est prête, vous pouvez évaluer les performances du chatbot au moyen d'un processus systématique combinant des méthodes quantitatives et qualitatives. Sur la base des critères de réussite que vous avez définis, créez unUne évaluation empirique solidevous permettra d'optimiser vos messages.

Console anthropique Un outil d'évaluation est désormais fourni pour vous permettre de tester vos messages-guides dans différents scénarios.

Améliorer les performances

Dans les scénarios complexes, en plus de laConseils pour l'ingénierierépondre en chantantStratégie de mise en œuvre des glissières de sécuritéAu-delà, il peut être utile d'envisager d'autres stratégies pour améliorer les performances. Voici quelques scénarios courants :

Réduire la latence du contexte long avec RAG

Lorsqu'il s'agit d'un grand nombre de contextes statiques et dynamiques, l'inclusion de toutes les informations dans l'indice peut entraîner des coûts élevés, des temps de réponse plus lents et l'atteinte des limites de la fenêtre contextuelle. Dans ce cas, la mise en œuvre de techniques de génération augmentée de recherche (RAG) peut améliorer considérablement les performances et l'efficacité.

En utilisant le Modèle d'encastrement de type voyage La conversion des informations en une représentation vectorielle crée un système plus évolutif et plus réactif. Cette approche permet la recherche dynamique d'informations pertinentes en fonction de la requête en cours, plutôt que d'inclure tous les contextes possibles dans chaque indice.

réaliser RAG Utilisé pour soutenir l'utilisation de scénarios Formulations RAG a permis d'améliorer la précision, de réduire les temps de réponse et de diminuer les coûts d'API dans les systèmes qui nécessitent un large éventail de contextes.

Intégration de données en temps réel grâce à l'utilisation d'outils

Lorsque vous traitez des requêtes qui nécessitent des informations en temps réel, telles que les soldes des comptes ou les détails des polices d'assurance, une approche intégrée basée sur les RAG n'est pas suffisante. Au lieu de cela, vous pouvez tirer parti de l'utilisation d'outils pour améliorer de manière significative la capacité de votre chatbot à fournir des réponses précises en temps réel. Par exemple, vous pouvez utiliser des outils pour trouver des informations sur les clients, récupérer des détails sur les commandes et annuler des commandes au nom des clients.

Cette méthode est utilisée dans notre Utilisation de l'outil : Formule de l'agent de service à la clientèle décrit en , vous permet d'intégrer de manière transparente des données en temps réel dans les réponses de Claude, offrant ainsi une expérience client plus personnalisée et plus efficace.

Mesures de protection renforcées des entrées et des sorties

Lorsque l'on déploie des chatbots, en particulier dans des scénarios de service à la clientèle, il est essentiel de se protéger contre le risque d'abus, de requêtes hors du champ d'application et de réponses inappropriées. Bien que Claude soit intrinsèquement résistant à ces scénarios, voici des étapes supplémentaires pour renforcer les mesures de protection de votre chatbot :

  • Réduction des hallucinationsMise en œuvre de mécanismes de vérification des faits et citation pour s'assurer que les réponses sont fondées sur les informations fournies.
  • Recouper les informations : s'assurer que la réponse de l'agent est conforme à la politique de l'entreprise et aux faits connus.
  • Éviter les engagements contractuels : veiller à ce que l'agent ne fasse pas de promesses ou d'accords pour lesquels il n'a pas le pouvoir de s'engager.
  • Atténuation du jailbreakLes utilisateurs ne peuvent pas exploiter les vulnérabilités des modèles pour générer des contenus inappropriés.
  • Évitez de mentionner les concurrents : mettez en place un filtre de mention des concurrents pour que votre marque reste ciblée et pour éviter de mentionner les produits ou services de vos concurrents.
  • Maintenir le rôle de Claude.Claude : Empêche Claude de changer de style contextuel lors d'interactions longues et complexes.
  • Supprimer les informations personnellement identifiables (IPI) : sauf demande et autorisation explicites, supprimer toutes les IPI des réponses.

Réduction du temps de réponse perçu grâce au traitement en continu

La mise en œuvre de la diffusion en continu peut accroître de manière significative l'engagement et la satisfaction de l'utilisateur lorsqu'il s'agit de réponses potentiellement longues. Dans ce cas, les utilisateurs reçoivent les réponses progressivement, plutôt que d'attendre que la réponse soit entièrement générée.

Voici les étapes de la mise en œuvre du traitement des flux :

  1. utiliser API de flux anthropique Les réponses en continu sont prises en charge.
  2. Configure le front-end pour qu'il traite les blocs de texte entrants.
  3. Affiche un bloc de texte pour chaque arrivée, simulant l'effet d'une saisie en temps réel.
  4. Mettre en place un mécanisme d'enregistrement des réponses complètes, permettant aux utilisateurs de visualiser l'intégralité du contenu lorsqu'ils reviennent après s'être éloignés du site.

Dans certains cas, la diffusion en continu permet d'utiliser des modèles avancés avec des latences de base plus élevées, car l'affichage progressif atténue les effets des temps de traitement plus longs.

Étendre votre Chatbot

Au fur et à mesure que la complexité du Chatbot augmente, l'architecture de l'application peut évoluer avec elle. Avant d'ajouter des couches supplémentaires à l'architecture, envisagez les options plus simples suivantes :

  • Assurez-vous de tirer le meilleur parti des indices et d'optimiser l'ingénierie des indices. Utilisez nos Guide de l'ingénieur-conseil Rédigez les conseils les plus efficaces.
  • Ajouter d'autres personnes à l'invite artefact (qui peut inclure chaîne de repères) pour voir si la fonction souhaitée peut être atteinte.

Si votre Chatbot gère des tâches très diverses, vous pouvez envisager d'ajouter une fonction Des classificateurs d'intention distincts pour acheminer la demande initiale du client. Pour les applications existantes, il s'agirait de créer un arbre de décision qui acheminerait les demandes des clients à travers des classificateurs vers des dialogues spécialisés (chacun avec ses propres outils et messages-guides). Il est à noter que cette approche nécessite un appel supplémentaire à Claude, ce qui peut augmenter le temps de latence.

Intégrer Claude dans les processus d'assistance

Alors que nos exemples se concentrent sur des fonctions Python qui peuvent être appelées dans un environnement Streamlit, le déploiement de Claude pour la prise en charge en temps réel du Chatbot nécessite un service API.

Vous pouvez le faire :

  1. Créer un wrapper API : développez un wrapper API simple pour vos fonctions classifiées. Par exemple, vous pouvez utiliser l'API Flask ou l'API Fast pour envelopper votre code sous la forme d'un service HTTP. Ce service HTTP peut recevoir des données de l'utilisateur et renvoyer une réponse complète de l'assistant. Par conséquent, le service peut avoir les caractéristiques suivantes :
    • Événements envoyés par le serveur (SSE) : SSE permet un flux de réponses en temps réel entre le serveur et le client. Il s'agit d'un élément essentiel pour assurer une expérience interactive fluide lors de l'utilisation du LLM.
    • Mise en cache : la mise en cache peut améliorer considérablement la réactivité et réduire les appels d'API inutiles.
    • Conservation du contexte : la conservation du contexte est importante pour la continuité du dialogue lorsque l'utilisateur s'éloigne et revient.
  2. Construction de l'interface Web : mise en œuvre d'une interface Web conviviale pour interagir avec les agents pilotés par Claude.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...