Skip to content

Latest commit

Β 

History

History
107 lines (80 loc) Β· 3.78 KB

File metadata and controls

107 lines (80 loc) Β· 3.78 KB

OnLog_Image_Generation

🌐 ν”„λ‘œμ νŠΈ κ°œμš”

λ³Έ ν”„λ‘œμ νŠΈμ˜ λͺ©ν‘œλŠ” μ‚¬μš©μžκ°€ μž‘μ„±ν•œ κ²Œμ‹œκΈ€μ˜ 썸넀일을 μΆ”μ²œν•˜λŠ” μ„œλΉ„μŠ€λ₯Ό κ°œλ°œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 μ„œλΉ„μŠ€λŠ” μ‚¬μš©μžκ°€ μž‘μ„±ν•œ κ²Œμ‹œκΈ€μ˜ λ‚΄μš©μ„ 깊이 μ΄ν•΄ν•˜κ³ , 이λ₯Ό λ°”νƒ•μœΌλ‘œ κ°€μž₯ μ μ ˆν•œ 썸넀일을 μΆ”μ²œν•˜μ—¬ μ‚¬μš©μžμ˜ νŽΈμ˜μ„±μ„ ν–₯μƒμ‹œν‚€λŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€.

πŸ› οΈ ν”„λ‘œμ νŠΈ 개발 ν™˜κ²½

ν”„λ‘œμ νŠΈλŠ” μ•„λž˜ ν™˜κ²½μ—μ„œ κ°œλ°œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

OS: macOS Sonoma
IDE: Pycharm
Python: 3.11.6

πŸ”— ν”„λ‘œμ νŠΈ ꡬ쑰

.
β”œβ”€β”€ .dockerignore            🚫 Docker 이미지 생성 μ‹œ λ¬΄μ‹œν•˜λŠ” 파일 λͺ©λ‘
β”œβ”€β”€ .env                     πŸ” ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©ν•˜λŠ” ν™˜κ²½ λ³€μˆ˜ μ„€μ • 파일
β”œβ”€β”€ .git                     πŸ“‚ Git 버전 관리λ₯Ό μœ„ν•œ 디렉토리
β”œβ”€β”€ .gitignore               πŸ™ˆ Git 버전 관리 μ‹œ λ¬΄μ‹œν•˜λŠ” 파일 λͺ©λ‘
β”œβ”€β”€ .idea                    🧠 IntelliJ IDEA μ„€μ • 파일이 μ €μž₯된 디렉토리
β”œβ”€β”€ Dockerfile               🐳 Docker 이미지 생성을 μœ„ν•œ 슀크립트
β”œβ”€β”€ README.md                πŸ“š ν”„λ‘œμ νŠΈμ— λŒ€ν•œ μ„€λͺ…κ³Ό μ‚¬μš© 방법 등을 담은 λ¬Έμ„œ
β”œβ”€β”€ __pycache__              πŸ—‚οΈ 파이썬이 μ»΄νŒŒμΌν•œ λ²„μ „μ˜ νŒŒμΌμ„ μ €μž₯ν•˜λŠ” 디렉토리
β”œβ”€β”€ main.py                  πŸš€ ν”„λ‘œκ·Έλž¨μ˜ μ‹œμž‘μ 
β”œβ”€β”€ my-key.json              πŸ”‘ μ„œλΉ„μŠ€ 인증을 μœ„ν•œ 개인 ν‚€
└── requirements.txt         πŸ“Œ ν”„λ‘œμ νŠΈμ—μ„œ ν•„μš”ν•œ 파이썬 νŒ¨ν‚€μ§€ λͺ©λ‘

βœ… ν”„λ‘œμ νŠΈ 개발/μ‹€ν–‰

