Sebbe33 commited on
Commit
4eb1216
·
verified ·
1 Parent(s): 6459986

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -16
app.py CHANGED
@@ -20,34 +20,28 @@ st.title("Bildanalyse mit Gemini")
20
  uploaded_file = st.file_uploader("Bild hochladen", type=["jpg", "png", "jpeg"])
21
 
22
  if uploaded_file is not None:
23
- image = Image.open(uploaded_file)
24
- st.image(image, caption="Hochgeladenes Bild", use_column_width=True)
25
 
26
  if st.button("Analysieren"):
27
- with st.spinner("Analysiere Bild..."): # Spinner für Benutzerfreundlichkeit
28
  try:
29
- # Bild in Bytes umwandeln und hochladen (wie im Beispielcode)
30
  image_bytes = io.BytesIO()
31
  image.save(image_bytes, format=image.format)
32
  image_bytes = image_bytes.getvalue()
33
 
34
- # Dateiähnliches Objekt für Gemini erstellen
35
- file_like_object = genai.File(
36
- content=image_bytes, mime_type=f"image/{image.format.lower()}" # MIME-Type dynamisch
37
- )
38
 
39
- # Prompt erstellen (angepasst)
40
- prompt = "Beschreibe dieses Bild und identifiziere das Hauptobjekt."
41
 
42
- # Anfrage an Gemini senden (mit Bild)
43
- response = model.generate_text(
44
- prompt=prompt,
45
- image=file_like_object, # Bild direkt übergeben
46
- )
47
 
48
  # Antwort anzeigen
49
  st.write("## Analyseergebnis:")
50
  st.write(response.result)
51
 
52
  except Exception as e:
53
- st.error(f"Ein Fehler ist aufgetreten: {e}") # Fehlerbehandlung
 
20
  uploaded_file = st.file_uploader("Bild hochladen", type=["jpg", "png", "jpeg"])
21
 
22
  if uploaded_file is not None:
23
+ # ... (Bild anzeigen wie zuvor)
 
24
 
25
  if st.button("Analysieren"):
26
+ with st.spinner("Analysiere Bild..."):
27
  try:
28
+ # Bild in Bytes umwandeln
29
  image_bytes = io.BytesIO()
30
  image.save(image_bytes, format=image.format)
31
  image_bytes = image_bytes.getvalue()
32
 
33
+ # Bild in Base64 kodieren
34
+ encoded_image = base64.b64encode(image_bytes).decode("utf-8")
 
 
35
 
36
+ # Prompt erstellen (angepasst für Base64)
37
+ prompt = f"Beschreibe dieses Bild (Base64-kodiert) und identifiziere das Hauptobjekt:\n\n{encoded_image}"
38
 
39
+ # Anfrage an Gemini senden
40
+ response = model.generate_text(prompt=prompt)
 
 
 
41
 
42
  # Antwort anzeigen
43
  st.write("## Analyseergebnis:")
44
  st.write(response.result)
45
 
46
  except Exception as e:
47
+ st.error(f"Ein Fehler ist aufgetreten: {e}")