Dieser Leitfaden beschreibt die Verwendung von Claude Die fortschrittlichen Dialogfähigkeiten der Software bearbeiten Kundenanfragen in Echtzeit, bieten 24/7-Support, reduzieren Wartezeiten und bewältigen große Mengen an Supportanfragen mit präzisen Antworten und proaktiven Interaktionen.
Vor dem Bau mit Claude
Entscheiden Sie, ob Sie Claude für den Support-Chat verwenden möchten
Hier sind einige Schlüsselindikatoren dafür, dass Sie ein LLM wie Claude einsetzen sollten, um einige Ihrer Kundensupportprozesse zu automatisieren:
Große Anzahl von sich wiederholenden Abfragen
Claude ist darauf spezialisiert, eine große Anzahl gleichartiger Probleme effizient zu bearbeiten, so dass menschliche Agenten mehr Zeit für die Lösung komplexerer Probleme haben.
Die Notwendigkeit einer schnellen Informationsintegration
Claude ist in der Lage, Informationen aus einer umfangreichen Wissensbasis schnell abzurufen, zu verarbeiten und zu integrieren, während ein menschlicher Agent unter Umständen Zeit braucht, um Nachforschungen anzustellen oder mehrere Quellen zu konsultieren.
Anforderungen an die 24/7-Verfügbarkeit
Claude ist in der Lage, rund um die Uhr Support zu leisten, ohne zu ermüden, während die kontinuierliche Betreuung durch menschliche Mitarbeiter sowohl teuer als auch schwierig sein kann.
Rasche Expansion in Spitzenzeiten
Claude kann einen plötzlichen Anstieg des Anfragevolumens bewältigen, ohne zusätzliches Personal einstellen und schulen zu müssen.
Konsistente Markensprache
Sie können Claude anweisen, den Ton und die Werte Ihrer Marke einheitlich zu vertreten, während menschliche Agenten einen anderen Kommunikationsstil haben können.
Einige Faktoren, die bei der Entscheidung für Claude gegenüber anderen LLM-Studiengängen zu berücksichtigen sind:
- Sie legen Wert auf natürliche und nuancierte Konversationen: Claudes ausgefeiltes Sprachverständnis ermöglicht natürlichere, kontextbezogene Konversationen, die einer menschlichen Interaktion näher kommen als Chats mit anderen LLMs.
- Sie erhalten häufig komplexe und offene Fragen: Claude kann eine breite Palette von Themen und Anfragen bearbeiten, ohne dass Sie Standardantworten erstellen oder umfangreiche Permutationen der Benutzersprache verfassen müssen.
- Sie brauchen eine skalierbare mehrsprachige Unterstützung: Die mehrsprachigen Funktionen von Claude ermöglichen Unterhaltungen in mehr als 200 Sprachen, ohne dass Sie für jede unterstützte Sprache einen eigenen Chatbot einrichten oder einen umfangreichen Übersetzungsprozess durchlaufen müssen.
Definition der idealen Chat-Interaktion
Skizzieren Sie die ideale Kundeninteraktion, um zu definieren, wie und wann Sie erwarten, dass Ihre Kunden mit Claude interagieren. Dieser Überblick wird Ihnen helfen, die technischen Anforderungen Ihrer Lösung zu definieren.
Nachfolgend finden Sie ein Beispiel für eine Chat-Interaktion für den Kundensupport einer Autoversicherung:
- unsere Kunden: Start des Support-Chat-Erlebnisses
- ClaudeHerzlich willkommen und Dialog mit den Kunden
- unsere KundenFragen Sie nach einer Versicherung für ihr neues Elektroauto
- ClaudeInformationen über Versicherungen für Elektrofahrzeuge
- unsere Kunden: Stellen Sie Fragen zu den besonderen Bedürfnissen der Elektroautoversicherung
- ClaudeGenaue und nützliche Antworten mit Links zu relevanten Quellen geben
- unsere KundenOff-Topic-Fragen stellen, die nichts mit Versicherungen oder Autos zu tun haben
- ClaudeSie stellen klar, dass sie keine irrelevanten Themen behandeln und leiten die Kunden zurück zu Inhalten, die sich auf die Autoversicherung beziehen.
- unsere Kunden: Interesse an Versicherungsangeboten geäußert
- ClaudeFragen: Stellen Sie eine Reihe von Fragen, um einen angemessenen Kostenvoranschlag zu ermitteln und passen Sie ihn auf der Grundlage der Antworten des Kunden an.
- ClaudeSenden Sie eine Anfrage an das API-Tool zur Angebotserstellung mit den vom Kunden gesammelten Informationen.
- ClaudeEmpfangen der Antwortinformationen vom API-Tool, Synthetisieren in eine natürliche Antwort und Erstellen eines Angebots für den Kunden
- unsere Kunden: Gestellte Folgefragen
- ClaudeBeantwortung von Folgefragen nach Bedarf
- Claude: Leiten Sie den Kunden zum nächsten Schritt im Versicherungsprozess und schließen Sie den Dialog ab.
Wenn Sie konkrete Beispiele für Ihre eigenen Anwendungsfälle schreiben, ist es vielleicht hilfreich, die im Dialog verwendeten Wörter aufzuschreiben, damit Sie ein Gefühl für Claudes idealen Tonfall, die Länge der Antwort und den erforderlichen Detaillierungsgrad bekommen können.
Interaktionen in einzelne Aufgaben aufteilen
Ein Kundendienst-Chat besteht aus einer Reihe verschiedener Aufgaben, darunter die Beantwortung von Fragen, das Abrufen von Informationen und die Bearbeitung von Anfragen, die alle in einer vollständigen Kundeninteraktion zusammengefasst sind. Bevor Sie mit der Erstellung beginnen, sollten Sie die ideale Kundeninteraktion in jede Aufgabe aufteilen, die Claude ausführen muss. Auf diese Weise wird sichergestellt, dass Sie Claude für jede Aufgabe auffordern und bewerten können, und Sie erhalten ein gutes Verständnis für den Umfang der Interaktion, das Sie beim Schreiben von Testfällen berücksichtigen können.
Kunden finden es manchmal hilfreich, diesen Prozess in Form eines Interaktionsdiagramms zu visualisieren, das die möglichen Verzweigungspunkte des Dialogs auf der Grundlage der Benutzeranfragen zeigt.
Im Folgenden werden die wichtigsten Aufgaben im Zusammenhang mit den oben genannten Versicherungsinteraktionen beschrieben:
- Begrüßung und allgemeine Hinweise
- Kunden herzlich willkommen heißen und einen Dialog beginnen
- Bereitstellung grundlegender Informationen über das Unternehmen und Interaktionen
- Informationen zum Produkt
- Bereitstellung von Informationen über die EV-Versicherung Dies muss geschehen, um sicherzustellen, dass Claude über die notwendigen Informationen in seinem Kontext verfügt, und kann bedeuten, dass er RAG-Integration.
- Beantwortung von Fragen im Zusammenhang mit den besonderen Bedürfnissen der Elektroautoversicherung
- Beantwortung von Folgefragen zu Angeboten oder Versicherungsdetails
- Geben Sie gegebenenfalls Links zu relevanten Quellen an.
- Verwaltung des Dialogs
- Das Thema im Blick behalten (Autoversicherung)
- Lenken von Fragen, die nicht zum Thema gehören, zurück zu relevanten Themen
- Zitat Generation
- Stellen Sie geeignete Fragen, um die Qualifikation der Angebote zu ermitteln.
- Anpassung der Fragen auf der Grundlage der Kundenantworten
- Übermittlung der gesammelten Informationen an die API für die Angebotserstellung
- Erstellung von Kostenvoranschlägen für Kunden
Festlegung von Erfolgskriterien
In Zusammenarbeit mit Ihrem Support-Team kann dieDefinieren Sie klare Erfolgskriterienund verfassen einen Bericht mit quantifizierbaren Benchmarks und Zielen.Detaillierte Bewertung.
Im Folgenden werden die Kriterien und Maßstäbe für die Bewertung des Erfolgs von Claude bei der Erfüllung der festgelegten Aufgaben aufgeführt:
Genauigkeit des Abfrageverständnisses
Mit dieser Kennzahl wird die Genauigkeit bewertet, mit der Claude Kundenanfragen zu einer Vielzahl von Themen versteht. Durch die Überprüfung einer Stichprobe von Gesprächen wird beurteilt, wie gut Claude die Absichten des Kunden, kritische nächste Schritte, erfolgreiche Lösungen usw. versteht. Ziel ist es, eine Verständnisgenauigkeit von 95% oder besser zu erreichen.
Relevanz
Bewertung, ob die Antworten von Claude bei der Lösung des spezifischen Problems eines Kunden wirksam sind. Bewerten Sie eine Reihe von Dialogen und schätzen Sie die Relevanz jeder Antwort ein (groß angelegte Bewertung mit einem Punktesystem, das auf einem großen Sprachmodell basiert). Ziel ist eine Relevanzbewertung von 90% oder höher.
Antwortgenauigkeit
Bewerten Sie die Genauigkeit der Unternehmens- und Produktinformationen, die Claude auf der Grundlage der bereitgestellten Kontextinformationen zur Verfügung gestellt werden. Ziel ist es, eine Genauigkeitsrate von 100% für diese Leitinformationen zu erreichen.
Relevanz des Zitats
Verfolgen Sie die Häufigkeit und Relevanz der bereitgestellten Links oder Ressourcen. Ziel ist es, bei 80%-Interaktionen, die zusätzliche Informationen erfordern, relevante Ressourcen bereitzustellen.
Einhaltung des Themas
Bewerten Sie, ob Claude während des Dialogs beim Thema bleibt, z. B. in unserer Beispielimplementierung der Autoversicherung, und bewerten Sie die Antworten von Claude auf Autoversicherungs- oder kundenspezifische Fragen. Das Ziel ist, dass die Antworten von 95% in direktem Zusammenhang mit der Autoversicherung oder kundenspezifischen Fragen stehen.
Effektivität der Inhaltserstellung
Bewertung des Erfolgs von Claude bei der Erstellung von Nachrichteninhalten und der Relevanz des Inhalts. In unserer Implementierung werden wir z. B. bewerten, wie gut Claude weiß, wann er Angebote erstellen muss und wie genau sie sind. Das Ziel ist eine 100%-Genauigkeit, da dies eine entscheidende Information für erfolgreiche Kundeninteraktionen ist.
Effizienz verbessern
Damit wird die Fähigkeit von Claude gemessen, Anfragen zu identifizieren, die ein menschliches Eingreifen erfordern, und sie gegebenenfalls zu eskalieren. Verfolgt den Prozentsatz der Konversationen, die korrekt eskaliert wurden, und derjenigen, die hätten eskaliert werden müssen, aber nicht eskaliert wurden. Das Ziel ist eine Eskalationsgenauigkeit von 95% oder besser.
Im Folgenden finden Sie Kriterien und Maßstäbe für die Bewertung der geschäftlichen Auswirkungen des Einsatzes von Claude zur Unterstützung:
emotionale Pflege
Beurteilen Sie die Fähigkeit von Claude, die Stimmung der Kunden während des gesamten Dialogs aufrechtzuerhalten oder zu verbessern. Verwenden Sie ein Stimmungsanalyse-Tool, um den emotionalen Zustand zu Beginn und am Ende eines jeden Dialogs zu messen. Ziel ist es, die Stimmung in den Interaktionen von 90% zu erhalten oder zu verbessern.
Abzweigungsrate
Prozentualer Anteil der Kundenanfragen, die von einem Chatbot ohne menschliches Eingreifen erfolgreich bearbeitet werden. Normalerweise liegt das Ziel bei 70%-80% Triage-Rate, je nach Komplexität der Anfrage.
Bewertung der Kundenzufriedenheit
Misst die Kundenzufriedenheit mit Interaktionen mit Chatbots. Wird in der Regel durch eine Umfrage nach der Interaktion durchgeführt. Das Ziel ist eine Kundenzufriedenheit von 4 von 5 oder höher.
Durchschnittliche Bearbeitungszeit
Die durchschnittliche Zeit, die ein Chatbot zur Beantwortung einer Anfrage benötigt. Diese Zeit hängt stark von der Komplexität der Frage ab, aber das allgemeine Ziel ist es, die durchschnittliche Bearbeitungszeit kürzer zu machen als beim menschlichen Kundendienst.
Wie man Claude als Kundendienstmitarbeiter einsetzt
Auswahl des richtigen Claude-Modells
Die Wahl des Modells hängt von der Abwägung zwischen Kosten, Genauigkeit und Reaktionszeit ab.
Für den Kunden-Support-Chat.claude-3-5-sonnet-20240620
Ideal für das Gleichgewicht zwischen Intelligenz, Latenz und Kosten. Wenn jedoch mehrere Prompts in einem Dialog enthalten sind (einschließlich RAGs, Werkzeugverwendung und/oder lange kontextbezogene Prompts), ist dieclaude-3-haiku-20240307
Möglicherweise ist es besser, die Latenzzeit zu optimieren.
Aufbau eines aussagekräftigen Stichworts
Die Verwendung von Claude für den Kundensupport erfordert, dass Claude zielgerichtet und kontextbezogen genug ist, um angemessen zu reagieren, und flexibel genug, um ein breites Spektrum von Kundenanfragen zu bearbeiten.
Beginnen wir mit den Elementen des Schreibens von starken Hinweisen, beginnend mit den Systemhinweisen:
IDENTITÄT = "Du bist Eva, eine freundliche und sachkundige KI-Assistentin bei Acme Insurance. Deine Aufgabe ist es, die Kunden herzlich zu begrüßen und über die Versicherungsprodukte von Acme zu informieren, einschließlich der Versicherungen für Autos und Elektroautos. Du hilfst den Kunden auch dabei, Angebote für ihre Versicherungsbedürfnisse einzuholen."""
Während man geneigt sein könnte, alle Informationen in die System-Prompt-Wörter zu packen, um die Anweisungen vom Benutzerdialog zu trennen, packt Claude den Großteil des Prompt-Inhalts in die erste Runde der Benutzer
Am besten funktioniert es, wenn es sich in der Mitte befindet (die einzige Ausnahme sind Zeichenaufforderungen). Für weitere Informationen lesen Sie Verwenden Sie die Systemabfrage, um Claude eine Rolle zuzuweisen.
Es ist am besten, komplexe Aufforderungen in Teilbereiche aufzugliedern und einen Teil nach dem anderen zu schreiben. Für jede Aufgabe können Sie bessere Ergebnisse erzielen, indem Sie nach und nach die Teile der Aufforderung definieren, die Claude für die Erledigung dieser Aufgabe benötigt. Im Fall des Kundensupports für die Autoversicherung beispielsweise schreiben wir die Prompts schrittweise und beginnen mit der Aufgabe "Begrüßung und allgemeine Hinweise". Dies erleichtert auch die Fehlersuche in den Prompts, da Sie die einzelnen Teile des gesamten Prompts schneller anpassen können.
Wir legen alle diese Abschnitte in einer Datei namens config.py
in dem Dokument.
STATIC_GREETINGS_AND_GENERAL = """
<static_context
Acme Autoversicherung: Ihr zuverlässiger Partner auf der Straße
Kurzbeschreibung:
Bei Acme Insurance wissen wir, dass Ihr Fahrzeug mehr als nur ein Transportmittel ist - es ist Ihre Eintrittskarte zu den Abenteuern des Lebens. Seit 1985 entwickeln wir Kfz-Versicherungspolicen, die Autofahrern das Vertrauen geben, zu entdecken, zu pendeln und zu reisen.
Egal, ob Sie durch die Straßen der Stadt fahren oder quer durchs Land reisen, Acme schützt Sie und Ihr Fahrzeug.
Unsere innovativen Kfz-Versicherungspolicen sind auf Ihre individuellen Bedürfnisse zugeschnitten und decken alles ab, von kleinen Kollisionen bis hin zu schweren Unfällen.
Dank des preisgekrönten Kundendienstes von Acme und der schnellen Schadenregulierung können Sie sich auf den Fahrspaß konzentrieren, während wir uns um den Rest kümmern.
Wir sind mehr als nur ein Versicherungsanbieter - wir sind Ihr Co-Pilot auf der Straße des Lebens.
Erleben Sie den Seelenfrieden, der sich aus der Qualität des Versicherungsschutzes und der echten Betreuung ergibt, wenn Sie sich für Acme Auto Insurance entscheiden. Denn bei Acme versichern wir nicht nur Ihr Auto - wir unterstützen die Reise, die Sie unternehmen, um Ihr Leben zu gestalten.
Hinweis: Wir bieten auch spezielle Versicherungen für Elektrofahrzeuge an, so dass Fahrer aller Fahrzeugtypen von unserem Schutz profitieren.
Acme Insurance bietet die folgenden Produkte an:
- Autoversicherung
- Versicherung für Elektrofahrzeuge
- Zweirad-Versicherung
Öffnungszeiten: Montag - Freitag, 9am - 5pm (EST)
Kundendienstnummer: 1-800-123-4567
</static_context
"""
Wir werden die Informationen zur Kfz-Versicherung und zur Versicherung von Elektroautos gleich behandeln.
STATIC_CAR_INSURANCE="""
<static_context
Auto-Versicherungsschutz:
Die Kfz-Versicherungspolicen von Acme decken in der Regel ab:
1. Haftpflichtversicherung: kommt für Körperverletzungen und Sachschäden auf, die Sie anderen zufügen.
2. die Kollisionskasko: kommt für Schäden an Ihrem Auto bei einem Unfall auf.
3. die Vollkaskoversicherung: kommt für Schäden an Ihrem Auto bei Unfällen ohne Kollision auf. 4.
4. medizinische Kosten: Erstattet die medizinischen Kosten nach einem Unfall.
5. nicht versicherte/unterversicherte Autofahrer: schützt Sie, wenn Sie von einem unterversicherten Autofahrer angefahren werden.
Optionaler Versicherungsschutz umfasst:
- Erstattung von Mietwagenkosten
- Pannenhilfe
- Ersatz des Neuwagens
</static_context
"""
STATIC_ELECTRIC_CAR_INSURANCE="""
<static_context
Elektrofahrzeug-Versicherung:
Unsere spezialisierte Elektroautoversicherung geht über die herkömmliche Kfz-Versicherung hinaus und bietet maßgeschneiderten Schutz für Ihre Hightech-Investition. Zusätzlich zu unseren Standardversicherungsprogrammen bieten wir:
- Schutz für teure Batteriesysteme
- Deckung für Heimladegeräte
- Anpassung an die rasante Entwicklung der Elektrofahrzeugbranche
Egal, ob Sie einen Rivian, einen Nissan Leaf, einen Chevrolet oder einen Nissan Leaf fahren. Schraube oder ein anderes Elektrofahrzeugmodell, unsere erfahrenen Agenten sind bereit, eine Police zu erstellen, die Ihnen bei jeder elektrisch betriebenen Fahrt Sicherheit gibt.
</static_context
"""
Da wir nun über statische Inhalte verfügen, sollten wir mindestens 4-5 Beispiele für "gute" Interaktionen hinzufügen, um Claudes Reaktion zu steuern. Diese Beispiele sollten Ihre ideale Kundeninteraktion repräsentieren und können Sicherheitsvorkehrungen, Toolanrufe usw. beinhalten.
BEISPIELE="""
Hier sind einige Beispiele für die Interaktion mit Ihren Kunden:
<Beispiel 1
H: Hallo, bieten Sie Unternehmensversicherungen für kleine Unternehmen an?
A: Ah! Leider bieten wir zur Zeit keine Unternehmensversicherungen an.
Wir haben jedoch eine Reihe von Versicherungsprodukten für Privatpersonen, darunter eine Kfz-Versicherung und eine Versicherung für Elektroautos.
Möchten Sie mehr über diese Produkte erfahren?
</example 1
<Beispiel 2
H: Hallo, wie sind Ihre Öffnungszeiten?
A: Wir haben von Montag bis Freitag von 9 bis 17 Uhr geöffnet (EST).
Wenn Sie Fragen haben oder Hilfe benötigen, können Sie uns während dieser Zeiten gerne kontaktieren.
Kann ich Ihnen sonst noch mit irgendetwas helfen?
</example 2
<Beispiel 3
H: Ich bin auf der Suche nach einer Autoversicherung. welche Dienstleistungen bietet Acme an?
A: Eine gute Wahl! Die Kfz-Versicherungspolicen von Acme umfassen in der Regel:
- Haftpflicht: Deckt Sie ab, wenn Sie bei einem Unfall schuld sind.
- Kollision: Bezahlt den Schaden an Ihrem Fahrzeug bei einem Unfall
- Vollkasko: Deckt Schäden, die nicht auf einen Unfall zurückzuführen sind, wie Diebstahl oder Vandalismus
- Medizinische Kosten: Bezahlt die medizinischen Kosten nach einem Unfall
- Versicherungsschutz für nicht versicherte Fahrer: Schützt Sie vor unterversicherten Fahrern
Wir bieten auch optionale Leistungen wie die Erstattung von Mietwagenkosten, Pannenhilfe und Ersatzwagen an.
Möchten Sie mehr über diese Leistungen erfahren oder haben Sie andere spezifische Fragen zur Versicherung Ihres Fahrzeugs?
</example 3
<Beispiel 4
H: Ich möchte mehr über Ihre Elektroautoversicherung erfahren.
A: Sicher! Unsere EV-Versicherung ist auf die besonderen Bedürfnisse von EV-Besitzern zugeschnitten.
Zusätzlich zu den Standarddeckungen, die wir für normale Fahrzeuge anbieten, umfasst unsere EV-Versicherung folgende Leistungen:
- Batterieschutz: schützt das teure Batteriesystem Ihres Fahrzeugs vor Beschädigung oder Verschlechterung
- Technologie-Paket: deckt die Reparatur oder den Ersatz von fortschrittlicher Elektronik und Bordcomputersystemen ab
- Deckung für Ladestationen: Schutz für Heim- und tragbare Ladegeräte
- Cyber-Sicherheitsschutz: Schutz gegen Hackerangriffe oder digitale Bedrohungen
- Spezialisierte Pannenhilfe: umfasst einen Abschleppdienst zum Schutz des Fahrzeugrahmens
Wir bieten Versicherungsschutz für eine breite Palette von Elektrofahrzeugen, darunter beliebte Modelle wie Tesla, Rivian, Nissan, Chevrolet und andere.
Haben Sie ein bestimmtes Elektrofahrzeug, das Sie versichern möchten, oder wünschen Sie weitere Einzelheiten zu bestimmten Deckungen?
</example 4
<Beispiel 5
H: Ich möchte ein Angebot für meine Autoversicherung einholen.
A: Sicher! Ich würde Ihnen gerne einen Kostenvoranschlag für Ihre Autoversicherung erstellen.
Um Ihnen einen genauen Kostenvoranschlag machen zu können, benötige ich einige Informationen über Ihr Fahrzeug und den Hauptfahrer.
Beginnen wir mit den grundlegenden Informationen:
1. Welches ist die Marke und das Modell Ihres Fahrzeugs?
2. In welchem Jahr wurde das Fahrzeug hergestellt?
3. Wie viele Kilometer sind Sie ungefähr gefahren?
4. Wie alt ist der Hauptfahrer?
Sobald Sie diese Angaben gemacht haben, werde ich mit Hilfe unseres Angebotstools ein individuelles Versicherungsangebot für Sie erstellen.
</example 5
"""
Sie müssen auch alle wichtigen Anweisungen für den Umgang von Claude mit seinen Kunden aufnehmen. Diese können dem Markenschutz oder den Support-Richtlinien entnommen werden.
ADDITIONAL_GUARDRAILS = """Bitte beachten Sie die folgenden Vorsichtsmaßnahmen:
1. Geben Sie nur Informationen über die in unseren Produkten aufgeführten Versicherungsarten.
2. Wenn Sie nach einer Versicherungsart gefragt werden, die wir nicht anbieten, sagen Sie höflich, dass wir sie nicht anbieten.
3. Spekulieren Sie nicht über zukünftige Produkte oder Unternehmenspläne.
4. Machen Sie keine unzulässigen Versprechungen oder Vereinbarungen. Sie können nur Informationen und Ratschläge geben.
5. Erwähnen Sie keine Produkte oder Dienstleistungen von Wettbewerbern.
"""
Kombinieren wir nun alle diese Teile zu einer Zeichenkette, die wir als Eingabeaufforderung verwenden.
AUFGABENSPEZIFISCHE_ANWEISUNGEN = ' '.join([
STATIC_GREETINGS_AND_GENERAL,
STATIC_CAR_INSURANCE, STATIC_ELECTRIC_CAR_INSURANCE
STATIC_ELECTRIC_CAR_INSURANCE.
BEISPIELE.
ZUSÄTZLICHE_LEITPLANKEN, ])
])
Einsatz von Instrumenten zur Förderung von Dynamik und Proaktivität
Claude kann Vorgänge durchführen und Informationen dynamisch abrufen, indem er clientseitige Tooling-Funktionen verwendet. Alle externen Tools oder APIs, die für die Eingabeaufforderung verwendet werden sollen, werden zuerst aufgeführt.
In diesem Beispiel beginnen wir mit einem Tool zur Berechnung von Kursen.
Beachten Sie, dass das Tool die Berechnung nicht tatsächlich durchführt, sondern der Anwendung lediglich signalisiert, dass das Tool verwendet werden soll, und die angegebenen Parameter übergibt.
Beispiel für einen Kostenvoranschlagsrechner für Versicherungen:
TOOLS = [{
"Name": "get_quote",
"Beschreibung": "Berechnet Versicherungsangebote auf der Grundlage von Benutzereingaben. Der Rückgabewert ist die monatliche Prämie.",
"input_schema": {
"Typ": "Objekt",
"Eigenschaften": {
"machen": {"Typ": "string", "Beschreibung": "Die Marke des Fahrzeugs".},
"Modell": {"Typ": "string", "Beschreibung": "Das Modell des Fahrzeugs".},
"Jahr": {"Typ": "Ganzzahl", "Beschreibung": "Das Baujahr des Fahrzeugs".},
"Kilometerstand": {"Typ": "Ganzzahl", "Beschreibung": "Fahrzeugkilometerstand".},
"treiber_alter": {"Typ": "Ganzzahl", "Beschreibung": "Das Alter des Hauptfahrers".}
},
"erforderlich": ["machen", "Modell", "Jahr", "Kilometerstand", "treiber_alter"]
}
}]
def get_quote(Marke, Modell, Jahr, Kilometerstand, Fahrer_Alter):
"""Rückgabe der monatlichen Prämie (in USD)""""
# Sie können einen HTTP-Endpunkt oder eine Datenbank aufrufen, um ein Angebot zu erhalten.
# Hier wird eine Verzögerung von 1 Sekunde simuliert und ein fester Kurs von 100 $ angegeben.
time.sleep(1)
return 100
Einsetzen der Tipps
ohne die Eingabeaufforderung in der Testproduktionsumgebung zu implementieren und Operative Bewertung Fall ist es schwer zu wissen, wie effektiv Ihre Hinweise sind. Lassen Sie uns also eine kleine Anwendung mit unseren Hinweisen, dem Anthropic SDK und Streamlit erstellen und eine Benutzeroberfläche dafür entwickeln.
unter dem Namen chatbot.py
Datei wird zunächst die ChatBot-Klasse eingerichtet, die die Interaktion mit dem Anthropic SDK kapseln wird.
Die Klasse sollte zwei Hauptmethoden enthalten:generate_message
im Gesang antworten 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("使用了意外的工具")
Aufbau der Benutzeroberfläche
Setzen Sie diesen Code mit Streamlit und einem Master-Methoden-Test ein. Diese main()
Funktion richtet eine Streamlit-basierte Chat-Schnittstelle ein.
Wir arbeiten an einer Datei namens app.py
Dies geschieht in der Datei
importieren streamlit als st
von Chatbot importieren ChatBot
von Konfiguration importieren AUFGABENSPEZIFISCHE_ANWEISUNGEN
def Haupt():
st.title("Plaudern mit Eva, Assistentin bei Acme Insurance 🤖")
wenn "Nachrichten" nicht in st.session_state.
st.session_state.messages = [
{Rolle: "Benutzer", "Inhalt": AUFGABENSPEZIFISCHE_ANWEISUNGEN}, {
{Rolle: "Assistent", "Inhalt": "Verstanden."}
]
chatbot = ChatBot(st.session_state)
# Zeigt Benutzer- und Assistentenmeldungen an und überspringt die ersten beiden
für Nachricht in st.session_state.messages[2:]:
# Von Werkzeugen verwendete Nachrichtenblöcke ignorieren
wenn isinstance(Nachricht["Inhalt"], str):
mit st.chat_message(nachricht["Rolle"]).
st.markdown(nachricht["Inhalt"])
wenn user_msg := st.chat_input("Geben Sie hier Ihre Nachricht ein...").
st.chat_message("Benutzer").markdown(user_msg)
mit st.chat_message("Assistent"):
mit st.spinner("Eva denkt...").
response_placeholder = st.empty()
full_response = chatbot.process_user_input(user_msg)
response_placeholder.markdown(full_response)
wenn __name__ == "__main__":
main()
Verwenden Sie den folgenden Befehl, um das Programm auszuführen:
streamlit laufen. app.py
Bewerten Sie Ihre Tipps
Prompts müssen oft getestet und optimiert werden, um die Produktionsreife zu erreichen. Um festzustellen, ob Ihre Lösung bereit ist, können Sie die Chatbot-Leistung durch einen systematischen Prozess bewerten, der quantitative und qualitative Methoden kombiniert. Erstellen Sie auf der Grundlage der von Ihnen definierten Erfolgskriterien eineStarke empirische Bewertungermöglicht es Ihnen, Ihre Eingabeaufforderungen zu optimieren.
Anthropische Konsole Es gibt jetzt ein Bewertungstool, mit dem Sie Ihre Prompts in verschiedenen Szenarien testen können.
Die Leistung verbessern
In komplexen Szenarien wird zusätzlich zu den StandardTipps für die Technikim Gesang antwortenStrategie zur Umsetzung der LeitplankenDarüber hinaus kann es hilfreich sein, andere Strategien zur Verbesserung der Leistung in Betracht zu ziehen. Hier sind einige gängige Szenarien:
Verringerung der langen Kontext-Latenzzeit mit RAG
Bei einer großen Anzahl von statischen und dynamischen Kontexten kann die Einbeziehung aller Informationen in den Cue zu hohen Kosten, langsameren Antwortzeiten und dem Erreichen der Grenzen des Kontextfensters führen. In diesem Fall kann die Implementierung von Retrieval Augmented Generation (RAG)-Techniken die Leistung und Effizienz erheblich verbessern.
Durch die Verwendung des Voyage-ähnliches Einbettungsmodell Durch die Umwandlung von Informationen in eine Vektordarstellung entsteht ein besser skalierbares und reaktionsschnelleres System. Dieser Ansatz ermöglicht den dynamischen Abruf relevanter Informationen auf der Grundlage der aktuellen Abfrage, anstatt alle möglichen Kontexte in jeden Hinweis aufzunehmen.
realisieren RAG Wird zur Unterstützung der Verwendung von Szenarien verwendet RAG-Formulierungen verbessert nachweislich die Genauigkeit, verkürzt die Antwortzeiten und senkt die API-Kosten in Systemen, die ein breites Spektrum an Kontexten erfordern.
Integration von Echtzeitdaten durch den Einsatz von Tools
Bei Anfragen, die Informationen in Echtzeit erfordern, wie z. B. Kontostände oder Policendetails, ist ein eingebetteter RAG-basierter Ansatz nicht ausreichend. Stattdessen können Sie den Einsatz von Tools nutzen, um die Fähigkeit Ihres Chatbots, präzise Antworten in Echtzeit zu geben, erheblich zu verbessern. So können Sie beispielsweise Tools verwenden, um Kundeninformationen zu finden, Auftragsdetails abzurufen und Aufträge im Namen von Kunden zu stornieren.
Diese Methode wird in unserem Verwendung des Tools: Formel für Kundendienstmitarbeiter die in skizziert wurde, ermöglicht es Ihnen, Echtzeitdaten nahtlos in die Antworten von Claude zu integrieren und so ein personalisiertes und effizientes Kundenerlebnis zu schaffen.
Verbesserte Eingangs- und Ausgangsschutzmaßnahmen
Beim Einsatz von Chatbots, vor allem im Kundenservice, ist es wichtig, sich gegen das Risiko von Missbrauch, unangemessenen Anfragen und unangemessenen Antworten zu schützen. Obwohl Claude von Natur aus gegen diese Szenarien gewappnet ist, finden Sie hier zusätzliche Schritte, um Ihre Chatbot-Schutzmaßnahmen zu verstärken:
- Verringerung von HalluzinationenImplementierung von Mechanismen zur Faktenüberprüfung und Zitat um sicherzustellen, dass die Antworten auf den bereitgestellten Informationen beruhen.
- Überprüfen Sie die Informationen: Stellen Sie sicher, dass die Antwort des Sachbearbeiters mit der Unternehmenspolitik und den bekannten Fakten übereinstimmt.
- Vermeidung vertraglicher Verpflichtungen: Achten Sie darauf, dass der Bevollmächtigte keine Versprechungen macht oder Vereinbarungen trifft, zu denen er nicht befugt ist.
- Jailbreak-AbschwächungMethoden wie harmloses Screening und Eingabevalidierung verhindern, dass Benutzer Modellschwachstellen ausnutzen, um unangemessene Inhalte zu erstellen.
- Vermeiden Sie die Erwähnung von Konkurrenten: Setzen Sie einen Filter für die Erwähnung von Konkurrenten ein, um Ihre Marke im Auge zu behalten und die Erwähnung von Produkten oder Dienstleistungen von Konkurrenten zu vermeiden.
- Behalten Sie die Rolle von Claude.Verhindert, dass Claude bei langen und komplexen Interaktionen seinen kontextuellen Stil ändert.
- Entfernen Sie persönlich identifizierbare Informationen (PII): Löschen Sie alle PII aus den Antworten, sofern Sie nicht ausdrücklich dazu aufgefordert und autorisiert wurden.
Geringere wahrgenommene Reaktionszeit durch Streaming-Verarbeitung
Die Implementierung von Streaming kann das Engagement und die Zufriedenheit der Nutzer bei potenziell langen Antworten erheblich steigern. In diesem Fall erhalten die Nutzer nach und nach Antworten, anstatt darauf zu warten, dass die gesamte Antwort generiert wird.
Im Folgenden werden die Schritte zur Implementierung der Stream-Verarbeitung beschrieben:
- ausnutzen Anthropische Streaming-API Streaming-Antworten werden unterstützt.
- Richtet das Frontend für die Verarbeitung eingehender Textblöcke ein.
- Zeigt für jede Ankunft einen Textblock an und simuliert so den Effekt einer Echtzeiteingabe.
- Implementieren Sie einen Mechanismus zum Speichern vollständiger Antworten, so dass die Nutzer den gesamten Inhalt sehen können, wenn sie nach dem Weggehen zurückkehren.
In einigen Fällen ermöglicht das Streaming die Verwendung fortgeschrittener Modelle mit höheren Basislatenzen, da die progressive Darstellung die Auswirkungen längerer Verarbeitungszeiten abschwächt.
Erweitern Sie Ihren Chatbot
Wenn die Komplexität des Chatbots zunimmt, kann sich die Anwendungsarchitektur mit ihm weiterentwickeln. Bevor Sie der Architektur weitere Schichten hinzufügen, sollten Sie die folgenden einfacheren Optionen in Betracht ziehen:
- Stellen Sie sicher, dass Sie die Hinweise optimal nutzen und mit der Hinweistechnik optimieren. Nutzen Sie unser Tip Engineering Leitfaden Schreiben Sie die wirksamsten Tipps.
- Andere zur Eingabeaufforderung hinzufügen Artefakt (die Folgendes umfassen können Queue-Kette), um zu sehen, ob die gewünschte Funktion erreicht werden kann.
Wenn Ihr Chatbot sehr unterschiedliche Aufgaben bearbeitet, sollten Sie in Erwägung ziehen, eine Getrennte Absichtsklassifikatoren zur Weiterleitung der ersten Kundenanfrage. Bei bestehenden Anwendungen würde dies bedeuten, dass ein Entscheidungsbaum erstellt wird, der Kundenanfragen über Klassifikatoren an spezialisierte Dialoge weiterleitet (jeder mit seinen eigenen Tools und Systemaufforderungen). Beachten Sie, dass dieser Ansatz einen zusätzlichen Aufruf an Claude erfordert, was die Latenzzeit erhöhen kann.
Integration von Claude in Support-Workflows
Während sich unsere Beispiele auf Python-Funktionen konzentrieren, die in einer Streamlit-Umgebung aufgerufen werden können, erfordert der Einsatz von Claude zur Echtzeit-Unterstützung von Chatbot einen API-Dienst.
Sie können dies tun:
- Erstellen Sie einen API-Wrapper: Entwickeln Sie einen einfachen API-Wrapper für Ihre klassifizierten Funktionen. Sie können zum Beispiel die Flask-API oder Fast-API verwenden, um Ihren Code als HTTP-Dienst zu verpacken. Dieser HTTP-Dienst kann Benutzereingaben entgegennehmen und eine vollständige Antwort des Assistenten zurückgeben. Der Dienst kann also die folgenden Eigenschaften haben:
- Server-Sent Events (SSE): SSE ermöglicht das Streaming von Antworten in Echtzeit zwischen dem Server und dem Client. Dies ist entscheidend für ein reibungsloses, interaktives Erlebnis bei der Verwendung von LLM.
- Zwischenspeicherung: Die Implementierung der Zwischenspeicherung kann die Reaktionsfähigkeit erheblich verbessern und unnötige API-Aufrufe reduzieren.
- Beibehaltung des Kontexts: Die Beibehaltung des Kontexts ist wichtig für die Kontinuität des Dialogs, wenn der Benutzer weg- und zurücknavigiert.
- Aufbau der Webschnittstelle: Implementierung einer benutzerfreundlichen Web-UI für die Interaktion mit Claude-gesteuerten Agenten.