x / app.py
gojossatoru's picture
Update app.py
d46df35 verified
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()