Verbesserung der Fähigkeit von ChatGPT, mehrdeutige Prompts zu verstehen
Dieser Artikel wurde ursprünglich in The New Stack veröffentlicht und wird hier mit Genehmigung erneut veröffentlicht.
Prompt-Engineering-Technik hilft großen Sprachmodellen (LLMs), Pronomen und andere komplexe Koreferenzen in Retrieval-Augmented-Generation-(RAG-)Systemen zu verarbeiten.
Im sich ständig erweiternden Bereich der KI treiben große Sprachmodelle (LLMs) wie ChatGPT innovative Forschung und Anwendungen mit beispielloser Geschwindigkeit voran. Eine bedeutende Entwicklung ist das Aufkommen von Retrieval Augmented Generation (RAG). Diese Technik kombiniert die Leistungsfähigkeit von LLMs mit einer Vektordatenbank, die als Langzeitgedächtnis fungiert, um die Genauigkeit generierter Antworten zu verbessern. Eine beispielhafte Ausprägung des RAG-Ansatzes ist das Open-Source-Projekt Akcio, das ein robustes Frage-Antwort-System bietet.
Akcios Architektur
In Akcios Architektur wird domänenspezifisches Wissen mithilfe eines Data Loaders nahtlos in einen Vector Store wie Milvus oder Zilliz (vollständig verwaltetes Milvus) integriert. Der Vector Store ruft die Top-K-relevantesten Ergebnisse für die Anfrage des Nutzers ab und übermittelt sie an das LLM, wodurch das LLM Kontext zur Frage des Nutzers erhält. Anschließend verfeinert das LLM seine Antworten auf Grundlage des externen Wissens.
Wenn ein Nutzer beispielsweise „Was sind die Anwendungsfälle großer Sprachmodelle im Jahr 2023?“ zu einem Artikel mit dem Titel „Insights Report on the Progress of Large Language Models in 2023“ fragt, der in Akcio importiert wurde, ruft das System geschickt die drei relevantesten Passagen aus dem Bericht ab:
1. Im Jahr 2023 lassen sich die LLM-Anwendungsfälle in zwei Kategorien einteilen: generative KI und Entscheidungsfindung. Für Entscheidungsszenarien wird ein höherer Geschäftswert erwartet.
2. Das Szenario der generativen KI umfasst hauptsächlich Dialoginteraktion, Codeentwicklung, intelligente Agenten usw.
3. NLP-Anwendungen umfassen Textklassifizierung, maschinelle Übersetzung, Stimmungsanalyse, automatische Zusammenfassung usw.
Akcio kombiniert diese Passagen mit der ursprünglichen Anfrage und leitet sie an das LLM weiter, wodurch eine differenzierte und präzise Antwort generiert wird:
Die Anwendungsszenarien der Large-Model-Industrie lassen sich in Generierungs- und Entscheidungsszenarien unterteilen.
Die Herausforderung der Koreferenzauflösung in RAG
Trotz der erzielten Fortschritte bringt die Implementierung von RAG-Systemen jedoch Herausforderungen mit sich, insbesondere in mehrstufigen Gesprächen mit Koreferenzauflösung. Betrachten Sie diese Abfolge von Fragen:
F1: Was sind die Anwendungsfälle des großen Sprachmodells im Jahr 2023?
A1: Die Anwendungsfälle großer Sprachmodelle lassen sich in generative KI und Entscheidungsfindung einteilen.
F2: Worin unterscheiden sie sich, und können Sie Beispiele nennen?
Das Pronomen „sie“ in F2 bezieht sich auf „generative KI und Entscheidungsfindung“. Dennoch könnte das LLM irrelevante Ergebnisse zu dieser Frage generieren, die die Kohärenz des Gesprächs untergraben:
1. BERT und GPT sind wichtige Modelle im Bereich NLP, weisen jedoch erhebliche Unterschiede in ihrem Design und ihren Anwendungsszenarien auf.
2. Der Unterschied zwischen großen Modellen und kleinen Modellen liegt in ihrem Umfang und ihrer Komplexität. Große Modelle haben in der Regel mehr Parameter und komplexere Strukturen, wodurch sie mehr Rechenressourcen und Zeit für Training und Inferenz benötigen. Kleine Modelle hingegen sind relativ einfach, mit weniger Parametern und schnelleren Trainings- und Inferenzgeschwindigkeiten.
3. Es gibt jedoch keine zusätzlichen Informationen, um zwischen diesen beiden Produkten zu unterscheiden, da sie sehr ähnlich erscheinen.
Verwendung von ChatGPT für Koreferenzauflösung
Traditionelle Methoden wie Tokenisierung, Lemmatisierung und Schlüsselwortersetzung mithilfe rekurrenter neuronaler Netze sind oft unzureichend, um komplexe Referenzen aufzulösen. Daher haben sich Forschende LLMs wie ChatGPT für Aufgaben der Koreferenzauflösung zugewandt. Dieser Ansatz besteht darin, ChatGPT anzuweisen, Pronomen zu ersetzen oder die ursprüngliche Frage basierend auf dem bereitgestellten Kontext beizubehalten. Obwohl diese Methode vielversprechend ist, erzeugt sie gelegentlich direkte Antworten, anstatt den Prompt-Anweisungen zu folgen, was auf die Notwendigkeit einer verfeinerten Strategie hinweist.
Getestete Beispiele
Wir experimentierten mit einfachen Befehlen, die ChatGPT dazu aufforderten, Pronomen mithilfe des folgenden Prompt-Formats zu ersetzen:
prompt = f'''Bitte generiere eine neue Frage unter Einhaltung der folgenden Richtlinien:
1. Ergänze fehlende Pronomen oder Bedingungen in der Frage basierend auf dem Kontext.
2. Behalte die ursprüngliche Frage bei, wenn sie bereits vollständig ist.
{history}
Frage: {question}'''
Beispiel 1
Abfrage:
history = ''' Was ist NLP?
NLP steht für Natural Language Processing. Es ist ein Bereich der Informatik und der künstlichen Intelligenz, der sich auf die Interaktion zwischen Computern und Menschen mithilfe natürlicher Sprache konzentriert. '''
question = 'Welches Problem löst es?'
Antwort von ChatGPT:
Welches Problem löst Natural Language Processing (NLP)?
In diesem Fall hat ChatGPT hervorragende Arbeit geleistet, indem es „es“ durch „Natural Language Processing (NLP)“ ersetzt hat.
Beispiel 2
Abfrage:
history = '''Wann wurde GPT4 veröffentlicht?
GPT4 wurde 2023 veröffentlicht'''
question = 'Welche Fortschritte wurden dieses Jahr in der Computer Vision erzielt?'
Antwort von ChatGPT:
Welche Fortschritte wurden dieses Jahr in der Computer Vision erzielt?
In diesem Fall hatte ChatGPT Schwierigkeiten damit, „dieses Jahr“ zu ersetzen, was zu einer unvollständigen Auflösung führte.
Beispiel 3
Abfrage:
history = '''Was ist GPT3?
GPT-3 (Generative Pre-trained Transformer 3) ist ein hochmodernes Sprachverarbeitungsmodell, das von OpenAI entwickelt wurde.
Wann wurde GPT4 veröffentlicht?
GPT4 wurde 2023 veröffentlicht'''
question = 'Was ist der Unterschied zwischen ihnen? Welche Vorteile hat Letzteres?'
Antwort von ChatGPT:
Entschuldigung, die bereitgestellte Information zum Veröffentlichungsdatum von GPT-4 ist nicht korrekt, da es von OpenAI nicht offiziell angekündigt wurde. Daher ist es nicht möglich, die Frage nach dem Unterschied zwischen GPT-3 und GPT-4 oder den Vorteilen des Letzteren zu beantworten.
Leider weicht ChatGPT von den Anweisungen ab, möglicherweise aufgrund seines komplexen Entscheidungsprozesses. Trotz unserer Bemühungen, den Prompt zu verstärken, tendiert ChatGPT gelegentlich zu direkten Antworten, was die Aufgabe der Koreferenzauflösung erschwert.
Few-Shot-Prompt mit Chain of Thought: ein verfeinerter Ansatz
Prompt Engineering spielt eine entscheidende Rolle bei der effektiven Nutzung von LLMs. Wir beschlossen, die Kombination von Few-Shot-Prompts mit der Chain of Thought (CoT)-Methode als vielversprechende Strategie zu testen. Few-Shot-Prompts präsentieren LLMs mehrere Referenzbeispiele und leiten sie an, diese Beispiele in ihren Antworten nachzuahmen. CoT verbessert die Leistung von LLMs bei komplexen Schlussfolgerungsaufgaben, indem es schrittweises Denken in ihren Antworten fördert.
Durch die Integration dieser Techniken haben wir ein Prompt-Format entwickelt, um ChatGPT durch die Koreferenzauflösung zu führen. Das überarbeitete Prompt-Format umfasst einen leeren Gesprächsverlauf, grundlegende Beispiele, fehlgeschlagene Pronomenersetzungen und Fälle mit mehreren Pronomen, um ChatGPT explizitere Anweisungen und Referenzbeispiele zu bieten. Instanzen, in denen ChatGPT NEED COREFERENCE RESOLUTION: Yes zurückgibt, sind entscheidend, da sie darauf hinweisen, dass ChatGPT Pronomen oder mehrdeutige Referenzen ersetzen muss, um eine kohärente Antwort zu geben.
Hier ist ein verfeinertes Prompt-Format:
REWRITE_TEMP = f'''
HISTORY:
[]
NOW QUESTION: Hello, how are you?
NEED COREFERENCE RESOLUTION: No => THOUGHT: Consequently, the output question mirrors the current query. => OUTPUT QUESTION: Hello, how are you?
-------------------
HISTORY:
[Q: Is Milvus a vector database?
A: Yes, Milvus is a vector database.]
NOW QUESTION: How to use it?
NEED COREFERENCE RESOLUTION: Yes => THOUGHT: I must substitute 'it' with 'Milvus' in the current question. => OUTPUT QUESTION: How to use Milvus?
-------------------
HISTORY:
[]
NOW QUESTION: What are its features?
NEED COREFERENCE RESOLUTION: Yes => THOUGHT: Although 'it' requires substitution, there's no suitable reference in the history. Thus, the output question remains unchanged. => OUTPUT QUESTION: What are its features?
-------------------
HISTORY:
[Q: What is PyTorch?
A: PyTorch is an open-source machine learning library for Python. It provides a flexible and efficient framework for building and training deep neural networks.
Q: What is Tensorflow?
A: TensorFlow is an open-source machine learning framework. It provides a comprehensive set of tools, libraries, and resources for building and deploying machine learning models.]
NOW QUESTION: What is the difference between them?
NEED COREFERENCE RESOLUTION: Yes => THOUGHT: 'Them' should be replaced with 'PyTorch and Tensorflow' in the current question. => OUTPUT QUESTION: What is the difference between PyTorch and Tensorflow?
-------------------
HISTORY:
[{history}]
NOW QUESTION: {question}
NEED COREFERENCE RESOLUTION: '''
Getestete Beispiele und verfeinerte Antworten
Hier sind einige Ergebnisse aus unseren Experimenten mit verfeinerten Prompts:
Beispiel 1
Abfrage:
history = '''When was GPT-4 released?
GPT-4 was released in 2023'''
question = 'What progress has been made in computer vision this year?'
Verfeinerte Antwort von ChatGPT:
Yes => THOUGHT: I need to replace "this year" with "2023" in the now question. => OUTPUT QUESTION: What progress has been made in computer vision in 2023?
Beispiel 2:
Abfrage:
history = '''What is GPT-3?
GPT-3 (Generative Pre-trained Transformer 3) is a state-of-the-art language processing model developed by OpenAI.
When was GPT-4 released?
GPT-4 was released in 2023'''
question = 'What is the difference between the two? What are the advantages of the latter?'
Verfeinerte Antwort von ChatGPT:
Yes => THOUGHT: I need to replace 'the two' with 'GPT-3 and GPT-4' and 'the latter' with 'GPT-4' in the now question. => OUTPUT QUESTION: What is the difference between GPT-3 and GPT-4? What are the advantages of GPT-4?
Das verfeinerte Prompt-Format verbessert die Fähigkeit von ChatGPT, komplexe Aufgaben der Koreferenzauflösung zu bewältigen, erheblich. Fragen mit mehreren Entitäten, die zuvor Herausforderungen darstellten, werden nun effektiv behandelt. ChatGPT ersetzt Pronomen und mehrdeutige Referenzen geschickt und liefert genaue sowie kontextuell relevante Antworten.
Fazit
Prompt Engineering spielt eine zentrale Rolle bei der Lösung von Koreferenzproblemen in RAG -Systemen mithilfe von LLMs. Durch die Integration innovativer Techniken wie Few-Shot-Prompts und CoT-Methoden haben wir die Handhabung komplexer Referenzen in RAG-Systemen erheblich verbessert, sodass LLMs wie ChatGPT Pronomen und mehrdeutige Referenzen präzise ersetzen können, was zu kohärenten Antworten führt.
Weiterlesen

Zilliz Cloud Delivers Better Performance and Lower Costs with Arm Neoverse-based AWS Graviton
Zilliz Cloud adopts Arm-based AWS Graviton3 CPUs to cut costs, speed up AI vector search, and power billion-scale RAG and semantic search workloads.

Zilliz Named "Highest Performer" and "Easiest to Use" in G2's Summer 2025 Grid® Report for Vector Databases
Zilliz shines in G2's Summer 2025 Grid® Report as both "Highest Performer" and "Easiest to Use," solving the performance-usability dilemma.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.



