Este guia descreve como utilizar o Claude s lidam com as consultas dos clientes em tempo real, fornecem suporte 24 horas por dia, 7 dias por semana, reduzem os tempos de espera e gerenciam grandes volumes de solicitações de suporte com respostas precisas e interações proativas.
Antes de construir com o Claude
Decida se vai usar o Claude para o bate-papo de suporte
Aqui estão alguns indicadores-chave de que você deveria usar um LLM como o Claude para automatizar alguns dos seus processos de suporte ao cliente:
Grande número de consultas repetitivas
O Claude é especializado em lidar eficientemente com um grande número de problemas semelhantes, liberando os agentes humanos para lidar com problemas mais complexos.
A necessidade de integração rápida de informações
O Claude é capaz de recuperar, processar e integrar rapidamente informações de uma vasta base de conhecimento, enquanto um agente humano pode precisar de tempo para realizar pesquisas ou consultar várias fontes.
Requisitos de disponibilidade 24 horas por dia, 7 dias por semana
Claude é capaz de fornecer suporte 24 horas por dia, 7 dias por semana, sem se cansar, ao passo que fornecer cobertura contínua para agentes humanos pode ser caro e desafiador.
Expansão rápida durante os períodos de pico
A Claude pode lidar com aumentos repentinos no volume de consultas sem ter que contratar e treinar pessoal adicional.
Voz consistente da marca
Você pode instruir o Claude a representar consistentemente o tom e os valores da sua marca, enquanto os agentes humanos podem ter estilos de comunicação diferentes.
Alguns fatores a serem considerados ao escolher o Claude em vez de outros LLMs:
- Você prioriza conversas naturais e com nuances: a sofisticada compreensão de linguagem do Claude permite conversas mais naturais e contextualizadas, mais próximas da interação humana do que os bate-papos com outros LLMs.
- Você costuma receber perguntas complexas e abertas: o Claude pode lidar com uma ampla gama de tópicos e consultas sem gerar respostas padronizadas ou ter que escrever extensas permutações de linguagem do usuário.
- Você precisa de suporte multilíngue escalável: os recursos multilíngues do Claude possibilitam conversas em mais de 200 idiomas sem precisar configurar um chatbot separado para cada idioma suportado ou passar por um extenso processo de tradução.
Definição da interação de bate-papo ideal
Descreva a interação ideal com o cliente para definir como e quando você espera que seus clientes interajam com a Claude. Essa visão geral ajudará a definir os requisitos técnicos de sua solução.
Abaixo está um exemplo de interação de bate-papo para o suporte ao cliente de seguro de automóveis:
- nossos clientes: Experiência de bate-papo de suporte de lançamento
- ClaudeReceber calorosamente os clientes e iniciar um diálogo
- nossos clientesPergunta sobre o seguro para seu novo carro elétrico
- ClaudeFornecimento de informações sobre seguros para veículos elétricos
- nossos clientesPerguntas relacionadas às necessidades especiais do seguro para carros elétricos
- ClaudeForneça respostas precisas e úteis com links para fontes relevantes
- nossos clientesPerguntas fora do tópico que não têm nada a ver com seguros ou carros
- ClaudeEsclarecimento de que não discutem tópicos irrelevantes e direcionam os clientes para conteúdos relacionados a seguros de automóveis
- nossos clientesInteresse expresso em cotações de seguros
- ClaudeFaça uma série de perguntas para determinar uma cotação apropriada e ajuste-a com base nas respostas do cliente
- ClaudeEnviar uma solicitação para a ferramenta API de geração de cotações com as informações necessárias coletadas do cliente
- ClaudeReceber as informações de resposta da ferramenta de API, sintetizá-las em uma resposta natural e fornecer uma cotação ao cliente
- nossos clientesPerguntas frequentes de acompanhamento
- ClaudeResposta a perguntas de acompanhamento, conforme necessário
- ClaudeOrientamos o cliente para a próxima etapa do processo de seguro e encerramos o diálogo
Ao escrever exemplos reais para seus próprios casos de uso, talvez seja útil escrever as palavras reais usadas no diálogo para que você também possa ter uma ideia do tom ideal do Claude, da duração da resposta e do nível de detalhes necessários.
Dividir as interações em tarefas distintas
O chat de suporte ao cliente consiste em várias tarefas diferentes, incluindo responder a perguntas, recuperar informações e lidar com ações de solicitação, todas reunidas em uma interação completa com o cliente. Antes de começar a criar, divida a interação ideal com o cliente em cada tarefa que o Claude precisa realizar. Isso garante que você solicite e avalie o Claude para cada tarefa e proporciona um bom entendimento do escopo da interação a ser considerado ao escrever casos de teste.
Às vezes, os clientes acham útil visualizar esse processo como um fluxograma de interação que mostra os possíveis pontos de ramificação do diálogo com base nas solicitações do usuário.
A seguir estão as principais tarefas relacionadas às interações de seguro acima:
- Boas-vindas e orientações gerais
- Dê boas-vindas calorosas aos clientes e inicie um diálogo
- Fornecer informações básicas sobre a empresa e as interações
- Informações sobre o produto
- Fornecimento de informações sobre o seguro de VE Isso precisa ser feito para garantir que o Claude tenha as informações necessárias em seu contexto, e pode significar que ele precisa ser Integração do RAG.
- Responder a perguntas relacionadas às necessidades especiais do seguro de carros elétricos
- Responder a perguntas de acompanhamento sobre cotações ou detalhes do seguro
- Forneça links para fontes relevantes, quando apropriado
- Gerenciamento de diálogo
- Manter o foco no tópico (seguro de automóveis)
- Direcionar as perguntas fora do tópico de volta aos tópicos relevantes
- Geração de citações
- Fazer perguntas apropriadas para determinar a qualificação das ofertas
- Ajuste de perguntas com base nas respostas dos clientes
- Enviar as informações coletadas para a API de geração de cotações
- Fornecer aos clientes cotações geradas
Estabelecimento de critérios de sucesso
Trabalhando com sua equipe de suporte, oDefinir critérios claros de sucessoe escrever um relatório com referências e metas quantificáveis.Avaliação detalhada.
A seguir estão os critérios e referências para avaliar o sucesso do Claude na execução das tarefas definidas:
Precisão da compreensão da consulta
Essa métrica avalia a precisão do entendimento do Cláudio sobre as consultas dos clientes em uma variedade de tópicos. A compreensão do Claude sobre a intenção do cliente, as próximas etapas críticas, as soluções bem-sucedidas etc. é avaliada por meio da análise de uma amostra de conversas. A meta é obter uma precisão de compreensão de 95% ou superior.
Relevância
Avaliar se as respostas do Claude são eficazes para resolver o problema específico de um cliente. Avalie um conjunto de diálogos e classifique a relevância de cada resposta (avaliação em larga escala usando um sistema de pontuação baseado em um modelo de linguagem amplo). Meta de pontuação de relevância de 90% ou superior.
Precisão da resposta
Avalie a precisão das informações sobre a empresa e o produto fornecidas ao Claude com base nas informações contextuais fornecidas. A meta é atingir uma taxa de precisão de 100% para essas informações de lead.
Relevância fornecida pela citação
Acompanhe a frequência e a relevância dos links ou recursos fornecidos. O objetivo é fornecer recursos relevantes nas interações 80% que exigem informações adicionais.
Adesão ao tema
Avalie se o Claude permanece no tópico durante o diálogo, por exemplo, em nosso exemplo de implementação de seguro de automóvel, e avalie as respostas do Claude a perguntas sobre seguro de automóvel ou específicas do cliente. O objetivo é que as respostas do 95% estejam diretamente relacionadas ao seguro de automóveis ou a perguntas específicas do cliente.
Eficácia da geração de conteúdo
Avaliar o sucesso do Claude em relação a quando gerar o conteúdo da mensagem e a relevância do conteúdo. Por exemplo, em nossa implementação, avaliaremos a compreensão do Claude sobre quando gerar cotações e sua precisão. A meta é a precisão de 100%, pois essas são informações essenciais para interações bem-sucedidas com os clientes.
Eficiência do upgrade
Isso mede a capacidade do Claude de identificar consultas que exigem intervenção humana e escalá-las quando apropriado. Rastreia a porcentagem de conversas que são encaminhadas corretamente e aquelas que deveriam ter sido encaminhadas, mas não foram. A meta é 95% ou uma precisão de escalonamento melhor.
A seguir, apresentamos critérios e referências para avaliar o impacto comercial do uso do Claude para suporte:
manutenção emocional
Avalie a capacidade do Claude de manter ou melhorar o sentimento do cliente durante o diálogo. Use uma ferramenta de análise de sentimentos para medir o estado emocional no início e no final de cada diálogo. A meta é que o sentimento seja mantido ou melhorado nas interações da 90%.
taxa de desvio
Porcentagem de consultas de clientes que são tratadas com sucesso por um chatbot sem intervenção humana. Normalmente, a meta é uma taxa de triagem de 70%-80%, dependendo da complexidade da consulta.
Índice de satisfação do cliente
Mede a satisfação do cliente com as interações com os chatbots. Geralmente é feita por meio de uma pesquisa pós-interação. A meta é uma pontuação de satisfação do cliente de 4 em 5 ou mais.
Tempo médio de processamento
O tempo médio para um chatbot resolver uma consulta. Esse tempo varia muito, dependendo da complexidade da pergunta, mas o objetivo geral é fazer com que o tempo médio de atendimento seja menor do que o do atendimento humano ao cliente.
Como implementar o Claude como agente de atendimento ao cliente
Selecionando o modelo Claude correto
A escolha do modelo depende do equilíbrio entre custo, precisão e tempo de resposta.
Para o bate-papo de suporte ao cliente.claude-3-5-sonnet-20240620
Ideal para equilibrar inteligência, latência e custo. No entanto, se vários prompts forem incluídos em um diálogo (incluindo RAGs, uso de ferramentas e/ou prompts contextuais longos), oclaude-3-haiku-20240307
Talvez seja melhor otimizar a latência.
Criação de uma palavra-chave poderosa
O uso do Claude para suporte ao cliente exige que ele seja direcional e contextual o suficiente para responder adequadamente e flexível o suficiente para lidar com uma ampla gama de consultas de clientes.
Vamos começar com os elementos para escrever dicas fortes, começando com as dicas do sistema:
IDENTIDADE = """Você é Eva, uma assistente de IA simpática e experiente da Acme Insurance. Sua função é receber calorosamente os clientes e fornecer informações sobre os produtos de seguro da Acme, incluindo seguro de carro e de carro elétrico. Você também ajuda os clientes a obter cotações para suas necessidades de seguro."""
Embora você possa estar inclinado a colocar todas as informações nas palavras do prompt do sistema para separar as instruções do diálogo do usuário, o Claude, na verdade, coloca a maior parte do conteúdo do prompt na primeira rodada do Usuário
Apresenta melhor desempenho quando está no meio (a única exceção são os prompts de caracteres). Para obter mais informações, leia Use o prompt do sistema para atribuir uma função a Claude.
É melhor dividir as dicas complexas em subpartes e escrevê-las uma parte de cada vez. Para cada tarefa, você pode obter melhores resultados definindo progressivamente as partes do prompt que o cliente precisa para concluir a tarefa. No caso do suporte ao cliente do seguro de automóvel, por exemplo, escreveremos os prompts em etapas, começando com a tarefa "Saudações e orientações gerais". Isso também facilita a depuração dos prompts, pois você pode ajustar as partes individuais do prompt geral mais rapidamente.
Colocamos todas essas seções em um arquivo chamado config.py
no documento.
STATIC_GREETINGS_AND_GENERAL = """
<static_context
Seguro de carro Acme: seu parceiro confiável na estrada
Breve descrição:
Na Acme Insurance, entendemos que seu veículo é mais do que apenas um meio de transporte - é sua passagem para as aventuras da vida. Desde 1985, desenvolvemos apólices de seguro de automóvel que dão aos motoristas a confiança necessária para explorar, se deslocar e viajar.
Não importa se você está navegando pelas ruas da cidade ou viajando pelo país, a Acme protege você e o seu veículo.
Nossas apólices de seguro automotivo inovadoras são projetadas para atender às suas necessidades exclusivas e cobrem tudo, desde pequenas colisões até acidentes graves.
Com o premiado atendimento ao cliente da Acme e as soluções rápidas de sinistros, você pode se concentrar na diversão de dirigir enquanto nós cuidamos do resto.
Somos mais do que apenas um provedor de seguros - somos seu copiloto na estrada da vida.
Experimente a paz de espírito que vem com uma cobertura de qualidade e um atendimento genuíno quando você escolhe o Seguro Auto Acme. Porque na Acme, nós não apenas seguramos o seu carro - nós impulsionamos a jornada que você está fazendo para construir a sua vida.
Observação: também oferecemos seguro especializado para veículos elétricos, garantindo que os motoristas de todos os tipos de veículos se beneficiem da nossa proteção.
A Acme Insurance oferece os seguintes produtos:
- Seguro de carro
- Seguro para veículos elétricos
- Seguro para veículos de duas rodas
Horário de funcionamento: de segunda a sexta-feira, das 9h às 17h (EST)
Número de atendimento ao cliente: 1-800-123-4567
</static_context
"""
Trataremos as informações sobre seguro de carro e seguro de carro elétrico da mesma forma.
STATIC_CAR_INSURANCE="""
<static_context
Cobertura de seguro de automóveis:
As apólices de seguro de automóvel da Acme normalmente cobrem:
1. seguro de responsabilidade civil: paga por lesões corporais e danos à propriedade que você causar a outras pessoas.
2. colisão: paga pelos danos causados ao seu carro em um acidente.
3. abrangente: paga por danos ao seu carro em acidentes sem colisão. 4.
4. cobertura de despesas médicas: paga as despesas médicas após um acidente.
5. Cobertura de motorista não segurado/subsegurado: protege você se for atingido por um motorista com seguro insuficiente.
A cobertura opcional inclui:
- Reembolso de aluguel de carro
- Assistência na estrada
- Substituição de carro novo
</static_context
"""
STATIC_ELECTRIC_CAR_INSURANCE="""
<static_context
Seguro para veículos elétricos:
Nosso seguro especializado em carros elétricos vai além do seguro de carro tradicional para fornecer proteção sob medida para seu investimento em alta tecnologia. Além de nossos programas de seguro padrão, oferecemos:
- Proteção para sistemas de bateria caros
- Cobertura para equipamentos de carregamento doméstico
- Adaptação ao rápido desenvolvimento do setor de veículos elétricos
Não importa se você dirige um Rivian, um Nissan Leaf, um Chevrolet ou um Nissan Leaf. Parafuso ou qualquer outro modelo de veículo elétrico, nossos agentes experientes estão prontos para criar uma apólice que lhe dê a tranquilidade de que você precisa para aproveitar todas as viagens movidas a eletricidade.
</static_context
"""
Agora que temos conteúdo estático, vamos adicionar pelo menos 4 a 5 exemplos de interações "boas" para orientar a resposta do Claude. Esses exemplos devem representar sua interação ideal com o cliente e podem incluir proteções, chamadas de ferramentas etc.
EXEMPLOS="""
Aqui estão alguns exemplos de como interagir com seus clientes:
<exemplo 1
H: Olá, vocês oferecem seguro empresarial para pequenas empresas?
R: Ah! Infelizmente, não oferecemos seguro empresarial no momento.
No entanto, temos uma variedade de produtos de seguro pessoal, incluindo seguro de carro e seguro de carro elétrico.
Você gostaria de saber mais sobre esses produtos?
</exemplo 1
<exemplo 2
H: Olá, qual é o seu horário de funcionamento?
R: Estamos abertos de segunda a sexta-feira, das 9h às 17h (EST).
Se tiver alguma dúvida ou precisar de assistência, sinta-se à vontade para entrar em contato conosco durante esse horário.
Há mais alguma coisa em que eu possa ajudá-lo hoje?
</exemplo 2
<exemplo 3
H: Estou procurando um seguro de carro. Quais são os serviços oferecidos pela Acme?
R: Ótima escolha! As apólices de seguro de carro da Acme geralmente incluem:
- Responsabilidade civil: cobre você se a culpa for sua em um acidente.
- Colisão: paga pelos danos causados ao seu veículo em um acidente
- Cobertura abrangente: cobre eventos sem colisão, como roubo ou vandalismo
- Cobertura de despesas médicas: paga as despesas médicas após um acidente
- Cobertura de motorista sem seguro/sem seguro: protege você de motoristas com seguro insuficiente
Também oferecemos cobertura opcional, como reembolso de aluguel de carro, assistência na estrada e substituição de carro novo.
Gostaria de saber mais sobre esses benefícios ou tem outras perguntas específicas sobre o seguro de seu veículo?
</exemplo 3
<exemplo 4
H: Gostaria de saber mais sobre o seguro do seu carro elétrico.
R: Claro! Nosso seguro para veículos elétricos é feito sob medida para as necessidades exclusivas dos proprietários de veículos elétricos.
Além de toda a cobertura padrão que oferecemos para veículos comuns, nosso seguro para VE inclui:
- Cobertura de bateria: protege o caro sistema de bateria do seu veículo contra danos ou deterioração
- Pacote de tecnologia: cobre o reparo ou a substituição de sistemas eletrônicos avançados e sistemas de computador de bordo
- Cobertura de estação de carregamento: protege equipamentos de carregamento domésticos e portáteis
- Cobertura de segurança cibernética: proteção contra hackers ou ameaças digitais
- Assistência especializada na estrada: inclui um serviço de reboque de plataforma para proteger o chassi do veículo
Oferecemos cobertura para uma ampla gama de veículos elétricos, incluindo modelos populares como Tesla, Rivian, Nissan, Chevrolet e outros.
Você tem um veículo elétrico específico que precisa segurar ou gostaria de obter mais detalhes sobre determinadas coberturas?
</exemplo 4
<exemplo 5
H: Gostaria de obter uma cotação para meu seguro de automóvel.
A: Claro! Terei prazer em lhe fornecer uma cotação de seguro de automóvel.
Para lhe fornecer uma cotação precisa, preciso reunir algumas informações sobre o seu veículo e o motorista principal.
Vamos começar com as informações básicas:
1. Qual é a marca e o modelo do seu veículo?
2. Em que ano o veículo foi fabricado?
3. Quantos quilômetros aproximadamente você já dirigiu?
4. Qual é a idade do motorista principal?
Depois de fornecer essas informações, usarei nossa ferramenta de cotação para gerar uma cotação de seguro personalizada para você.
</exemplo 5
"""
Você também precisará incluir todas as instruções importantes sobre o que fazer e o que não fazer na forma como a Claude interage com os clientes. Essas instruções podem ser retiradas da proteção da marca ou das políticas de suporte.
ADDITIONAL_GUARDRAILS = """Siga as seguintes precauções:
1. forneça somente informações sobre os tipos de seguro listados em nossos produtos.
2. se for perguntado sobre um tipo de cobertura que não oferecemos, informe educadamente que não a oferecemos.
3. não faça especulações sobre produtos futuros ou planos da empresa.
4. Não faça promessas ou acordos não autorizados. Você só pode fornecer informações e orientações.
5. Não mencione produtos ou serviços de concorrentes.
"""
Agora vamos combinar todas essas partes em uma string para usar como prompt.
TASK_SPECIFIC_INSTRUCTIONS = ' '.join([
STATIC_GREETINGS_AND_GENERAL,
SEGURO_DE_CARRO_ESTÁTICO, SEGURO_DE_CARRO_ELÉTRICO_ESTÁTICO
SEGURO_DE_CARRO_ELÉTRICO_ESTÁTICO.
EXEMPLOS.
ADDITIONAL_GUARDRAILS, ])
])
Uso de ferramentas para fortalecer a dinâmica e a proatividade
O Claude pode executar operações e recuperar informações dinamicamente usando recursos de ferramentas do lado do cliente. Todas as ferramentas externas ou APIs que devem ser usadas para o prompt são listadas primeiro.
Neste exemplo, começaremos com uma ferramenta para calcular cotações.
Observe que a ferramenta não realiza o cálculo de fato, apenas sinaliza para o aplicativo que a ferramenta deve ser usada e passa os parâmetros especificados.
Exemplo de calculadora de cotação de seguro:
TOOLS = [{
"name" (nome): "get_quote",
"description" (descrição): "Calcula cotações de seguro com base na entrada do usuário. O valor de retorno é o prêmio mensal.",
"input_schema": {
"tipo": "objeto",
"propriedades": {
"make": {"tipo": "string", "description" (descrição): "A marca do veículo."},
"model" (modelo): {"tipo": "string", "description" (descrição): "O modelo do veículo."},
"ano": {"tipo": "integer" (número inteiro), "description" (descrição): "O ano de fabricação do veículo."},
"milhagem": {"tipo": "integer" (número inteiro), "description" (descrição): "Quilometragem do veículo".},
"driver_age": {"tipo": "integer" (número inteiro), "description" (descrição): "A idade do motorista principal."}
},
"obrigatório": ["make", "model" (modelo), "ano", "milhagem", "driver_age"]
}
}]
def get_quote(marca, modelo, ano, quilometragem, idade do motorista):
"""Retorne o prêmio mensal (em USD)""""
# Você pode chamar um ponto de extremidade HTTP ou um banco de dados para obter uma cotação.
# Aqui, simulamos um atraso de 1 segundo e retornamos uma oferta fixa de US$ 100.
time.sleep(1)
retorno 100
Implementação de suas dicas
Sem implantar o prompt no ambiente de produção de teste e Avaliação operacional No caso do Anthropic SDK, é difícil saber a eficácia de suas dicas. Portanto, vamos criar um pequeno aplicativo usando nossas dicas, o Anthropic SDK e o streamlit, e criar uma interface de usuário para ele.
com o nome chatbot.py
primeiro configure a classe ChatBot, que encapsulará a interação com o Anthropic SDK.
A classe deve conter dois métodos principais:generate_message
responder cantando 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("使用了意外的工具")
Criação da interface do usuário
Implemente esse código usando o Streamlit e um teste de método mestre. Esse principal()
configura uma interface de bate-papo baseada no Streamlit.
Trabalharemos em um arquivo chamado app.py
Isso é feito no arquivo
importação iluminado como st
de chatbot importação ChatBot
de configuração importação INSTRUÇÕES ESPECÍFICAS DA TAREFA
def principal():
st.title("Conversando com Eva, assistente da Acme Insurance 🤖")
se "mensagens" não em st.session_state.
st.session_state.messages = [
{'função': "usuário", "content" (conteúdo): TASK_SPECIFIC_INSTRUCTIONS}, {
{'função': "assistente", "content" (conteúdo): "Entendido."}
]
chatbot = ChatBot(st.session_state)
# Exibe mensagens de usuário e assistente, ignorando as duas primeiras
para mensagem em st.session_state.messages[2:]:
# Ignorar blocos de mensagens usados por ferramentas
se isinstância(mensagem["content" (conteúdo)], str):
com st.chat_message(message["função"]).
st.markdown(message["content" (conteúdo)])
se user_msg := st.chat_input("Digite sua mensagem aqui...").
st.chat_message("usuário").markdown(user_msg)
com st.chat_message("assistente"):
com st.spinner("Eva está pensando...").
response_placeholder = st.empty()
full_response = chatbot.process_user_input(user_msg)
response_placeholder.markdown(full_response)
se __name__ == "__main__":
main()
Use o seguinte comando para executar o programa:
iluminado executar aplicativo.py
Avalie suas dicas
Muitas vezes, os prompts exigem testes e otimização para estarem prontos para a produção. Para determinar se a sua solução está pronta, você pode avaliar o desempenho do chatbot por meio de um processo sistemático que combine métodos quantitativos e qualitativos. Com base em seus critérios de sucesso definidos, crie umAvaliação empírica sólidapermitirá que você otimize seus prompts.
Console antrópico Agora é fornecida uma ferramenta de avaliação que permite que você teste seus prompts em diferentes cenários.
Melhorar o desempenho
Em cenários complexos, além do padrãoDicas para engenhariaresponder cantandoEstratégia de implementação de grades de proteçãoAlém disso, pode ser útil considerar outras estratégias para melhorar o desempenho. Aqui estão alguns cenários comuns:
Reduzindo a longa latência de contexto com o RAG
Ao lidar com um grande número de contextos estáticos e dinâmicos, a inclusão de todas as informações na sugestão pode resultar em altos custos, tempos de resposta mais lentos e atingir os limites da janela de contexto. Nesse caso, a implementação de técnicas de RAG (Retrieval Augmented Generation) pode melhorar significativamente o desempenho e a eficiência.
Ao usar o Modelo de incorporação do tipo Voyage A conversão de informações em uma representação vetorial cria um sistema mais escalável e responsivo. Essa abordagem permite a recuperação dinâmica de informações relevantes com base na consulta atual, em vez de incluir todos os contextos possíveis em cada dica.
perceber RAG Usado para apoiar o uso de cenários Formulações RAG demonstrou melhorar a precisão, reduzir os tempos de resposta e diminuir os custos de API em sistemas que exigem uma ampla variedade de contextos.
Integração de dados em tempo real por meio do uso de ferramentas
Ao lidar com consultas que exigem informações em tempo real, como saldos de contas ou detalhes de apólices, uma abordagem baseada em RAGs incorporados não é suficiente. Em vez disso, você pode aproveitar o uso de ferramentas para melhorar significativamente a capacidade do seu chatbot de fornecer respostas precisas em tempo real. Por exemplo, você pode usar ferramentas para encontrar informações de clientes, recuperar detalhes de pedidos e cancelar pedidos em nome dos clientes.
Esse método é usado em nosso Uso da ferramenta: Fórmula do agente de atendimento ao cliente delineado em , permitindo que você integre perfeitamente dados em tempo real às respostas do Claude, proporcionando uma experiência mais personalizada e eficiente ao cliente.
Medidas aprimoradas de proteção de entrada e saída
Ao implementar chatbots, especialmente em cenários de atendimento ao cliente, é fundamental proteger-se contra o risco de abuso, consultas fora do escopo e respostas inadequadas. Embora o Claude seja inerentemente resistente a esses cenários, aqui estão as etapas adicionais para fortalecer as proteções do seu chatbot:
- Redução de alucinaçõesImplementação de mecanismos de verificação de fatos e citação para garantir que as respostas sejam baseadas nas informações fornecidas.
- Verificação cruzada de informações: certifique-se de que a resposta do agente seja consistente com a política da empresa e com os fatos conhecidos.
- Evitar compromissos contratuais: Certifique-se de que o agente não faça promessas ou acordos com os quais ele não tenha autoridade para se comprometer.
- Mitigação do jailbreakUse métodos como triagem inócua e validação de entrada para evitar que os usuários explorem as vulnerabilidades do modelo para gerar conteúdo inadequado.
- Evite mencionar concorrentes: implemente um filtro de menção a concorrentes para manter o foco de sua marca e evitar mencionar produtos ou serviços de qualquer concorrente.
- Manter a função do Claude.Estilo contextual: Evita que o Claude mude seu estilo contextual durante interações longas e complexas.
- Remover informações de identificação pessoal (PII): a menos que explicitamente solicitado e autorizado, exclua todas as PII das respostas.
Redução do tempo de resposta percebido por meio do processamento de streaming
A implementação do streaming pode aumentar significativamente o envolvimento e a satisfação do usuário ao lidar com respostas potencialmente longas. Nesse caso, os usuários recebem respostas gradualmente, em vez de esperar que toda a resposta seja gerada.
Veja a seguir as etapas para implementar o processamento de fluxo:
- fazer uso de API de streaming antrópico Há suporte para respostas de streaming.
- Configura o front-end para processar blocos de texto recebidos.
- Exibe um bloco de texto para cada chegada, simulando o efeito da entrada em tempo real.
- Implemente um mecanismo para salvar respostas completas, permitindo que os usuários visualizem o conteúdo completo quando retornarem após a navegação.
Em alguns casos, o streaming permite o uso de modelos avançados com latências de base mais altas, pois a exibição progressiva atenua os efeitos de tempos de processamento mais longos.
Amplie seu Chatbot
À medida que a complexidade do Chatbot aumenta, a arquitetura do aplicativo pode evoluir com ele. Antes de adicionar mais camadas à arquitetura, considere as seguintes opções mais simples:
- Certifique-se de que está aproveitando ao máximo as dicas e otimizando com a engenharia de dicas. Use nosso Guia de engenharia de dicas Escreva as dicas mais eficazes.
- Adicionar outras pessoas ao prompt artefato (que pode incluir cadeia de tacos) para ver se a função desejada pode ser alcançada.
Se o seu Chatbot lida com tarefas muito diversas, você pode considerar adicionar um Classificadores de intenção separados para encaminhar a consulta inicial do cliente. Para os aplicativos existentes, isso envolveria a criação de uma árvore de decisão que encaminha as consultas dos clientes por meio de classificadores para diálogos especializados (cada um com suas próprias ferramentas e prompts do sistema). Observe que essa abordagem exige uma chamada adicional para o Claude, o que pode aumentar a latência.
Integração do Claude aos fluxos de trabalho de suporte
Embora nossos exemplos se concentrem em funções Python que podem ser chamadas em um ambiente Streamlit, a implementação do Claude para suporte em tempo real do Chatbot requer um serviço de API.
Você pode fazer isso:
- Criação de um wrapper de API: desenvolva um wrapper de API simples para suas funções classificadas. Por exemplo, você pode usar a API Flask ou a API Fast para envolver seu código como um serviço HTTP. Esse serviço HTTP pode receber a entrada do usuário e retornar uma resposta completa do Assistente. Como resultado, o serviço pode ter as seguintes características:
- Eventos enviados pelo servidor (SSE): o SSE permite a transmissão de respostas em tempo real entre o servidor e o cliente. Isso é fundamental para proporcionar uma experiência suave e interativa ao usar o LLM.
- Armazenamento em cache: a implementação do armazenamento em cache pode melhorar significativamente a capacidade de resposta e reduzir as chamadas de API desnecessárias.
- Retenção de contexto: manter o contexto é importante para a continuidade do diálogo à medida que o usuário navega para longe e para trás.
- Criação da interface da Web: implemente uma interface de usuário da Web fácil de usar para interagir com agentes orientados pelo Claude.