File size: 1,696 Bytes
4675204
2fe7de4
4675204
679183c
327d34f
2fe7de4
679183c
327d34f
98afaa0
 
327d34f
4675204
 
 
2fe7de4
327d34f
2fe7de4
 
 
 
 
 
 
327d34f
63a3437
679183c
327d34f
4675204
 
 
 
 
 
 
 
 
 
679183c
2fe7de4
679183c
 
2fe7de4
 
679183c
 
4675204
679183c
2b9a5e5
 
327d34f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import os
import requests
import gradio as gr

# Указываем URL для модели на Hugging Face, используя inference API
API_URL = "https://api-inference.huggingface.co/models/deepseek-ai/DeepSeek-VL2-Small"

# Токен API, убедись, что ты правильно установил переменную окружения
API_TOKEN = os.getenv("My_token").strip()

# Заголовки для запроса
headers = {
    "Authorization": f"Bearer {API_TOKEN}"
}

# Функция для отправки запроса к API
def query(image):
    buffered = image.convert("RGB")
    buffered.save("temp.jpg", format="JPEG")

    with open("temp.jpg", "rb") as f:
        data = f.read()

    # Отправка запроса на сервер Hugging Face для инференса
    response = requests.post(API_URL, headers=headers, files={"file": data})

    # Проверяем ответ от сервера
    if response.status_code == 200:
        output = response.json()
        if isinstance(output, list) and "generated_text" in output[0]:
            return output[0]["generated_text"]
        else:
            return "Ошибка: Неверный формат ответа от модели."
    else:
        return f"Ошибка запроса: {response.status_code} - {response.text}"

# Интерфейс Gradio
iface = gr.Interface(
    fn=query,
    inputs=gr.Image(type="pil"),
    outputs="text",
    title="DeepSeek Image Captioning",
    description="Генерация описания изображения через DeepSeek VL2"
)

# Запуск приложения
if __name__ == "__main__":
    iface.launch()