Spaces:
Sleeping
Sleeping
Upload app.py
Browse files
app.py
CHANGED
@@ -25,9 +25,11 @@ def fetch_arxiv_summary(query, sort_by="relevance", sort_order="descending", max
|
|
25 |
root = ET.fromstring(xml_data)
|
26 |
summaries = []
|
27 |
for entry in root.findall(".//{http://www.w3.org/2005/Atom}entry"):
|
|
|
|
|
28 |
summary = entry.find("{http://www.w3.org/2005/Atom}summary")
|
29 |
-
if summary is not None:
|
30 |
-
summaries.append(summary.text.strip())
|
31 |
return summaries if summaries else ["Keine relevanten Studien gefunden."]
|
32 |
except Exception as e:
|
33 |
return [f"Fehler beim Abrufen der Studie: {str(e)}"]
|
@@ -50,7 +52,7 @@ def respond(
|
|
50 |
study_info = "\n".join(study_summaries)
|
51 |
|
52 |
# Nachrichten vorbereiten
|
53 |
-
messages = [{"role": "system", "content": system_message}]
|
54 |
for val in history:
|
55 |
if val[0]:
|
56 |
messages.append({"role": "user", "content": val[0]})
|
@@ -73,6 +75,12 @@ def respond(
|
|
73 |
yield response
|
74 |
|
75 |
# Gradio-Interface mit zusätzlichen Eingaben
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
demo = gr.ChatInterface(
|
77 |
respond,
|
78 |
additional_inputs=[
|
@@ -84,6 +92,7 @@ demo = gr.ChatInterface(
|
|
84 |
gr.Dropdown(label="Sortierreihenfolge", choices=["ascending", "descending"], value="descending"),
|
85 |
gr.Slider(label="Maximale Ergebnisse", minimum=1, maximum=50, value=20, step=1),
|
86 |
],
|
|
|
87 |
)
|
88 |
|
89 |
if __name__ == "__main__":
|
|
|
25 |
root = ET.fromstring(xml_data)
|
26 |
summaries = []
|
27 |
for entry in root.findall(".//{http://www.w3.org/2005/Atom}entry"):
|
28 |
+
title = entry.find("{http://www.w3.org/2005/Atom}title")
|
29 |
+
link = entry.find("{http://www.w3.org/2005/Atom}id")
|
30 |
summary = entry.find("{http://www.w3.org/2005/Atom}summary")
|
31 |
+
if summary is not None and title is not None and link is not None:
|
32 |
+
summaries.append(f"Titel: {title.text.strip()}\nLink: {link.text.strip()}\nZusammenfassung: {summary.text.strip()}")
|
33 |
return summaries if summaries else ["Keine relevanten Studien gefunden."]
|
34 |
except Exception as e:
|
35 |
return [f"Fehler beim Abrufen der Studie: {str(e)}"]
|
|
|
52 |
study_info = "\n".join(study_summaries)
|
53 |
|
54 |
# Nachrichten vorbereiten
|
55 |
+
messages = [{"role": "system", "content": f"{system_message}\nBitte gib immer die Links zu den Studien aus der Suche an."}]
|
56 |
for val in history:
|
57 |
if val[0]:
|
58 |
messages.append({"role": "user", "content": val[0]})
|
|
|
75 |
yield response
|
76 |
|
77 |
# Gradio-Interface mit zusätzlichen Eingaben
|
78 |
+
def create_intro_text():
|
79 |
+
return ("Willkommen beim Chatbot! Dieser Chatbot verwendet KI, um Ihre Fragen zu beantworten und relevante Studien "
|
80 |
+
"aus der arXiv-Datenbank abzurufen. Geben Sie eine Frage ein, und der Bot liefert Ihnen basierend auf Ihrem "
|
81 |
+
"Suchbegriff Studien mit Titel, Link und Zusammenfassung. Zusätzlich können Sie die Sortierung und maximale "
|
82 |
+
"Anzahl der Ergebnisse anpassen.")
|
83 |
+
|
84 |
demo = gr.ChatInterface(
|
85 |
respond,
|
86 |
additional_inputs=[
|
|
|
92 |
gr.Dropdown(label="Sortierreihenfolge", choices=["ascending", "descending"], value="descending"),
|
93 |
gr.Slider(label="Maximale Ergebnisse", minimum=1, maximum=50, value=20, step=1),
|
94 |
],
|
95 |
+
description=create_intro_text()
|
96 |
)
|
97 |
|
98 |
if __name__ == "__main__":
|