| from langchain.prompts.prompt import PromptTemplate |
|
|
|
|
| |
| |
| |
|
|
| prompts = { |
| |
| "short_de": { |
| |
| "map_prompt": PromptTemplate( |
| input_variables=["text"], |
| template=""" |
| Schreiben Sie eine kurze aber präzise Zusammenfassung des folgenden Kontexts die die wichtigsten Punkte abdeckt. |
| Es muss die korrekte Seite aus der der Kontext stammt mit angegeben werden. Z.B. (siehe Seite ?). |
| |
| Kontext: |
| "{text}" |
| |
| Kurze Präzise Zusammenfassung mit Angabe der Seitenzahlen: |
| """, |
| ), |
| |
| "combine_prompt": PromptTemplate( |
| input_variables=["text"], |
| template=""" |
| Fasse das folgende Urteil, das durch dreifache Anführungszeichen begrenzt ist, kurz und präzise zusammen. |
| In der Überschrift von jedem Abschnitt muss die Seite angegeben werden. |
| |
| Die Zusammenfassung muss die folgenden Aufbaustruktur haben: |
| - Urteil (Siehe Seite X), |
| - Begründung (Siehe Seite X), |
| - Gesetzreferenzen (Siehe Seite X). |
| |
| Text: |
| ```{text}``` |
| |
| Stelle sicher, dass nach jedem Paragraphen die Seite angegeben ist. |
| Zusammenfassung als Email für einen Mandanten in 3 Paragraphen mit Angabe der Seitenzahlen: |
| """, |
| ), |
| }, |
| |
| "middle_de": { |
| |
| "map_prompt": PromptTemplate( |
| input_variables=["text"], |
| template=""" |
| Schreiben Sie eine präzise Zusammenfassung des folgenden Kontexts in mittlerer Länge die die wichtigsten Punkte abdeckt. |
| Es muss die korrekte Seite aus der der Kontext stammt mit angegeben werden. Z.B. (siehe Seite ?). |
| |
| Kontext: |
| "{text}" |
| |
| Zusammenfassung mit Angabe der Seitenzahlen: |
| """, |
| ), |
| |
| "combine_prompt": PromptTemplate( |
| input_variables=["text"], |
| template=""" |
| Fasse das folgende Urteil, das durch dreifache Anführungszeichen begrenzt ist, in mittlerer Länge zusammen. |
| In der Überschrift von jedem Abschnitt muss die Seite angegeben werden. |
| |
| Text: |
| ```{text}``` |
| |
| Die Zusammenfassung muss die folgenden Aufbaustruktur haben: |
| I. Einleitung () |
| 0. Darstellung des Rechtsproblems |
| |
| II. Die Entscheidung (Siehe Seite X) |
| 1. Angaben über das Urteil (Siehe Seite X) |
| (Urteil, Gericht, Datum, Aktenzeichen (AZ: ...), Fundstelle(n)) |
| |
| 2. Sachverhalt (Siehe Seite X) |
| (unter Rückgriff auf Instanzentscheidung) |
| |
| 3. Prozessgeschichte (Siehe Seite X) |
| |
| 4. Rechtsproblem (Siehe Seite X) |
| (das Problem des Falles ist genau herauszuarbeiten und im rechtlichen Kontext |
| zu verankern) |
| |
| 5. Lösung des Gerichts (Siehe Seite X) |
| |
| |
| Stelle sicher, dass nach jedem Paragraphen die Seite angegeben ist. |
| Die Teile der Zusammenfassung mit Angabe der Seitenzahlen: |
| """, |
| ), |
| }, |
| |
| "long_de": { |
| |
| "map_prompt": PromptTemplate( |
| input_variables=["text"], |
| template=""" |
| Schreiben Sie eine kurze aber ausführliche und präzise Zusammenfassung des folgenden Kontexts die die wichtigsten Punkte abdeckt. |
| Es muss die korrekte Seite aus der der Kontext stammt mit angegeben werden. Z.B. (siehe Seite ?). |
| |
| Kontext: |
| "{text}" |
| |
| Ausführliche präzise Zusammenfassung mit Angabe der Seitenzahlen: |
| """, |
| ), |
| |
| "combine_prompt": PromptTemplate( |
| input_variables=["text"], |
| template=""" |
| Fasse das folgende Urteil, das durch dreifache Anführungszeichen begrenzt ist, ausführlich zusammen. |
| In der Überschrift von jedem Abschnitt muss die Seite angegeben werden. |
| |
| Text: |
| ```{text}``` |
| |
| Die Zusammenfassung muss die folgenden Aufbaustruktur haben: |
| I. Einleitung |
| 1. Darstellung des Rechtsproblems (Siehe Seite X) |
| |
| II. Die Entscheidung (Siehe Seite X) |
| Urteil |
| |
| 2. Angaben über das Urteil (Siehe Seite X) |
| Gericht, Datum, Aktenzeichen (AZ: ...), Fundstelle(n) |
| |
| 3. Sachverhalt (unter Rückgriff auf Instanzentscheidung) (Siehe Seite X) |
| |
| 4. Prozessgeschichte (Siehe Seite X) |
| |
| 5. Rechtsproblem (Siehe Seite X) |
| (das Problem des Falles ist genau herauszuarbeiten und im rechtlichen Kontext |
| zu verankern) |
| |
| 6. Lösung des Gerichts (Siehe Seite X) |
| |
| III. Analyse (Siehe Seite X) |
| 7. Lösungsansätze zum Problem (Siehe Seite X) |
| (knappe, aber möglichst vollständige Übersicht der vertretenen Ansichten) |
| |
| 8. Analyse und Einordnung der Entscheidung (Siehe Seite X) |
| |
| 9. Bewertung und Kritik der Entscheidung (Siehe Seite X) |
| |
| 10. Eigener Lösungsvorschlag (Siehe Seite X) |
| |
| 11. Ausblick (Siehe Seite X) |
| |
| Stelle sicher, dass nach jedem Paragraphen die Seite angegeben ist. |
| Die Teile der Zusammenfassung mit Angabe der Seitenzahlen: |
| """, |
| ), |
| }, |
| } |
|
|
|
|
| |
| |
| |
| def get_template_parallel(name: str, headline: str, additional_text: str = ""): |
| base_multi = ( |
| "Schreibe, ein/e <KEY> des Urteils, das durch dreifache Anführungszeichen begrenzt ist, in maximal einem Paragraphen.\n" |
| "<ADDITIONAL_TEXT>\n" |
| 'Als Überschrift muss "<HEAD_LINE>" angegeben werden. \n' |
| "Es muss die korrekte Seite aus der der Kontext stammt mit angegeben werden. Z.B. (siehe Seite ?) \n" |
| "Urteil:\n" |
| "```{text}```\n" |
| "\n" |
| "\n\nText:\n" |
| ) |
| return ( |
| base_multi.replace("<KEY>", name) |
| .replace("<HEAD_LINE>", headline) |
| .replace("<ADDITIONAL_TEXT>", additional_text) |
| ) |
|
|
|
|
| prompts_parallel_summary = { |
| "intro": PromptTemplate( |
| input_variables=["text"], |
| template=get_template_parallel(name="Einleitung", headline="I. Einleitung"), |
| ), |
| "darstellung_des_rechtsproblems": PromptTemplate( |
| input_variables=["text"], |
| template=get_template_parallel( |
| name="Darstellung des Rechtsproblems", |
| headline="Darstellung des Rechtsproblems", |
| ), |
| ), |
| "angaben_ueber_das_urteil": PromptTemplate( |
| input_variables=["text"], |
| template=get_template_parallel( |
| name="Angaben über das Urteil", |
| headline="Angaben über das Urteil", |
| additional_text="Gib die folgenden Informationen an: Gericht, Datum, Aktenzeichen (AZ: ...), Fundstelle(n)", |
| ), |
| ), |
| "sachverhalt": PromptTemplate( |
| input_variables=["text"], |
| template=get_template_parallel( |
| name="Sachverhalt", |
| headline="Sachverhalt (unter Rückgriff auf Instanzentscheidung)", |
| additional_text=( |
| "Beziehe dich auf die Instanzentscheidung.\n" |
| "Es soll nur der Sachverhalt des Urteils wiedergegeben werden. Wenn das Urteil keinen Sachverhalt hat schreib: 'Keine Informationen zum Sachverhalt vorhanden'." |
| ), |
| ), |
| ), |
| "prozessgeschichte": PromptTemplate( |
| input_variables=["text"], |
| template=get_template_parallel( |
| name="Prozessgeschichte", headline="Prozessgeschichte" |
| ), |
| ), |
| "rechtsproblem": PromptTemplate( |
| input_variables=["text"], |
| template=get_template_parallel( |
| name="Rechtsproblem", |
| headline="Rechtsproblem", |
| additional_text="Das Problem des Falles ist genau herauszuarbeiten und im rechtlichen Kontext zu verankern.", |
| ), |
| ), |
| "loesung_des_gerichts": PromptTemplate( |
| input_variables=["text"], |
| template=get_template_parallel( |
| name="Lösung des Gerichts", headline="Lösung des Gerichts" |
| ), |
| ), |
| } |
|
|
| prompts_parallel_legal_implications = { |
| "map_prompt": PromptTemplate( |
| input_variables=["text"], |
| template=""" |
| Der folgende Kontext wird durch dreifache Anführungszeichen begrenzt. |
| |
| Kontext: |
| ```{text}``` |
| |
| Ein Anwalt berät einen Mandanten und möchte wissen, welche rechtlichen Implikationen der Kontext für sein Unternehmen hat. |
| Extrahiere alle wichtigen rechtlich relevanten Informationen. |
| Die rechtlich relevanten Informationen müssen zu 100% korrekt sein und schreib nur kurze präzise Stichpunkte! |
| Wenn keine rechtlich relevanten Informationen vorhanden sind, schreib: 'Keine rechtlich relevanten Informationen vorhanden.' |
| |
| Rechtlich relevante Informationen als Stichpunkte: |
| """, |
| ), |
| |
| "combine_prompt": PromptTemplate( |
| input_variables=["text"], |
| template=""" |
| Die folgenden rechtlich relvanten Fakten als Stichpunkte sind durch dreifache Anführungszeichen begrenzt. |
| |
| Rechlich relvanten Fakten: |
| ```{text}``` |
| |
| Schreibe einen rechtlich korrekten Text, der die rechtlich relvanten Fakten auflistet. |
| Schreibe zu jedem rechtlich relevantem Fakt einen kurzen Paragraphen mit sehr wenig Sätzen, der erklärt warum dies rechtlich relevant ist. |
| Der Text muss zu 100% korrekt sein! |
| |
| Rechtliche relevante Fakten mit kurzen Erklärungen: |
| """, |
| ), |
| } |
|
|