jonghhhh's picture
Upload README.md with huggingface_hub
8140fac verified
metadata
title: YouTube Video Analyzer
emoji: ๐ŸŽฅ
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
license: mit

๐ŸŽฅ YouTube Video Analyzer

์œ ํŠœ๋ธŒ ์˜์ƒ์˜ ์ž๋ง‰์„ ์ฃผ์ œ๋ณ„๋กœ ๋ถ„๋ฆฌํ•˜๊ณ  AI๋กœ ์š”์•ฝํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๐Ÿš€ ์ฃผ์š” ๊ธฐ๋Šฅ

1. ์„ธ๊ทธ๋จผํŠธ ๋ถ„๋ฆฌ

  • ruptures PELT ์•Œ๊ณ ๋ฆฌ์ฆ˜: ํ†ต๊ณ„์  ๋ณ€ํ™”์  ํƒ์ง€๋กœ ๋Œ€์ฃผ์ œ ๋ถ„๋ฆฌ
  • ์˜๋ฏธ ์œ ์‚ฌ๋„ ๋ถ„์„: Sentence Transformers๋กœ ์†Œ์ฃผ์ œ ์ •๋ฐ€ ๋ถ„ํ• 
  • ํƒ€์ž„์Šคํƒฌํ”„ ๋งคํ•‘: ๊ฐ ์„ธ๊ทธ๋จผํŠธ์˜ ์˜์ƒ ์‹œ์ž‘ ์‹œ๊ฐ„ ์ œ๊ณต

2. AI ์š”์•ฝ

  • Gemini 2.0 Flash Lite: Google์˜ ์ตœ์‹  ๊ฒฝ๋Ÿ‰ AI ๋ชจ๋ธ ์‚ฌ์šฉ
  • ์ฃผ์ œ ๋ผ๋ฒจ๋ง: 2-5๋‹จ์–ด๋กœ ํ•ต์‹ฌ ์ฃผ์ œ ์ถ”์ถœ
  • ์Šค๋งˆํŠธ ํ•„ํ„ฐ๋ง: ์˜๋ฏธ ์—†๋Š” ์งง์€ ๋ฆฌ์•ก์…˜ ์ž๋™ ์ œ์™ธ

๐Ÿ“š API ๋ฌธ์„œ

์ด ์ŠคํŽ˜์ด์Šค๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์ž๋™์œผ๋กœ Swagger UI๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค:

  • API ๋ฌธ์„œ: /docs
  • ํ—ฌ์Šค ์ฒดํฌ: /health
  • API ์ •๋ณด: /info

๐ŸŽฏ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

GET ์š”์ฒญ ์˜ˆ์‹œ

/process?youtube_url=https://youtube.com/watch?v=VIDEO_ID&mode=summary&penalty=5.0&threshold=90&gemini_api_key=YOUR_KEY

POST ์š”์ฒญ ์˜ˆ์‹œ

{
  "youtube_url": "https://youtube.com/watch?v=VIDEO_ID",
  "mode": "summary",
  "penalty": 5.0,
  "threshold": 90,
  "gemini_api_key": "your_gemini_api_key"
}

โš™๏ธ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ€์ด๋“œ

Penalty (๋Œ€์ฃผ์ œ ๋ถ„๋ฆฌ)

  • 1.0-3.0: ๋งค์šฐ ์„ธ๋ฐ€ํ•œ ๋ถ„๋ฆฌ (๋งŽ์€ ์ฃผ์ œ)
  • 5.0: ๊ท ํ˜•์žกํžŒ ๋ถ„๋ฆฌ (๊ธฐ๋ณธ๊ฐ’)
  • 7.0-10.0: ํฐ ์ฃผ์ œ ๋‹จ์œ„ ๋ถ„๋ฆฌ
  • 15.0-30.0: ๋งค์šฐ ํฐ ๋ฉ์–ด๋ฆฌ๋กœ ๋ถ„๋ฆฌ

Threshold (์†Œ์ฃผ์ œ ๋ถ„๋ฆฌ)

  • 70-80: ์„ธ๋ฐ€ํ•œ ๋ถ„๋ฆฌ
  • 85-92: ๊ท ํ˜•์žกํžŒ ๋ถ„๋ฆฌ (๊ถŒ์žฅ)
  • 90: ๊ธฐ๋ณธ๊ฐ’
  • 95-98: ํฐ ๋ฉ์–ด๋ฆฌ ๋ถ„๋ฆฌ

๐Ÿ”ง ๊ธฐ์ˆ  ์Šคํƒ

  • youtube-transcript-api: ์ž๋ง‰ ์ถ”์ถœ
  • ruptures: ํ†ต๊ณ„์  ๋ณ€ํ™”์  ํƒ์ง€
  • sentence-transformers: ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ
  • google-generativeai: AI ์š”์•ฝ
  • FastAPI: REST API ์„œ๋ฒ„

๐Ÿ”ง ๋ฌธ์ œ ํ•ด๊ฒฐ

DNS/๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜

ํ—ˆ๊น…ํŽ˜์ด์Šค ์ŠคํŽ˜์ด์Šค ํ™˜๊ฒฝ์—์„œ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ์— ์ œํ•œ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ:

  1. ์žฌ์‹œ๋„ ๋กœ์ง: ์ฝ”๋“œ์— ์ž๋™ ์žฌ์‹œ๋„ ๊ธฐ๋Šฅ์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค (์ตœ๋Œ€ 3ํšŒ)
  2. ํƒ€์ž„์•„์›ƒ: ๊ฐ ์‹œ๋„๋งˆ๋‹ค ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค (2์ดˆ, 4์ดˆ, 6์ดˆ)
  3. ๋Œ€์•ˆ: ๋กœ์ปฌ์—์„œ Docker๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, ๋‹ค๋ฅธ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์‚ฌ์šฉ

๋กœ์ปฌ ์‹คํ–‰ ๋ฐฉ๋ฒ•

# Docker๋กœ ์‹คํ–‰
docker build -t youtube-analyzer .
docker run -p 7860:7860 youtube-analyzer

# ๋˜๋Š” ์ง์ ‘ ์‹คํ–‰
pip install -r requirements.txt
uvicorn app:app --host 0.0.0.0 --port 7860

๐Ÿ“ ๋ผ์ด์„ ์Šค

MIT License