Download src/prompts.py from lenox-ai/prototype: direct link, hf CLI and curl.
- Browser
- Download file 8.92 kB
-
https://huggingface.co/spaces/lenox-ai/prototype/resolve/main/src/prompts.py
- Command line
-
hf download hf://spaces/lenox-ai/prototype/src/prompts.py
-
curl -L -o prompts.py https://huggingface.co/spaces/lenox-ai/prototype/resolve/main/src/prompts.py
8.92 kB
| from langchain.prompts.prompt import PromptTemplate | |
| ######################################### | |
| ###### SUMMARIZATION CHAIN PROMPTS ###### | |
| ######################################### | |
| prompts = { | |
| ############## SHORT DE | |
| "short_de": { | |
| ##### SHORT MAP | |
| "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: | |
| """, | |
| ), | |
| ##### SHORT COMBINE | |
| "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 | |
| "middle_de": { | |
| ##### SHORT MAP | |
| "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: | |
| """, | |
| ), | |
| ##### SHORT COMBINE | |
| "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 | |
| "long_de": { | |
| ##### SHORT MAP | |
| "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: | |
| """, | |
| ), | |
| ##### SHORT COMBINE | |
| "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: | |
| """, | |
| ), | |
| }, | |
| } | |
| ######################################### | |
| #### PARALLEL SUMMARIZATION PROMPTS ##### | |
| ######################################### | |
| 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: | |
| """, | |
| ), | |
| ##### SHORT COMBINE | |
| "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: | |
| """, | |
| ), | |
| } | |