Felguk commited on
Commit
db5b7cc
·
verified ·
1 Parent(s): d1646e4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -7
app.py CHANGED
@@ -13,6 +13,7 @@ from torchvision.models.detection import fasterrcnn_resnet50_fpn
13
  from torchvision.transforms import functional as F
14
  import tempfile
15
  import time
 
16
 
17
  # Инициализация клиента для модели HuggingFaceH4/zephyr-7b-beta
18
  client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
@@ -21,20 +22,35 @@ client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
21
  model = fasterrcnn_resnet50_fpn(pretrained=True)
22
  model.eval()
23
 
24
- # Инициализация модели для определения NSFW
25
- nsfw_client = InferenceClient("Falconsai/nsfw_image_detection")
 
26
 
27
  # Функция для определения NSFW в изображении
28
  def detect_nsfw(image):
29
  if image is None:
30
  return "Изображение не загружено."
31
 
32
- # Отправка изображения в модель NSFW
33
- result = nsfw_client.image_to_image(image=image)
 
 
34
 
35
- # Получение процента NSFW
36
- nsfw_score = result.get("nsfw_score", 0)
37
- return f"Процент NSFW: {nsfw_score * 100:.2f}%"
 
 
 
 
 
 
 
 
 
 
 
 
38
 
39
  # Функция для обработки PDF
40
  def process_pdf(file):
 
13
  from torchvision.transforms import functional as F
14
  import tempfile
15
  import time
16
+ import requests
17
 
18
  # Инициализация клиента для модели HuggingFaceH4/zephyr-7b-beta
19
  client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
 
22
  model = fasterrcnn_resnet50_fpn(pretrained=True)
23
  model.eval()
24
 
25
+ # API для модели NSFW
26
+ API_URL = "https://api-inference.huggingface.co/models/Falconsai/nsfw_image_detection"
27
+ headers = {"Authorization": "Bearer hf_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} # Замените на ваш API-токен
28
 
29
  # Функция для определения NSFW в изображении
30
  def detect_nsfw(image):
31
  if image is None:
32
  return "Изображение не загружено."
33
 
34
+ # Сохраняем изображение во временный файл
35
+ with tempfile.NamedTemporaryFile(suffix=".jpg", delete=False) as tmp_file:
36
+ image.save(tmp_file.name)
37
+ filename = tmp_file.name
38
 
39
+ # Отправка изображения в модель NSFW через API
40
+ try:
41
+ with open(filename, "rb") as f:
42
+ data = f.read()
43
+ response = requests.post(API_URL, headers=headers, data=data)
44
+ result = response.json()
45
+
46
+ # Обработка результата
47
+ if isinstance(result, list) and len(result) > 0 and "score" in result[0]:
48
+ nsfw_score = result[0]["score"]
49
+ return f"Процент NSFW: {nsfw_score * 100:.2f}%"
50
+ else:
51
+ return "Не удалось определить NSFW. Попробуйте другое изображение."
52
+ except Exception as e:
53
+ return f"Ошибка при обработке изображения: {str(e)}"
54
 
55
  # Функция для обработки PDF
56
  def process_pdf(file):