Sebbe33 commited on
Commit
88f3635
·
verified ·
1 Parent(s): 29633eb

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -3
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__":