BYTFITY commited on
Commit
f402b74
·
verified ·
1 Parent(s): 8dfed13

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -15
app.py CHANGED
@@ -2,27 +2,36 @@
2
  import gradio as gr
3
  from datasets import load_dataset
4
 
5
- # Загружаем только 500 случайных изображений (можно увеличить до 1000–2000)
6
- dataset = load_dataset("deepghs/sankaku_full", split="train[:500]")
 
 
 
 
 
7
 
8
- def search_images(tag):
 
 
 
9
  results = []
10
- for item in dataset:
11
  tags = item.get("tags", "")
12
  if tag.lower() in tags.lower():
13
- # Добавляем миниатюру + теги
14
- results.append((item["image"], f"Tags: {tags}"))
15
- if len(results) >= 10: # показываем максимум 10 результатов
 
16
  break
17
- return results if results else [("https://via.placeholder.com/300?text=No+Results", "Ничего не найдено")]
18
 
19
- with gr.Blocks(title="Sankaku Viewer") as demo:
20
- gr.Markdown("# 🔞 Sankaku Full Dataset Viewer")
21
- gr.Markdown("⚠️ **NSFW content. For adults only.**")
22
 
23
- tag_input = gr.Textbox(label="Поиск по тегу (например: wolf, furry, animal ears)")
24
- gallery = gr.Gallery(label="Результаты", columns=3, rows=4, height=600)
25
-
26
- tag_input.change(fn=search_images, inputs=tag_input, outputs=gallery)
27
 
28
  demo.launch()
 
2
  import gradio as gr
3
  from datasets import load_dataset
4
 
5
+ # Загружаем ТОЛЬКО метаданные, без изображений
6
+ dataset = load_dataset(
7
+ "deepghs/sankaku_full",
8
+ split="train[:2000]", # первые 2000 записей
9
+ streaming=False,
10
+ use_auth_token=False
11
+ )
12
 
13
+ # Преобразуем в список один раз (иначе streaming будет мешать)
14
+ data_list = list(dataset)
15
+
16
+ def search_by_tag(tag):
17
  results = []
18
+ for item in data_list:
19
  tags = item.get("tags", "")
20
  if tag.lower() in tags.lower():
21
+ rating = item.get("rating", "?")
22
+ # НЕ пытаемся показать image его нет или он битый
23
+ results.append(f"ID: {item.get('id', 'N/A')} | Rating: {rating}\nTags: {tags[:100]}...")
24
+ if len(results) >= 10:
25
  break
26
+ return "\n\n".join(results) if results else "Ничего не найдено."
27
 
28
+ with gr.Blocks() as demo:
29
+ gr.Markdown("### 🔍 Sankaku Dataset — Metadata Viewer")
30
+ gr.Markdown("⚠️ Изображения НЕ отображаются (недоступны). Только теги и ID.")
31
 
32
+ tag = gr.Textbox(label="Поиск по тегу (например: wolf, furry, nsfw)")
33
+ output = gr.Textbox(label="Результаты", lines=15)
34
+
35
+ tag.change(fn=search_by_tag, inputs=tag, outputs=output)
36
 
37
  demo.launch()