import gradio as gr import requests import io from PIL import Image import base64 API_KEY = "YOUR_API_KEY" # API anahtarınızı buraya girin API_URL = "YOUR_API_URL" # API URL'nizi buraya girin def analyze_image(image_file): """ Görüntüyü analiz eder ve API'den yanıt alır. Args: image_file: Yüklenen görüntü dosyası. Returns: API'den alınan yanıt metni. """ try: img = Image.open(image_file.name) buffered = io.BytesIO() img.save(buffered, format="PNG") encoded_string = base64.b64encode(buffered.getvalue()).decode("utf-8") headers = { "Content-Type": "application/json", "Authorization": f"Bearer {API_KEY}", } payload = { "messages": [ { "role": "user", "content": [ {"type": "text", "text": "Toplam ödeme tutarı ne kadardır?"}, { "type": "image_url", "image_url": {"url": f"data:image/png;base64,{encoded_string}"}, }, ], } ], "model": "Qwen/Qwen2-VL-72B-Instruct", "max_tokens": 2048, "temperature": 0.7, "top_p": 0.9, } response = requests.post(API_URL, headers=headers, json=payload) response.raise_for_status() # Başarısız isteklerde hata fırlat return response.json()["choices"][0]["message"]["content"] except requests.exceptions.RequestException as e: return f"API isteği hatası: {e}" except Exception as e: return f"Hata: {e}" iface = gr.Interface( fn=analyze_image, inputs=gr.inputs.Image(type="file"), outputs="text", title="Ödeme Tutarı Analizi", description="Bir görüntü yükleyin ve toplam ödeme tutarını öğrenin.", ) iface.launch()