ν•΄λ‹Ή ν”„λ‘œμ νŠΈλ₯Ό μΆ”κ°€λ‘œ 개발 ν˜Ήμ€ μ‹€ν–‰μ‹œμΌœλ³΄κ³  μ‹ΆμœΌμ‹  경우 μ•„λž˜μ˜ μ ˆμ°¨μ— 따라 μ§„ν–‰ν•΄μ£Όμ„Έμš”

1. 가상 ν™˜κ²½ 생성

python3 -m venv venv

2. 가상 ν™˜κ²½ ν™œμ„±ν™”

source venv/bin/activate

3. requirements λ‹€μš΄λ‘œλ“œ

pip install -r requirements.txt

4. .env 파일 생성

touch .env

5. .env νŒŒμΌμ— Karlo API Key 정보 μž…λ ₯

KARLO_API_KEY = "{KARLO_API_KEY}"

6. google translate μ‚¬μš©μ„ μœ„ν•œ my-key.json μΆ”κ°€ (μ˜ˆμ‹œ)

{
    "type": "{type}",
    "project_id": "{project_id}",
    "private_key_id": "{private_key_id}",
    "private_key": "{private_key}",
    "client_email": "{client_email}",
    "client_id": "{client_id}",
    "auth_uri": "{auth_uri}",
    "token_uri": "{token_uri}",
    "auth_provider_x509_cert_url": "{auth_provider_x509_cert_url}",
    "client_x509_cert_url": "{client_x509_cert_url}",
    "universe_domain": "{universe_domain}"
}

μ°Έκ³ ) Google Cloud Translation API의 ν‚€ λ°œκΈ‰ 방법

  1. Google Cloud Console에 λ‘œκ·ΈμΈν•©λ‹ˆλ‹€.
  2. 쒌츑 λ©”λ‰΄μ—μ„œ 'IAM & Admin' > 'Service Accounts'λ₯Ό ν΄λ¦­ν•©λ‹ˆλ‹€.
  3. μƒλ‹¨μ˜ '+ CREATE SERVICE ACCOUNT' λ²„νŠΌμ„ ν΄λ¦­ν•©λ‹ˆλ‹€.
  4. μ„œλΉ„μŠ€ 계정 이름과 μ„€λͺ…을 μž…λ ₯ν•˜κ³  'CREATE' λ²„νŠΌμ„ ν΄λ¦­ν•©λ‹ˆλ‹€.
  5. 'Service Account Permissions' ν™”λ©΄μ—μ„œ 'Role' λ“œλ‘­λ‹€μš΄ λ©”λ‰΄μ—μ„œ 'Cloud Translation > Cloud Translation API User'λ₯Ό μ„ νƒν•˜κ³  'CONTINUE'λ₯Ό ν΄λ¦­ν•©λ‹ˆλ‹€.
  6. 'Grant users access to this service account' ν™”λ©΄μ—μ„œ 'DONE'을 ν΄λ¦­ν•˜μ—¬ μ„œλΉ„μŠ€ 계정 생성을 μ™„λ£Œν•©λ‹ˆλ‹€.
  7. μƒμ„±ν•œ μ„œλΉ„μŠ€ 계정을 ν΄λ¦­ν•˜κ³ , 'Keys' νƒ­μ—μ„œ 'ADD KEY'λ₯Ό ν΄λ¦­ν•œ ν›„ 'Create new key'λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.
  8. 'Key type'μ—μ„œ 'JSON'을 μ„ νƒν•˜κ³  'CREATE'λ₯Ό ν΄λ¦­ν•©λ‹ˆλ‹€.

7. ν”„λ‘œκ·Έλž¨ μ‹€ν–‰

uvicorn main:app --port 8000 --reload

μ°Έκ³ ) ν”„λ‘œμ νŠΈκ°€ μ‹€ν–‰ 쀑인 ν™˜κ²½μ— ν•œν•΄ μ•„λž˜ URLμ—μ„œ API λͺ…μ„Έμ„œλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€

http://localhost:8000/docs
http://localhost:8000/redoc