Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from huggingface_hub import InferenceClient | |
| from langchain_community.document_loaders import ArxivLoader | |
| st.title("📝 Arxiv Summaries mit Zephyr 7B Beta") | |
| # Sidebar optional, falls du hier ggf. einen Hugging Face Token abfragen möchtest | |
| with st.sidebar: | |
| st.markdown("## Einstellungen") | |
| hf_api_token = st.text_input("Hugging Face API Token (optional)", type="password") | |
| # Eingabe für den Arxiv-Suchbegriff | |
| arxiv_query = st.text_input( | |
| "Gib einen Suchbegriff für Arxiv ein", | |
| placeholder="Beispiel: 'reasoning'", | |
| ) | |
| # Button zum Ausführen | |
| if st.button("Arxiv durchsuchen und zusammenfassen"): | |
| if not arxiv_query: | |
| st.warning("Bitte einen Suchbegriff eingeben.") | |
| else: | |
| try: | |
| # 1) ArxivLoader initialisieren | |
| loader = ArxivLoader( | |
| query=arxiv_query, | |
| load_max_docs=2 | |
| ) | |
| # 2) Dokumente laden (Summaries) | |
| docs = loader.get_summaries_as_docs() | |
| if not docs: | |
| st.warning("Keine Dokumente gefunden.") | |
| else: | |
| # Wir nehmen hier exemplarisch nur das erste Dokument | |
| doc_content = docs[0].page_content | |
| # 3) Verbindung zum Zephyr-7B-Beta-Modell | |
| # Falls du einen Token verwendest, kannst du den hier übergeben: | |
| # client = InferenceClient("HuggingFaceH4/zephyr-7b-beta", token=hf_api_token) | |
| client = InferenceClient("HuggingFaceH4/zephyr-7b-beta") | |
| # Prompt erstellen: Kontext = Inhalt der Summaries | |
| prompt = f""" | |
| Bitte fasse den folgenden Inhalt prägnant zusammen (auf Deutsch): | |
| {doc_content} | |
| Gib mir eine gut strukturierte Zusammenfassung der Studien. | |
| """ | |
| # 4) Anfrage an das Modell (2048 Tokens als Richtwert) | |
| response = client.text_generation( | |
| prompt, | |
| max_new_tokens=2048, | |
| # Weitere Parameter nach Bedarf, z.B.: | |
| # temperature=0.7, | |
| # do_sample=True, | |
| ) | |
| # Ausgabe in Streamlit | |
| st.write("### Zusammenfassung") | |
| st.write(response) | |
| except Exception as e: | |
| st.error(f"Fehler beim Laden oder Zusammenfassen: {e}") | |