Angesichts der Tatsache, dass viele auf den gesunden Menschenverstand zu verwenden Wissensgraphen zur Verbesserung der Recall-Rate oder als Langzeitspeicher Freunde nicht verstehen, die Wissensgraphen Bauweise in der Ära des großen Modells, hier ist eine einfache Popularisierung des gesunden Menschenverstandes, und die tatsächliche Konstruktion wird mehr Unterschiede haben.
In der Tat ist der Wissensgraph gelinde gesagt einfach, und das große Modell ist für drei Hauptblöcke in seinem Prozess verantwortlich: die Extraktion von Beziehungen, die Konstruktion von Abfragen und die Beantwortung von Fragen.
Tatsächlich gibt es noch viele weitere Details, wie das folgende Beispiel zeigt: (Optimierung des Zwischenabfrageprozesses)
Wissensgraphen-Stichwortkonstruktion
# Schritt 1: Aufforderungen zur Problemanalyse FRAGE_ANALYSE_AUFFORDERUNG = """ Sie sind ein Experte für die Analyse von Suchanfragen. Ihre Aufgabe ist es, die gegebene Frage zu analysieren und die wichtigsten Suchbegriffe zu extrahieren. Eingabe Frage: {query} Befolgen Sie diese Schritte. 1) Identifizieren Sie die wichtigsten Entitäten (Substantive, Eigennamen) 2. wichtige Attribute extrahieren (Adjektive, Deskriptoren) 3) Identifizieren Sie Beziehungsindikatoren (Verben, Präpositionen) 4) Notieren Sie alle zeitlichen oder konditionalen Begriffe Formatieren Sie Ihre Ausgabe als. { "main_entities": ["entity1", "entity2"...], ["entity1", "entity2"...], ["entity1", "entity2"...] ["entity1", "entity2"...] ] , "Attribute": ["attr1", "attr2"...] . , "Attribute": ["attr1", "attr2"...] , "Attribute": ["attr2"...] "Beziehungen": ["rel1", "rel2"...] . , "Bedingungen": ["cond1", "cond2"...] , "Bedingungen": ["cond1", "cond2"...] "Bedingungen": ["cond1", "cond2"...] . } Stellen Sie sicher, dass jeder Begriff. - Spezifisch und relevant - in seiner Basis-/Wurzelform - Ohne Duplikate Beispiele. F: "Wer hat die Programmiersprache Python erfunden?" { "main_entities": ["Python", "Programmiersprache"], "attributes": ["created"], { "conditions": [] } """ # Schritt 2: Aufforderungen zur Synonymerweiterung SYNONYM_EXPANSION_PROMPT = """ Sie sind ein Experte für Synonymerweiterung. Ihre Aufgabe ist es, jeden Begriff mit relevanten Alternativen zu erweitern. Eingabe Begriffe: {terms} Geben Sie für jeden Begriff an. 1. genaue Synonyme 2. verwandte Begriffe 3. übliche Variationen 4 Abkürzungen/Akronyme 5. vollständige Formen 6. häufige Rechtschreibfehler Regeln: Einschließlich branchenüblicher Terminologie. - Industriestandard-Terminologie einbeziehen - Berücksichtigung verschiedener Namenskonventionen - Formelle und informelle Begriffe einbeziehen - Wahrung der semantischen Äquivalenz Formatieren Sie Ihre Ausgabe als. { "term": { "term": { "term": { "term": { "Begriff": { "Synonyme": ["syn1", "syn2"...] ["variations": ["var2"...]. "Variationen": ["var1", "var2"...] . , "Variationen": ["var1", "var2"...] , "Variationen": ["var2"...] "abbreviations": ["abbr1", "abbr2"...] . , "related_terms": ["var1"...] , "abbreviations": ["abbr1", "abbr2"...] , "var2". "related_terms": ["rel1", "rel2"...] . } } Beispiel. Eingabe: "Python" { "Python": { "related_terms": ["CPython", "Jython", "IronPython"] } } """ # Schritt 3: Abfrage des Wortes "build prompt QUERY_CONSTRUCTION_PROMPT = """ Sie sind Experte für die Erstellung von Graphdatenbankabfragen. Ihre Aufgabe ist es, ein optimiertes Suchmuster zu erstellen. Ihre Aufgabe ist es, ein optimiertes Suchmuster zu erstellen. - Primäre Begriffe: {primary_terms} - Erweiterte Begriffe: {expanded_terms} - Beziehungen: {relationships} Erzeugen Sie ein Suchmuster, das: 1. 1. exakten Übereinstimmungen Vorrang einräumt 2. synonyme Übereinstimmungen einbezieht 3. die Beziehungsmuster berücksichtigt 4. mit Variationen in der Terminologie umgeht Regeln: Beginnen Sie mit den spezifischsten Begriffen. - Beginnen Sie mit den spezifischsten Begriffen - Alle relevanten Beziehungen einbeziehen - Berücksichtigen Sie bidirektionale Beziehungen - Pfadlänge angemessen begrenzen Formatieren Sie Ihre Ausgabe wie folgt. [exact_match_patterns]: ["muster1", "muster2". "exact_match_patterns": ["pattern1", "pattern2"...]] ["muster1": "muster2"...]. "fuzzy_match_patterns": ["pattern1", "pattern2"...] . ["muster1"...] , "fuzzy_match_patterns": ["muster1", "muster2"...] . "relationship_patterns": ["pattern1", "pattern2"...] . , "relationship_patterns": ["pattern1", "pattern2"...] , "relationship_patterns": ["pattern1", "pattern2"...] "priority_order": ["hoch", "mittel", "niedrig"] } Beispiel. { "fuzzy_match_patterns": ["MATCH (n) WHERE n.name =~ '(?i). *python.*'"], "relationship_patterns": ["MATCH (creator)-[:CREATED]->(lang)", "MATCH (lang)-[:TYPE_OF]->(prog_lang)"], "priority_order": ["exact_name_match", "fuzzy_name_match", "relationship_match"] } """ # Schritt 4: Wort für die Aufforderung zur Ergebnisbewertung RESULT_RANKING_PROMPT = """ Sie sind Experte für das Ranking und die Ordnung von Suchergebnissen. Ihre Aufgabe ist es, die abgerufenen Treffer zu bewerten und zu ordnen. Eingabeergebnisse: {query_results} Ursprüngliche Abfrage: {original_query} Ranking-Kriterien. 1. die Relevanz für die ursprüngliche Anfrage 2. die Qualität der Übereinstimmung (exakt vs. teilweise) 3. der Abstand der Beziehungen 4. die Vollständigkeit der Informationen 5. die Zuverlässigkeit der Quelle Bewerten Sie jedes Ergebnis nach. - Relevanz (0-10) - Vertrauenswürdigkeit (0-10) - Vollständigkeit (0-10) - Strafe für Pfadlänge (-1 pro Hop) Formatieren Sie Ihre Ausgabe als. { "ranked_results": [ { "result": "result_content", "completeness_score": Punktzahl, "final_score": Punktzahl "final_score": score, "argumentation". "argumentation": "erklärung" } ], "summary": { "summary": { "reasoning": "explanation" } "summary": { "total_results": Zahl, "total_results": Zahl, "high_confidence_count": Zahl, "high_confidence_count": Zahl "high_confidence_count": Zahl, "average_score": Zahl, "high_confidence_count": Zahl "durchschnittlicher_score": Zahl } } """
Anhand der obigen Stichworte wird deutlich, dass der Zwischenprozess der Erstellung eines Wissensgraphen eine Menge Details enthalten kann, mit denen man umgehen muss. Die oben genannten Sinneseindrücke sind nicht offensichtlich und das folgende Beispiel soll als Referenz dienen.
Eingabe und Ausgabe von Wissensgrapheninhalten
Schritt 1: Problemanalyse
Eingabe.
{
"Abfrage": "Welche Deep-Learning-Frameworks hat Google entwickelt?"
}
Ausgabe.
{
"main_entities": ["Google"., "Deep Learning Framework"],
"Attribute": ["Entwicklung"],
"Beziehungen": ["Entwicklung", "Erstellen", "Wartung"],
"Bedingungen": []
}
Schritt 2: Erweiterung der Synonyme
Eingabe.
{
"Bedingungen": ["Google"., "Deep Learning Framework"]
}
Ausgabe.
{
"Google".: {
"Synonyme": ["Google LLC", "Google Inc.", "Google Corporation"],
"Variationen": ["google", "GOOGLE"],
"Abkürzungen": ["GOOG"],
"verwandte_Begriffe": ["Alphabet Inc.", "Google AI"., "Google Research"]
},
"Deep Learning Framework": {
"Synonyme": ["Deep Learning Bibliothek", "Neuronales Netzwerk Rahmen"],
"Variationen": ["DL-Rahmen", "Plattform für tiefes Lernen"],
"Abkürzungen": ["DL-Rahmen", "DNN-Framework"],
"verwandte_Begriffe": ["Rahmen für maschinelles Lernen"., "AI-Rahmen", "Bibliothek für neuronale Netze"]
}
}
Schritt 3: Abfragekonstruktion
Eingabe.
{
"primary_terms": ["Google"., "Deep Learning Framework"],
"expanded_terms": [
"Google"., "Google LLC", "Google Inc.", "Google AI".,
"Deep Learning Framework", "Deep Learning Bibliothek", "Neuronales Netzwerk Rahmen"
],
"Beziehungen": ["Entwicklung", "Erstellen", "Wartung"]
}
Ausgabe.
{
"exakte_Übereinstimmungsmuster": [
"MATCH (org:Organisation {Name: 'Google'})",
"MATCH (framework:Framework {type: 'deep_learning'})"
],
"unscharfe_Übereinstimmungsmuster": [
"MATCH (org) WHERE org.name =~ '(?i). *google.*'",
"MATCH (framework) WHERE framework.type =~ '(?i). *(deep learning|neural network). *'"
],
"beziehungs_muster": [
"MATCH (org)-[:DEVELOPED]->(framework)",
"MATCH (org)-[:CREATED]->(framework)",
"MATCH (org)-[:MAINTAINS]->(framework)",
"MATCH (framework)-[:DEVELOPED_BY]->(org)"
],
"vorrangige_Reihenfolge": [
"genaue_Organisation_übereinstimmen",
"exact_framework_match",
"relationship_match",
"fuzzy_framework_match".
]
}
Schritt 4: Ergebnisse sortieren
Eingabe.
{
"abfrage_ergebnisse": [
{
"org": "Google".,
"Rahmen": "TensorFlow".,
"Beziehung": "Entwicklung",
"Jahr": "2015"
},
{
"org": "Google".,
"Rahmen": "JAX",
"Beziehung": "Entwicklung",
"Jahr": "2018"
}
],
"original_query": "Welche Deep-Learning-Frameworks hat Google entwickelt?"
}
Ausgabe.
{
"rangierte_Ergebnisse": [
{
"Ergebnis": "Google entwickelte TensorFlow, ein beliebtes Deep-Learning-Framework".,
"relevant_score": 10.0,
"confidence_score": 9.5,
"vollständigkeit_score": 9.0,
"final_score": 9.5,
"Argumentation": "Einfache Antwort mit hohem Vertrauen - TensorFlow ist Googles primäres Deep Learning Framework".
},
{
"Ergebnis": "Google entwickelt JAX, ein Deep Learning Framework".,
"relevant_score": 9.0,
"confidence_score": 8.5,
"vollständigkeit_score": 8.0,
"final_score": 8.5,
"Argumentation": "Relevant, aber weniger bekannt als TensorFlow"
}
],
"Zusammenfassung": {
"total_results": 2,
"high_confidence_count": 2,
"durchschnitt_score": 9.0
}
}
Endgültige kombinierte Abfrage (Cypher).
// 1. zunächst die Beziehung zwischen der Organisation und dem Rahmen abgleichen
MATCH (org:Organisation)-[r:DEVELOPED|CREATED|MAINTAINS]->(framework:Framework)
WHERE org.name =~ '(?i). *google.*'
AND framework.type =~ '(?i). *(deep learning|neural network). *'
// 2. speichert die Zwischenergebnisse
WITH org, framework, r
// 3. den kürzesten Pfad finden
MATCH p = kürzesterPfad((org)-[*1..2]-(framework))
// 4. gibt die Pfade zurück und sortiert sie nach Beliebtheit
RETURN p
ORDER BY framework.popularity DESC
LIMIT 10
Endgültige Antwort:Google hat mehrere Deep-Learning-Frameworks entwickelt," +"Die bekanntesten sind TensorFlow (2015) und JAX (2018)." +TensorFlow ist ihr wichtigstes Framework und das am häufigsten verwendete.
Der oben beschriebene Implementierungsprozess ist auch nicht vollständig, es wird empfohlen, ein komplettes Projekt für die Analyse zu zerlegen, Llamaindex ist eine gute Wahl. Im Folgenden finden Sie eine Sammlung von Beispielen für Stichwörter, damit Sie ein Gefühl dafür bekommen.
Beispiele für Knowledge Graph Cue Words
Extraktion von Entity-Beziehungen
SYSTEM: Sie sind ein Experte für die Extraktion von Wissens-Tripeln. Ihre Aufgabe ist es, Entitäten und ihre Beziehungen aus einem gegebenen Text zu identifizieren. Erzeugen Sie für jeden Text eine Wissenstriade in folgendem Format: (Subjekt, Beziehung, Objekt) Regeln: 1. Das Subjekt und das Objekt müssen konkrete Entitäten sein 2. Relation sollte ein klares und präzises Prädikat sein; 3. 3. jedes Tripel sollte eine einzelne, faktenbasierte Aussage darstellen 4. Vermeiden Sie verallgemeinerte oder zweideutige Beziehungen 5. Konsistenz bei der Benennung von Entitäten wahren Eingabetext: {text_chunk} Extrahieren Sie die Wissens-Tripel aus dem obigen Text. Formatieren Sie jede Triade als: (Entität1) -> [Beziehung] -> (Entität2)
Hinweis: Um Entitätsbeziehungen nach ihrer eigenen Branche zu aggregieren, ist die Extraktion des Entitätsbeziehungsdesigns komplex, daher wird hier nur die grundlegende Vorlage bereitgestellt.
Problemanalyse Stichwörter
Sie sind ein professioneller Experte für die Analyse von Anfragen. Ihre Aufgabe ist es, gegebene Fragen zu analysieren und Schlüsselkomponenten für die Wissensgraphen-Suche zu extrahieren. Eingabefrage: {query} Bitte befolgen Sie die folgenden Schritte sorgfältig: 1. extrahieren Sie Schlüsselentitäten: - Identifizieren Sie alle Schlüsselbegriffe (Substantive, Eigennamen, Fachbegriffe) - Listen Sie alle erwähnten spezifischen Attribute auf - Notieren Sie alle Werte oder Daten 2. Beziehungen identifizieren: - Identifizieren Sie Verben, die Beziehungen zwischen Entitäten aufzeigen - Identifizieren Sie Präpositionen, die Verbindungen aufzeigen - Notieren Sie alle impliziten Beziehungen 3. die Art der Abfrage erkennen: - Bestimmen Sie, ob es sich um eine der folgenden Arten handelt: * Faktische Abfragen * Relationale Abfragen * Vergleichsabfragen * Attributabfragen * Zeitleistenabfragen 4. extrahieren Sie Beschränkungen: - Zeitbeschränkungen - Ortsabhängige Einschränkungen - Bedingungseinschränkungen - Mengenbeschränkungen Bitte geben Sie die Ergebnisse Ihrer Analyse in folgendem Format aus: { "Entitäten": ["Entität1", "Entität2", ...] , "Attribute": ["Attribut1", "Attribut2", ...] , "Beziehungen": ["Beziehungen1", "Beziehungen2", ...] , "Attribute": ["Attribut1", "Attribut2", ...] "Beziehungen": ["Beziehung1", "Beziehung2", ...] . "query_type": "type_of_query", . "constraints": { "time": [], "ort": [], "condition": [], "quantity": [] } } Zur Erinnerung: - Identifizieren Sie Entitäten genau - Alle möglichen Terminologievarianten einbeziehen - Behalten Sie die technische Genauigkeit bei - Domänenspezifische Terminologie beibehalten
Sie sind ein professioneller Experte für die Analyse von Suchanfragen. Ihre Aufgabe ist es, vorgegebene Fragen zu analysieren und wichtige Suchbegriffe zu extrahieren. Frage eingeben: {query} Führen Sie die folgenden Schritte aus: 1. identifizieren Sie wichtige Entitäten (Substantive, Eigennamen) 2. Extrahieren wichtiger Attribute (Adjektive, Deskriptoren) 3. Identifizieren Sie Beziehungsindikatoren (Verben, Präpositionen) 4. Notieren Sie alle zeit- oder bedingungsbezogenen Begriffe Formatieren Sie die Ausgabe als: { "main_entities": ["entity1", "entity2"...] , "attributes": ["attr1", "attr2"...] . , "attributes": ["attr1", "attr2"...] , "attributes": ["attr2"...] "Beziehungen": ["rel1", "rel2"...] . , "Bedingungen": ["cond1", "cond2"...] , "Bedingungen": ["cond1", "cond2"...] "Bedingungen": ["cond1", "cond2"...] . } Stellen Sie sicher, dass jeder Begriff: - spezifisch und relevant - in der Basis-/Wurzelform steht - Keine Wiederholungen Beispiele: Frage: "Wer hat die Programmiersprache Python entwickelt?" { "main_entities": ["Python", "programmier_sprache"], "Bedingungen": [] }
Analysieren Sie die folgende Frage und extrahieren Sie Schlüsselbegriffe für die Suche: Frage: {Frage} Extrahieren: 1. Schlüsselentitäten 2. Schlüsselattribute 3. Beziehungsindikatoren Formatieren Sie Ihre Antwort in eine Liste von Schlüsselbegriffen.
Synonym Erweiterung Stichwort
Sie sind ein professionelles Synonym-Erweiterungssystem. Ihre Aufgabe ist es, eine umfassende Liste von Synonymen für die angegebenen Begriffe zu erstellen und dabei die technische Genauigkeit und die kontextuelle Integrität des Bereichs zu wahren. Geben Sie die Begriffe ein: {Begriffe} Bitte geben Sie für jeden Begriff Erweiterungen aus den folgenden Kategorien an: 1. genaue Synonyme: - Begriffe, die direkt äquivalent sind - Varianten mit identischen Bedeutungen 2. verwandte Begriffe: - Ein weiter gefasster Begriff - Spezifischere Begriffe - Verwandte Begriffe 3. Abkürzungen und alternative Formen: - Gängige Abkürzungen - Vollständige Form - Alternative Schreibweisen - Gebräuchliche falsche Schreibweisen 4. bereichsspezifische Varianten: - Technische Begriffe - Branchenspezifische Begriffe - Häufige Verwendung in verschiedenen Kontexten 5. Zusammengesetzte Begriffe: - Verwandte zusammengesetzte Begriffe - Varianten der Phrase - Gemeinsame Kombinationen Regeln: 1. Beibehaltung der semantischen Äquivalenz 2. technische Genauigkeit beibehalten 3. den Domänenkontext berücksichtigen 4. gemeinsame Varianten einbeziehen 5. relevante Fachbegriffe hinzufügen Gliedern Sie Ihre Antwort in folgendem Format: { "Begriff": { "exakte_Synonyme": [], "verwandte_Begriffe": [], "Abkürzungen": [], "compound_terms": [] } } Beispiel: Für den Begriff "Maschinelles Lernen": { "Maschinelles Lernen": { "exact_synonyms": ["ML", "machine learning"], { "machine_learning": { "machine_learning": { "related_terms": ["Künstliche Intelligenz", "Deep Learning"]. "Abkürzungen": ["ML", "M.L."], "domain_terms": ["Statistisches Lernen", "Maschinelles Lernen"], "compound_terms": ["Machine Learning Algorithms", "ML Models"] } }
Sie sind ein professionelles Synonym-Erweiterungssystem. Ihre Aufgabe ist es, für jeden Begriff relevante Alternativen zu erweitern. Begriff eingeben: {terms} Geben Sie für jeden Begriff an: 1. genaue Synonyme 2. verwandte Begriffe 3. gebräuchliche Varianten 4. Abkürzungen/Akronyme 5. vollständige Formen 6. häufige Rechtschreibfehler Regeln: - Branchenübliche Terminologie einbeziehen - Berücksichtigen Sie verschiedene Namenskonventionen - Formelle und informelle Begriffe einbeziehen - Wahrung der semantischen Äquivalenz Formatieren Sie die Ausgabe als: { "Begriff": { "synonyms": ["syn1", "syn2"...] [ "variations": [ "var1": [ "syn2"...] ] ] "Variationen": ["var1", "var2"...] . , "Variationen": ["var1", "var2"...] , "Variationen": ["var2"...] "abbreviations": ["abbr1", "abbr2"...] . , "related_terms": ["var1"...] , "abbreviations": ["abbr1", "abbr2"...] , "var2". "related_terms": ["rel1", "rel2"...] . } } Beispiel: Eingabe: "Python" { "Python": { "Varianten": ["Python", "Python3", "Python2"], "Abkürzungen". "related_terms": ["CPython", "Jython", "IronPython"] } }
Sie sind ein professionelles Synonym-Erweiterungssystem. Finden Sie Synonyme für jedes Wort in der Liste oder verwandte Wörter, die häufig verwendet werden, um auf das gleiche Wort zu verweisen: Hier sind einige Beispiele: - Ein Synonym für Palantir könnte Palantir technologies oder Palantir technologies inc sein. - Ein Synonym für Austin könnte Austin texas sein - Ein Synonym für Taylor swift könnte Taylor sein - Ein Synonym für Winter park könnte Winter park resort sein Format: {format_instructions} Text: {Schlüsselwörter}
Für jeden Schlüsselbegriff werden gängige alternative Ausdrücke angegeben: Begriff: {key_terms} Enthalten: - Gängige Abkürzungen - Vollständiger Name - Ähnliche Begriffe - Verwandte Begriffe
Anhaltspunkte für die Abfrage
Sie sind Experte für die Konstruktion von Wissensgraphenabfragen. Ihre Aufgabe ist es, ein strukturiertes Abfrageschema unter Verwendung der analysierten Begriffe und ihrer Erweiterungen zu erstellen. Eingabe: - Ursprüngliche Abfrage: {original_query} - Analysierte Komponenten: {analyzed_components} - Erweiterte Begriffe: {expanded_terms} Aktionsschritte: 1. konstruieren Sie das Hauptsuchmuster: Berücksichtigen Sie das Folgende: - Entitätsschema - Beziehungsmuster - Attribut-Beschränkungen - Pfadschema 2. Definieren Sie Suchprioritäten: Kategorisieren Sie die Suchelemente als: - Begriffe, die übereinstimmen müssen - Begriffe, die übereinstimmen sollten - Begriffe, die übereinstimmen sollten 3. Geben Sie die Beziehungstiefe an: Bestimmen Sie: - Direkte Beziehung (1-hop) - Indirekte Beziehung (2-hop) - Komplexer Pfad (Multi-Hop) 4. Beschränkungen festlegen: Einschließen: - Zeitfilterungsbedingungen - Typ-Bedingungen - Attribut-Bedingungen - Wertebereich Ausgabe Format: { "such_patterns": { "primary_entities": [], "sekundäre_Einträge": [], "relationships": [], "attributes": [] }, "priorities": { "must_match": [], "should_match": [], "attributes": [] }, "priorities": { "nice_to_match": [] }, "depth_config": { "direct_relations": [], "indirekte_Beziehungen": [], "complex_paths": [] }, "constraints": { "time_filters": [], "type_constraints": [], "property_conditions": [], "value_ranges": [] } } Beispiel: Für "Wer hat im Jahr 2020 zu TensorFlow beigetragen?" Für "Wer hat zu TensorFlow im Jahr 2020 beigetragen?": { "search_patterns": { "primary_entities": ["TensorFlow", "contributor"], { "search_patterns": { "search_patterns": { "relationships": ["contributed_to", "authored"], "attributes": ["date", "contribution_type"], ["date", "contribution_type"] }, "priorities": { "priorities": { "date", "contribution_type"] "priorities": { "should_match": ["contributor", "contribution"], { "nice_to_match": ["TensorFlow", "2020"], { "nice_to_match": ["commit_message", "pull_request_title"] } ... }
Sie sind Experte für die Erstellung von Graphdatenbankabfragen. Ihre Aufgabe ist es, ein optimiertes Suchschema zu erstellen. Eingabe. - Primäre Begriffe: {primary_terms} - Erweiterte Begriffe: {expanded_terms} - Beziehungen: {relationships} Generieren Sie ein Abfragemuster, das Folgendes erfordert: 1. bevorzugt exakte Ergebnisse abgleichen 2. den Abgleich von Synonymen einschließt 3. Beziehungsmuster berücksichtigen 4. Begriffsvarianten behandeln Regeln: - Beginnen Sie mit dem spezifischsten Begriff - Alle relevanten Beziehungen einbeziehen - Berücksichtigen Sie bidirektionale Beziehungen - Pfadlängen angemessen begrenzen Formatieren Sie die Ausgabe als: { "exact_match_patterns": ["pattern1", "pattern2"...] , "fuzzy_match_patterns": ["pattern1", "pattern2"...] ["muster1"...] , "fuzzy_match_patterns": ["muster1", "muster2"...] . "relationship_patterns": ["pattern1", "pattern2"...] . , "relationship_patterns": ["pattern1", "pattern2"...] , "relationship_patterns": ["pattern1", "pattern2"...] "priority_order": ["hoch", "mittel", "niedrig"] } Beispiel: { "exact_match_patterns": ["MATCH (n:Entität {Name: 'Python'})"], "MATCH (n:Sprache {Typ: 'Programmierung'})"], "fuzzy_match_patterns": ["MATCH (n) WHERE n.name =~ '(?i). *python.*'"], "relationship_patterns": ["MATCH (creator)-[:CREATED]->(lang)", "MATCH (lang)-[:TYPE_OF]->(prog_lang)"], "priority_order": ["exact_name_match", "fuzzy_name_match", "relationship_match"] }
Erstellen Sie ein Suchmuster mit erweiterten Begriffen: {expanded_terms} Erzeugen: 1. primären Suchbegriff 2. sekundäre Begriffe 3. Beziehungsschema
Gegeben sei die folgende Frage: {Abfrage} Extrahieren Sie Schlüsselkonzepte und erstellen Sie ein Suchmuster, um relevante Informationen im Wissensgraphen zu finden. Schlüssel-Konzepte: - Identifizierung der wichtigsten Entitäten - Identifizierung von Beziehungen von Interesse - Berücksichtigung ähnlicher Begriffe/Synonyme Das Suchmuster sollte Folgendes beinhalten: 1. die primären Entitäten, die gefunden werden sollen 2. die relevanten Beziehungen 3. alle Beschränkungen oder Bedingungen
Ergebnis Sortierhinweise
Sie sind ein Experte für das Sortieren und Einordnen von Suchergebnissen. Ihre Aufgabe ist es, die abgerufenen Ergebnisse zu bewerten und einzustufen. Eingabeergebnisse: {query_results} Ursprüngliche Abfrage: {original_query} Sortierkriterien: 1. Relevanz für die ursprüngliche Anfrage 2. Qualität der Übereinstimmung (exakt vs. teilweise) 3. Abstand der Beziehungen 4. Integrität der Informationen 5. Zuverlässigkeit der Quelle Bewerten Sie jedes Ergebnis: - Relevanz (0-10) - Vertraulichkeit (0-10) - Integrität (0-10) - Strafe für Pfadlänge (-1 pro Hop) Formatieren Sie die Ausgabe als: { "ranked_results": [ { "result": "result_content", "relevance_score": "score", "completeness_score": Punktzahl, "final_score": Punktzahl "final_score": score, "reasoning". "argumentation": "erklärung" } ], "summary": { "summary": { "reasoning": "explanation" } "summary": { "total_results": Zahl, "total_results": Zahl, "high_confidence_count": Zahl, "high_confidence_count": Zahl "high_confidence_count": Zahl, "average_score": Zahl, "high_confidence_count": Zahl "durchschnittlicher_score": Zahl } }
Ergebnisse Verarbeitung Antwort Frage Prompt Words
Sie sind ein Abfrageergebnisprozessor. Ihre Aufgabe ist es, die Ergebnisse von Knowledge-Graph-Abfragen zu verarbeiten und in kohärente Antworten zu formatieren. Eingabe: - {original_question} - Abfrageergebnisse: {query_results} - Kontextinformationen: {Kontext} Verarbeitungsschritte: 1. ergebnisse analysieren. Auswerten: - Vollständigkeit der Ergebnisse - Relevanz der Ergebnisse - Qualität der Ergebnisse - Abdeckung aller Aspekte des Problems 2. kombinierte Informationen. Kombiniert: - Direkt übereinstimmende Ergebnisse - Indirekte Beziehungen - Unterstützende Informationen - Kontextuelle Details 3. formatierte Antworten. Strukturierte Antworten beinhalten: - Zentrale Erkenntnisse - Unterstützende Details - Relevanter Kontext - Vertrauensebene 4. identifizieren Sie Informationslücken:. Aufzeichnen: - Fehlende Informationen - Aspekte der Unsicherheit - Mögliche nächste Schritte - Mögliche alternative Erklärungen Ausgabeformat: { "Antwort": { "main_response": "", "supporting_facts": [], "vertrauensniveau": "", "information_gaps": [] }, "metadata": { "quellen_verwendet": [], "ergebnis_qualität": "", "processing_notes": [] }, "follow_up": { "vorgeschlagene_Fragen": [], "klärung_benötigt": [], "additional_context": [] } } Leitlinien: - Präzision und Genauigkeit - Technische Korrektheit beibehalten - Den Grad des Vertrauens angeben - Dokumentieren Sie alle Unsicherheiten - Schlagen Sie bei Bedarf Folgefragen vor
Sie sind Experte für die Synthetisierung der Ergebnisse von Graphdatenbankabfragen in natürlichsprachliche Antworten. Eingaben. 1. ursprüngliche Frage: {original_question} 2. bewertete Ergebnisse: {ranked_results} 3. Abfrage-Metadaten: {abfrage_metadaten} Aufgabe: Erzeugen einer umfassenden Antwort. Erstelle eine umfassende Antwort, die: 1. die ursprüngliche Frage direkt beantworten 2. Informationen mit hoher Vertrauenswürdigkeit aus den sortierten Ergebnissen einbezieht 3. die sachliche Richtigkeit beibehält und die Quellen korrekt angibt Leitfaden. - Beginnen Sie mit den wichtigsten Informationen - Fügen Sie unterstützende Details ein, wenn das Vertrauen hoch ist - Geben Sie Unsicherheiten oder fehlende Informationen an - Behalten Sie einen klaren und prägnanten Stil bei - Verwenden Sie die korrekte Fachterminologie Formatieren Sie Ihre Antwort in der folgenden Form: { "main_answer": "Die wichtigste Antwort auf die Kernfrage", "unterstützende_Details": [ "zusätzliche_relevante_Fakten 1", "Zusätzliche_relevante_Fakten 2" "metadata": { "confidence_score": float, "source_count": ganzzahlig, "source_count": ganzzahlig, "source_count": ganzzahlig, "source_count": ganzzahlig "source_count": ganzzahlig, "information_completeness": float, "information_completeness": float "information_completeness": float }, { "query_coverage": "query_coverage": float "query_coverage": "Eine Erklärung, wie die verfügbaren Informationen die ursprüngliche Frage beantworten" } Beispielhafte Ausgabe. { "main_answer": "Google entwickelte TensorFlow als sein wichtigstes Deep-Learning-Framework und veröffentlichte es 2015." , "supporting_details": [ "Google entwickelte 2018 ein weiteres Deep-Learning-Framework, JAX.", "supporting_details":[ "Google entwickelte TensorFlow als sein primäres Deep-Learning-Framework und veröffentlichte es 2018. "TensorFlow hat sich zu einem der am häufigsten verwendeten Deep-Learning-Frameworks entwickelt." ],. "metadata": { "confidence_score": 9.5, "source_count": 2 "source_count": 2, "information_completeness". "information_completeness": 0.95 }, "query_coverage": "Die Abfrageergebnisse bieten umfassende Informationen über die Entwicklung der wichtigsten Deep-Learning-Frameworks von Google" }
Basierend auf den abgerufenen Informationen: {Kontext} Beantworten Sie die ursprüngliche Frage: {Anfrage} Geben Sie eine klare und prägnante Antwort, die Folgendes erfordert: 1. direkt auf die Frage zu antworten 2. nur die Informationen aus dem abgerufenen Inhalt verwenden 3. angeben, ob Informationen fehlen oder unsicher sind