Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -4,7 +4,7 @@ import os
|
|
4 |
import base64
|
5 |
from PIL import Image
|
6 |
import numpy as np
|
7 |
-
import io
|
8 |
|
9 |
# Функция для обработки изображения и текста и отправки запроса к OpenAI
|
10 |
def generate_text(image, prompt):
|
@@ -35,18 +35,30 @@ def generate_text(image, prompt):
|
|
35 |
"frequency_penalty": 0,
|
36 |
"presence_penalty": 0,
|
37 |
"stop": ["\n"],
|
38 |
-
"
|
|
|
|
|
|
|
|
|
39 |
}
|
40 |
|
|
|
|
|
|
|
41 |
# Отправляем запрос к OpenAI
|
42 |
-
response = requests.post(
|
|
|
|
|
|
|
|
|
|
|
43 |
|
44 |
# Проверяем ответ и возвращаем результат
|
45 |
if response.status_code == 200:
|
46 |
response_data = response.json()
|
47 |
return response_data['choices'][0]['text'].strip()
|
48 |
else:
|
49 |
-
return f"Error: {response.status_code}"
|
50 |
|
51 |
# Создаем интерфейс с помощью Gradio
|
52 |
with gr.Blocks() as demo:
|
|
|
4 |
import base64
|
5 |
from PIL import Image
|
6 |
import numpy as np
|
7 |
+
import io
|
8 |
|
9 |
# Функция для обработки изображения и текста и отправки запроса к OpenAI
|
10 |
def generate_text(image, prompt):
|
|
|
35 |
"frequency_penalty": 0,
|
36 |
"presence_penalty": 0,
|
37 |
"stop": ["\n"],
|
38 |
+
"image": {
|
39 |
+
"data": image_base64,
|
40 |
+
"type": "base64",
|
41 |
+
"mime_type": "image/png"
|
42 |
+
}
|
43 |
}
|
44 |
|
45 |
+
# URL для запроса к модели gpt-4-vision-preview
|
46 |
+
url = 'https://api.openai.com/v1/engines/gpt-4-vision-preview/completions'
|
47 |
+
|
48 |
# Отправляем запрос к OpenAI
|
49 |
+
response = requests.post(url, headers=headers, json=data)
|
50 |
+
|
51 |
+
# Для отладки: Выводим тело запроса и ответ от сервера
|
52 |
+
print("Request data:", data)
|
53 |
+
print("Response status code:", response.status_code)
|
54 |
+
print("Response body:", response.text)
|
55 |
|
56 |
# Проверяем ответ и возвращаем результат
|
57 |
if response.status_code == 200:
|
58 |
response_data = response.json()
|
59 |
return response_data['choices'][0]['text'].strip()
|
60 |
else:
|
61 |
+
return f"Error: {response.status_code} - {response.text}"
|
62 |
|
63 |
# Создаем интерфейс с помощью Gradio
|
64 |
with gr.Blocks() as demo:
|