SOY NV AI
Add PostgreSQL support and update database configuration for data persistence in Hugging Face Spaces
9f9640b
Hugging Face Spaces λ°°ν¬ κ°μ΄λ
μ΄ κ°μ΄λλ SOY NV AI μ ν리μΌμ΄μ μ Hugging Face Spacesμ λ°°ν¬νλ λ°©λ²μ μ€λͺ ν©λλ€.
μ¬μ μ€λΉ
- Hugging Face κ³μ μμ± λ° λ‘κ·ΈμΈ
- Hugging Face Spaces μμ±
λ°°ν¬ λ¨κ³
1. Hugging Face Spaces μμ±
- Hugging Face Spacesμ μ μ
- "Create new Space" ν΄λ¦
- λ€μ μ 보 μ
λ ₯:
- Space name: μνλ μ΄λ¦ (μ:
soy-nv-ai) - SDK:
Dockerμ ν - Docker template: Blank μ ν (λλ λΉμλκΈ°) β
- μ΄λ―Έ
Dockerfileμ μμ±νμΌλ―λ‘ blank ν νλ¦Ώμ μ ννμΈμ
- μ΄λ―Έ
- Hardware: νμμ λ°λΌ μ ν (CPU κΈ°λ³Έ, GPU νμ μ μ ν)
- Visibility: Public λλ Private μ ν
- Space name: μνλ μ΄λ¦ (μ:
2. νμΌ μ λ‘λ
λ€μ νμΌλ€μ Hugging Face Spacesμ μ λ‘λν΄μΌ ν©λλ€:
νμ νμΌ
app.py- Hugging Face Spaces μ§μ μ requirements.txt- Python ν¨ν€μ§ μμ‘΄μ±README.md- νλ‘μ νΈ μ€λͺapp/- μ ν리μΌμ΄μ μ½λ λλ ν 리templates/- HTML ν νλ¦Ώ λλ ν 리static/- μ μ νμΌ λλ ν 리
μ νμ νμΌ
.gitignore- Git 무μ νμΌ.env.example- νκ²½ λ³μ μμ (μ€μ .envλ μ λ‘λνμ§ μμ)
3. νκ²½ λ³μ μ€μ
Hugging Face Spacesμ Settings > Repository secretsμμ λ€μ νκ²½ λ³μλ₯Ό μ€μ νμΈμ:
νμ νκ²½ λ³μ
SECRET_KEY: Flask μν¬λ¦Ώ ν€ (λλ€ λ¬Έμμ΄ μμ±)
λ°μ΄ν°λ² μ΄μ€ νκ²½ λ³μ (κΆμ₯: μΈλΆ λ°μ΄ν°λ² μ΄μ€)
DATABASE_URL: λ°μ΄ν°λ² μ΄μ€ μ°κ²° URL- PostgreSQL (κΆμ₯):
postgresql://user:password@host:port/database - SQLite (κΈ°λ³Έκ°): μ€μ νμ§ μμΌλ©΄ μλμΌλ‘ SQLite μ¬μ©
- β οΈ μ£Όμ: Hugging Face Spacesλ 컨ν μ΄λ κΈ°λ°μ΄λ―λ‘ SQLite μ¬μ© μ μ¬μμ μ λ°μ΄ν°κ° μ¬λΌμ§λλ€.
- μꡬ μ μ₯μ΄ νμνλ©΄ λ°λμ μΈλΆ PostgreSQLμ μ¬μ©νμΈμ.
- PostgreSQL (κΆμ₯):
μ νμ νκ²½ λ³μ
GEMINI_API_KEY: Google Gemini API ν€ (Gemini μ¬μ© μ)OLLAMA_BASE_URL: Ollama μλ² URL (κΈ°λ³Έκ°: http://localhost:11434)EMBEDDING_MODEL_NAME: μλ² λ© λͺ¨λΈ μ΄λ¦RERANKER_MODEL_NAME: 리λ컀 λͺ¨λΈ μ΄λ¦
4. Dockerfile νμΈ
β
μ΄λ―Έ μμ±λ¨: νλ‘μ νΈ λ£¨νΈμ Dockerfileμ΄ μ΄λ―Έ μμ±λμ΄ μμ΅λλ€.
νμν κ²½μ° Dockerfileμ νμΈνκ±°λ μμ ν μ μμ΅λλ€.
5. README.md μμ±
Hugging Face Spacesμ© README.mdλ₯Ό μμ±νμΈμ:
---
title: SOY NV AI
emoji: π
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
---
# SOY NV AI - μΉμμ€ μν κ°λ° μ΄μμ€ν΄νΈ
AIλ₯Ό νμ©ν μΉμμ€ μν κ°λ°μ μ§μνλ μ΄μμ€ν΄νΈμ
λλ€.
## κΈ°λ₯
- μΉμμ€ νμΌ μ
λ‘λ λ° λΆμ
- AI κΈ°λ° μν λΆμ λ° μμ½
- μΊλ¦ν° κ΄κ³ κ·Έλν μΆμΆ
- νμ°¨λ³ λΆμ
## μ¬μ© λ°©λ²
1. λ‘κ·ΈμΈ λλ νμκ°μ
2. μΉμμ€ νμΌ μ
λ‘λ
3. AI λΆμ μ€ν
4. κ²°κ³Ό νμΈ
## νκ²½ λ³μ
λ€μ νκ²½ λ³μλ₯Ό μ€μ ν΄μΌ ν©λλ€:
- `SECRET_KEY`: Flask μν¬λ¦Ώ ν€
- `GEMINI_API_KEY`: Google Gemini API ν€ (μ νμ¬ν)
μ£Όμμ¬ν
1. λ°μ΄ν°λ² μ΄μ€
- Hugging Face Spacesλ μμ μ μ₯μμ΄λ―λ‘, λ°μ΄ν°λ² μ΄μ€λ μꡬ μ μ₯μκ° μλλλ€.
- μ€μν λ°μ΄ν°λ μΈλΆ λ°μ΄ν°λ² μ΄μ€(PostgreSQL, MySQL λ±)λ₯Ό μ¬μ©νκ±°λ μ κΈ°μ μΌλ‘ λ°±μ νμΈμ.
2. νμΌ μ λ‘λ
- μ λ‘λλ νμΌμ Spaces μ¬μμ μ μμ λ μ μμ΅λλ€.
- μꡬ μ μ₯μ΄ νμν κ²½μ° μΈλΆ μ€ν 리μ§(S3, Google Cloud Storage λ±)λ₯Ό μ¬μ©νμΈμ.
3. 리μμ€ μ ν
- Hugging Face Spacesλ λ¬΄λ£ ν°μ΄μμ 리μμ€ μ νμ΄ μμ΅λλ€.
- λμ©λ νμΌ μ²λ¦¬λ κΈ΄ μμ μ νμμμλ μ μμ΅λλ€.
4. Ollama μ¬μ©
- Ollamaλ λ‘컬 μλ²μ΄λ―λ‘ Hugging Face Spacesμμ μ§μ μ¬μ©ν μ μμ΅λλ€.
- μΈλΆ Ollama μλ²λ₯Ό μ¬μ©νκ±°λ, Hugging Faceμ λͺ¨λΈ APIλ₯Ό μ¬μ©νμΈμ.
λ°°ν¬ ν νμΈ
- Spaces νμ΄μ§μμ "Logs" νμ νμΈνμ¬ μ€λ₯κ° μλμ§ νμΈ
- μ ν리μΌμ΄μ μ΄ μ μμ μΌλ‘ λ‘λλλμ§ νμΈ
- λ‘κ·ΈμΈ λ° κΈ°λ³Έ κΈ°λ₯ ν μ€νΈ
λ¬Έμ ν΄κ²°
λΉλ μ€ν¨
requirements.txtμ ν¨ν€μ§ λ²μ νμΈ- λ‘κ·Έμμ μ€λ₯ λ©μμ§ νμΈ
λ°νμ μ€λ₯
- νκ²½ λ³μκ° μ¬λ°λ₯΄κ² μ€μ λμλμ§ νμΈ
- λ°μ΄ν°λ² μ΄μ€ κ²½λ‘ λ° κΆν νμΈ
μ±λ₯ λ¬Έμ
- λ λμ νλμ¨μ΄ ν°μ΄λ‘ μ κ·Έλ μ΄λ κ³ λ €
- λΆνμν μμ‘΄μ± μ κ±°