Download app.py from memn/cyclelist: direct link, hf CLI and curl.
- Browser
- Download file 2.17 kB
-
https://huggingface.co/spaces/memn/cyclelist/resolve/main/app.py
- Command line
-
hf download hf://spaces/memn/cyclelist/app.py
-
curl -L -o app.py https://huggingface.co/spaces/memn/cyclelist/resolve/main/app.py
2.17 kB
| import streamlit as st | |
| import PyPDF2 | |
| import re | |
| # PDF-Dokument laden und verarbeiten | |
| pdf_path = "Einsteiger Guide Leben im Einklang mit dem weiblichen Zyklus.pdf" | |
| pdf_reader = PyPDF2.PdfReader(pdf_path) | |
| chapter_text = "" | |
| capture = False | |
| for page_num in range(len(pdf_reader.pages)): | |
| page = pdf_reader.pages[page_num] | |
| page_text = page.extract_text() | |
| # Überprüfen, ob der aktuelle Text zum Kapitel "Einführung in die weibliche Anatomie" gehört | |
| if re.search(r"Einführung in die weibliche Anatomie", page_text): | |
| capture = True | |
| if capture: | |
| chapter_text += page_text | |
| if re.search(r"Der Menstruationszyklus", page_text): | |
| capture = False | |
| # Define the CSS style for the UI with a mobile-friendly design and centered content | |
| with open("static/css/styles.css") as f: | |
| st.markdown(f'<style>{f.read()}</style>', unsafe_allow_html=True) | |
| # Set title and subtitle | |
| st.title("Menstruationszyklus-Assistent") | |
| st.subheader("Ein Assistent für Frauen") | |
| # Kapitel 1 anzeigen | |
| st.subheader("Kapitel 1: Einführung in die weibliche Anatomie") | |
| # Zeige "Bitte warten"-Nachricht | |
| with st.spinner("Bitte warten..."): | |
| # Zeige die Informationen aus dem Kapitel | |
| st.write(chapter_text) | |
| # Fragen und Antworten | |
| st.subheader("Stellen Sie eine Frage zu Kapitel 1") | |
| question = st.text_input("Ihre Frage") | |
| def find_answer(question, chapter_text): | |
| # Einfache Suchfunktion, um Antworten aus dem Kapiteltext zu extrahieren | |
| sentences = chapter_text.split('.') | |
| relevant_sentences = [sentence for sentence in sentences if any(word in sentence for word in question.split())] | |
| return '. '.join(relevant_sentences) | |
| if st.button("Frage beantworten"): | |
| with st.spinner("Bitte warten..."): | |
| answer = find_answer(question, chapter_text) | |
| if answer: | |
| st.write(answer) | |
| else: | |
| st.write("Ich bin nur ein Assistent und kann Ihnen momentan keine genaue Antwort geben. Bitte konsultieren Sie eine medizinische Fachperson.") | |
| st.header("Referenzen") | |
| st.write(""" | |
| Dies ist eine Beta-Version vom 2024-06-02 und wir freuen uns, Ihnen mit der aktualisierten Version zu helfen. Grüße, Nur M. | |
| """) | |