import os import streamlit as st import google.generativeai as genai from PIL import Image import io # API-Schlüssel laden (aus Umgebungsvariable) genai.configure(api_key=os.getenv('KEY')) # Sicherer! # Gemini Modell erstellen generation_config = { "temperature": 0.5, # Anpassbar "top_p": 0.95, # Anpassbar "max_output_tokens": 200, # Anpassbar } model = genai.GenerativeModel(model_name="gemini-pro", generation_config=generation_config) # Gemini Pro verwenden st.title("Bildanalyse mit Gemini") uploaded_file = st.file_uploader("Bild hochladen", type=["jpg", "png", "jpeg"]) if uploaded_file is not None: image = Image.open(uploaded_file) st.image(image, caption="Hochgeladenes Bild", use_column_width=True) if st.button("Analysieren"): with st.spinner("Analysiere Bild..."): try: # Bild in Bytes umwandeln image_bytes = io.BytesIO() image.save(image_bytes, format=image.format) image_bytes = image_bytes.getvalue() # Bild in Base64 kodieren encoded_image = base64.b64encode(image_bytes).decode("utf-8") # Prompt erstellen (angepasst für Base64) prompt = f"Beschreibe dieses Bild (Base64-kodiert) und identifiziere das Hauptobjekt:\n\n{encoded_image}" # Anfrage an Gemini senden response = model.generate_text(prompt=prompt) # Antwort anzeigen st.write("## Analyseergebnis:") st.write(response.result) except Exception as e: st.error(f"Ein Fehler ist aufgetreten: {e}")