soyailabs / app /huggingface_client.py
GitHub Actions
Auto-deploy from GitHub Actions - 2025-12-11 09:26:27
c7e9f96
raw
history blame
1.49 kB
"""
Hugging Face ํ† ํฐ ๊ด€๋ฆฌ ๋ชจ๋“ˆ
Google Gemini API ํ‚ค ๊ด€๋ฆฌ ๋ฐฉ์‹๊ณผ ๋™์ผํ•œ ํŒจํ„ด์œผ๋กœ ๊ตฌํ˜„
"""
import os
from typing import Optional
def get_huggingface_token() -> str:
"""
Hugging Face ํ† ํฐ ๊ฐ€์ ธ์˜ค๊ธฐ (ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์šฐ์„ , ์—†์œผ๋ฉด DB์—์„œ)
Returns:
Hugging Face ํ† ํฐ ๋ฌธ์ž์—ด (์—†์œผ๋ฉด ๋นˆ ๋ฌธ์ž์—ด)
"""
# ํ™˜๊ฒฝ ๋ณ€์ˆ˜์—์„œ ๋จผ์ € ํ™•์ธ
token = os.getenv('HUGGINGFACE_HUB_TOKEN', '').strip()
if not token:
token = os.getenv('HF_TOKEN', '').strip()
if token:
print(f"[Hugging Face] ํ™˜๊ฒฝ ๋ณ€์ˆ˜์—์„œ ํ† ํฐ ๊ฐ€์ ธ์˜ด (๊ธธ์ด: {len(token)}์ž)")
return token
# DB์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ (์ˆœํ™˜ ์ฐธ์กฐ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์—ฌ๊ธฐ์„œ ์ž„ํฌํŠธ)
try:
from app.database import SystemConfig
token = SystemConfig.get_config('huggingface_token', '').strip()
if token:
print(f"[Hugging Face] DB์—์„œ ํ† ํฐ ๊ฐ€์ ธ์˜ด (๊ธธ์ด: {len(token)}์ž)")
else:
print(f"[Hugging Face] DB์— ํ† ํฐ์ด ์—†๊ฑฐ๋‚˜ ๋น„์–ด์žˆ์Œ")
return token
except Exception as e:
print(f"[Hugging Face] DB์—์„œ ํ† ํฐ ์กฐํšŒ ์‹คํŒจ: {e}")
return ''
def reset_huggingface_token():
"""
Hugging Face ํ† ํฐ ์บ์‹œ ์ดˆ๊ธฐํ™” (ํ† ํฐ์ด ์—…๋ฐ์ดํŠธ๋œ ํ›„ ํ˜ธ์ถœ)
"""
# ํ˜„์žฌ๋Š” ๋‹จ์ˆœํžˆ ํ•จ์ˆ˜๋ฅผ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜๋ฉด ๋˜์ง€๋งŒ,
# ํ–ฅํ›„ ์บ์‹ฑ์ด ์ถ”๊ฐ€๋  ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•œ ํ•จ์ˆ˜
pass