Spaces:
Runtime error
Runtime error
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:
|