kootaeng2 commited on
Commit
c98f885
ยท
2 Parent(s): 1e4a71d 5aa78a6

Docs: Finalize and polish README.md

Browse files
Files changed (1) hide show
  1. README.md +76 -10
README.md CHANGED
@@ -7,26 +7,42 @@ sdk: docker
7
  app_port: 7860
8
  pinned: false
9
  ---
 
10
  ๐Ÿค– ์ผ๊ธฐ ๊ธฐ๋ฐ˜ ๊ฐ์ • ๋ถ„์„ ๋ฐ ์ฝ˜ํ…์ธ  ์ถ”์ฒœ ์›น (v2.0)
11
  ํ•˜๋ฃจ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ ์“ฐ๋Š” ๋‹น์‹ ์˜ ์ผ๊ธฐ, ๊ทธ ์†์— ์ˆจ๊ฒจ์ง„ ์ง„์งœ ๊ฐ์ •์€ ๋ฌด์—‡์ผ๊นŒ์š”?
12
  ์ด ํ”„๋กœ์ ํŠธ๋Š” AI๋ฅผ ํ†ตํ•ด ๋‹น์‹ ์˜ ๊ธ€์„ ์ดํ•ดํ•˜๊ณ , ๊ฐ์ •์— ๋ชฐ์ž…ํ•˜๊ฑฐ๋‚˜ ํ˜น์€ ์ƒˆ๋กœ์šด ํ™œ๋ ฅ์ด ํ•„์š”ํ•  ๋•Œ ๋งž์ถคํ˜• ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ๋‹น์‹ ๋งŒ์˜ ๊ฐ์„ฑ ๋น„์„œ์ž…๋‹ˆ๋‹ค.
 
 
 
 
 
13
 
14
  <br>
15
 
16
  <br>
17
 
18
- ๐Ÿš€ ๋ผ์ด๋ธŒ ๋ฐ๋ชจ (Live Demo)
19
  ๐Ÿ‘‰ https://huggingface.co/spaces/koons/emotion-chatbot
 
20
  (์œ„ ์ฃผ์†Œ๋Š” ์‹ค์ œ ๋ฐฐํฌ๋œ Space ID ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.)
 
 
 
 
21
 
22
  <br>
23
 
24
- [์—ฌ๊ธฐ์— ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹ค์ œ ์ž‘๋™ ์Šคํฌ๋ฆฐ์ƒท์ด๋‚˜ GIF๋ฅผ ์‚ฝ์ž…ํ•˜์„ธ์š”]
25
 
26
  <br>
27
 
 
28
  โœจ ํ•ต์‹ฌ ๊ธฐ๋Šฅ (Key Features)
29
  ๐Ÿค– AI ๊ธฐ๋ฐ˜ ๊ฐ์ • ๋ถ„์„: klue/roberta-base ๋ชจ๋ธ์„ 'AI Hub ๊ฐ์„ฑ๋Œ€ํ™” ๋ง๋ญ‰์น˜' ๋ฐ์ดํ„ฐ๋กœ ๋ฏธ์„ธ ์กฐ์ •(Fine-tuning)ํ•˜์—ฌ, ์ผ๊ธฐ ์†์— ๋‹ด๊ธด ๋ณตํ•ฉ์ ์ธ ๊ฐ์ •์„ 85% ์ด์ƒ์˜ ์ •ํ™•๋„๋กœ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
 
 
 
 
30
 
31
  ๐ŸŽญ ๊ฐ์„ฑ ๋งž์ถค ํ๋ ˆ์ด์…˜: ๋ถ„์„๋œ ๊ฐ์ •์„ ๋” ๊นŠ์ด ์Œ๋ฏธํ•˜๊ณ  ์‹ถ์„ ๋•Œ(์ˆ˜์šฉ)์™€ ์ƒˆ๋กœ์šด ๊ธฐ๋ถ„์œผ๋กœ ์ „ํ™˜ํ•˜๊ณ  ์‹ถ์„ ๋•Œ(์ „ํ™˜), ๋‘ ๊ฐ€์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋งž์ถฐ ์˜ํ™”, ์Œ์•…, ์ฑ…์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
32
 
@@ -36,6 +52,7 @@ pinned: false
36
 
37
  <br>
38
 
 
39
  โš™๏ธ ๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ์•„ํ‚คํ…์ฒ˜
40
  ๊ตฌ๋ถ„ ๊ธฐ์ˆ 
41
  Backend Python 3.10, Flask, Gunicorn
@@ -46,22 +63,44 @@ Version Control Git, GitHub, Git LFS
46
 
47
  Sheets๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ
48
  ๋ฐฐํฌ ์•„ํ‚คํ…์ฒ˜ (CI/CD Pipeline):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
 
50
  Git Push (main ๋ธŒ๋žœ์น˜) โ†’ GitHub Actions (CI/CD ํŠธ๋ฆฌ๊ฑฐ) โ†’ Dockerfile ๋นŒ๋“œ โ†’ Hugging Face Spaces (์ž๋™ ๋ฐฐํฌ ๋ฐ ์„œ๋น™)
51
 
52
  <br>
53
 
 
54
  ๐Ÿ› ๏ธ ์‹œ์ž‘ํ•˜๊ธฐ: ๋กœ์ปฌ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ ์‹คํ–‰
55
  ์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ
56
  Python 3.10
 
 
 
57
 
58
- Git
59
 
60
- 1. ํ”„๋กœ์ ํŠธ ๋ณต์ œ (Clone)
61
- Bash
 
62
 
63
- git clone https://github.com/kootaeng2/Emotion-Chatbot-App.git
 
 
64
  cd Emotion-Chatbot-App
 
65
  2. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ (Anaconda ๊ถŒ์žฅ)
66
  Bash
67
 
@@ -71,12 +110,21 @@ conda activate sentiment_env
71
 
72
  # ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ (PyTorch ๋จผ์ €, ์ดํ›„ requirements.txt)
73
  pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
 
 
 
 
 
 
 
 
 
 
 
74
  pip install -r requirements.txt
75
- 3. AI ๋ชจ๋ธ ์ง์ ‘ ํ›ˆ๋ จํ•˜๊ธฐ (์ตœ์ดˆ 1ํšŒ ํ•„์ˆ˜)
76
- โš ๏ธ ์ฃผ์˜: ์ด ํ”„๋กœ์ ํŠธ๋Š” ํ›ˆ๋ จ๋œ ๋ชจ๋ธ ํŒŒ์ผ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. AI Hub '๊ฐ์„ฑ๋Œ€ํ™” ๋ง๋ญ‰์น˜' ๋ฐ์ดํ„ฐ์…‹์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ data/ ํด๋”์— ์œ„์น˜์‹œํ‚จ ๏ฟฝ๏ฟฝ๏ฟฝ, ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
77
 
78
- Bash
79
 
 
80
  python scripts/train_model.py
81
  4. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰
82
  Bash
@@ -111,6 +159,20 @@ Emotion-Chatbot-App/
111
  โ”œโ”€โ”€ Dockerfile # Hugging Face ๋ฐฐํฌ์šฉ Docker ์„ค์ •
112
  โ”œโ”€โ”€ README.md # ํ”„๋กœ์ ํŠธ ์„ค๋ช…์„œ (ํ˜„์žฌ ๋ณด๊ณ  ์žˆ๋Š” ํŒŒ์ผ)
113
  โ””โ”€โ”€ requirements.txt # ํ•„์ˆ˜ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชฉ๋ก
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  <br>
115
 
116
  ๐Ÿง—โ€โ™‚๏ธ ์ฃผ์š” ๊ฐœ๋ฐœ ๋„์ „ ๊ณผ์ œ ๋ฐ ํ•ด๊ฒฐ ๊ณผ์ • (Troubleshooting Journey)
@@ -132,6 +194,7 @@ Emotion-Chatbot-App/
132
 
133
  ๋ฌธ์ œ: Hugging Face Space ๋ฐฐํฌ ๊ณผ์ •์—์„œ ๊ตฌ์‹ ์ธ์ฆ ๋ฐฉ์‹ ์˜ค๋ฅ˜, requirements.txt ๋ˆ„๋ฝ, Python ๋ชจ๋“ˆ ํƒ์ƒ‰ ๊ฒฝ๋กœ ๋ฌธ์ œ(ModuleNotFoundError), Flask ํ…œํ”Œ๋ฆฟ ๊ฒฝ๋กœ ๋ฌธ์ œ(TemplateNotFound) ๋“ฑ ๋‹ค์–‘ํ•œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜ ๋ฐœ์ƒ.
134
 
 
135
  ํ•ด๊ฒฐ:
136
 
137
  **Dockerfile**์„ ์ž‘์„ฑํ•˜์—ฌ ์–ด๋–ค ํ™˜๊ฒฝ์—์„œ๋“  ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ํ™”๋œ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•.
@@ -140,4 +203,7 @@ GitHub Actions ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ตœ์‹  ๊ณต์‹ Action(huggingface/sync-to-hub)
140
 
141
  ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ์˜ Python ์ž„ํฌํŠธ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๊ณ  **์ƒ๋Œ€ ๊ฒฝ๋กœ ์ž„ํฌํŠธ(relative import)**๋ฅผ ์ ์šฉํ•˜์—ฌ ๋ชจ๋“ˆ ๊ฒฝ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ.
142
 
143
- Flask์˜ ๋™์ž‘ ์›๋ฆฌ์— ๋งž์ถฐ templates ํด๋”๋ฅผ src ๋‚ด๋ถ€๋กœ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ ์ตœ์ข…์ ์œผ๋กœ ๋ชจ๋“  ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋ฐฐํฌ์— ์„ฑ๊ณต.
 
 
 
 
7
  app_port: 7860
8
  pinned: false
9
  ---
10
+ <<<<<<< HEAD
11
  ๐Ÿค– ์ผ๊ธฐ ๊ธฐ๋ฐ˜ ๊ฐ์ • ๋ถ„์„ ๋ฐ ์ฝ˜ํ…์ธ  ์ถ”์ฒœ ์›น (v2.0)
12
  ํ•˜๋ฃจ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ ์“ฐ๋Š” ๋‹น์‹ ์˜ ์ผ๊ธฐ, ๊ทธ ์†์— ์ˆจ๊ฒจ์ง„ ์ง„์งœ ๊ฐ์ •์€ ๋ฌด์—‡์ผ๊นŒ์š”?
13
  ์ด ํ”„๋กœ์ ํŠธ๋Š” AI๋ฅผ ํ†ตํ•ด ๋‹น์‹ ์˜ ๊ธ€์„ ์ดํ•ดํ•˜๊ณ , ๊ฐ์ •์— ๋ชฐ์ž…ํ•˜๊ฑฐ๋‚˜ ํ˜น์€ ์ƒˆ๋กœ์šด ํ™œ๋ ฅ์ด ํ•„์š”ํ•  ๋•Œ ๋งž์ถคํ˜• ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ๋‹น์‹ ๋งŒ์˜ ๊ฐ์„ฑ ๋น„์„œ์ž…๋‹ˆ๋‹ค.
14
+ =======
15
+ # ๐Ÿค– ์ผ๊ธฐ ๊ธฐ๋ฐ˜ ๊ฐ์ • ๋ถ„์„ ๋ฐ ์ฝ˜ํ…์ธ  ์ถ”์ฒœ ์›น
16
+ > ํ•˜๋ฃจ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ ์“ฐ๋Š” ๋‹น์‹ ์˜ ์ผ๊ธฐ, ๊ทธ ์†์— ์ˆจ๊ฒจ์ง„ ์ง„์งœ ๊ฐ์ •์€ ๋ฌด์—‡์ผ๊นŒ์š”?
17
+ > ์ด ํ”„๋กœ์ ํŠธ๋Š” AI๋ฅผ ํ†ตํ•ด ๋‹น์‹ ์˜ ๊ธ€์„ ์ดํ•ดํ•˜๊ณ , ๊ฐ์ •์— ๋ชฐ์ž…ํ•˜๊ฑฐ๋‚˜ ํ˜น์€ ์ƒˆ๋กœ์šด ํ™œ๋ ฅ์ด ํ•„์š”ํ•  ๋•Œ ๋งž์ถคํ˜• ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ๋‹น์‹ ๋งŒ์˜ ๊ฐ์„ฑ ๋น„์„œ์ž…๋‹ˆ๋‹ค.
18
+ >>>>>>> ab2ab5ffd4245a72b03da09445175c7aec11934c
19
 
20
  <br>
21
 
22
  <br>
23
 
24
+ ## ๐Ÿš€ ๋ผ์ด๋ธŒ ๋ฐ๋ชจ (Live Demo)
25
  ๐Ÿ‘‰ https://huggingface.co/spaces/koons/emotion-chatbot
26
+ <<<<<<< HEAD
27
  (์œ„ ์ฃผ์†Œ๋Š” ์‹ค์ œ ๋ฐฐํฌ๋œ Space ID ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.)
28
+ =======
29
+ <br>
30
+ (์œ„ ์ฃผ์†Œ๋Š” ์ด์ „์— ํ™•์ธ๋œ Space ID ๊ธฐ์ค€์ด๋ฉฐ, ์‹ค์ œ ์ตœ์ข… ๋ฐฐํฌ๋œ ์ฃผ์†Œ๋กœ ์ˆ˜์ •ํ•ด์ฃผ์„ธ์š”.)
31
+ >>>>>>> ab2ab5ffd4245a72b03da09445175c7aec11934c
32
 
33
  <br>
34
 
35
+
36
 
37
  <br>
38
 
39
+ <<<<<<< HEAD
40
  โœจ ํ•ต์‹ฌ ๊ธฐ๋Šฅ (Key Features)
41
  ๐Ÿค– AI ๊ธฐ๋ฐ˜ ๊ฐ์ • ๋ถ„์„: klue/roberta-base ๋ชจ๋ธ์„ 'AI Hub ๊ฐ์„ฑ๋Œ€ํ™” ๋ง๋ญ‰์น˜' ๋ฐ์ดํ„ฐ๋กœ ๋ฏธ์„ธ ์กฐ์ •(Fine-tuning)ํ•˜์—ฌ, ์ผ๊ธฐ ์†์— ๋‹ด๊ธด ๋ณตํ•ฉ์ ์ธ ๊ฐ์ •์„ 85% ์ด์ƒ์˜ ์ •ํ™•๋„๋กœ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
42
+ =======
43
+ # โœจ ํ•ต์‹ฌ ๊ธฐ๋Šฅ
44
+ ๐Ÿค– ํ…์ŠคํŠธ ์† ๊ฐ์ • ํƒ์ƒ‰: klue/roberta-base ๋ชจ๋ธ์„ ํ•œ๊ตญ์–ด '๊ฐ์„ฑ๋Œ€ํ™” ๋ง๋ญ‰์น˜' ๋ฐ์ดํ„ฐ๋กœ ๋ฏธ์„ธ์กฐ์ •ํ•˜์—ฌ, ์ผ๊ธฐ ์†์— ๋‹ด๊ธด ๋ณตํ•ฉ์ ์ธ ๊ฐ์ •์„ 85% ์ด์ƒ์˜ ์ •ํ™•๋„๋กœ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
45
+ >>>>>>> ab2ab5ffd4245a72b03da09445175c7aec11934c
46
 
47
  ๐ŸŽญ ๊ฐ์„ฑ ๋งž์ถค ํ๋ ˆ์ด์…˜: ๋ถ„์„๋œ ๊ฐ์ •์„ ๋” ๊นŠ์ด ์Œ๋ฏธํ•˜๊ณ  ์‹ถ์„ ๋•Œ(์ˆ˜์šฉ)์™€ ์ƒˆ๋กœ์šด ๊ธฐ๋ถ„์œผ๋กœ ์ „ํ™˜ํ•˜๊ณ  ์‹ถ์„ ๋•Œ(์ „ํ™˜), ๋‘ ๊ฐ€์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋งž์ถฐ ์˜ํ™”, ์Œ์•…, ์ฑ…์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
48
 
 
52
 
53
  <br>
54
 
55
+ <<<<<<< HEAD
56
  โš™๏ธ ๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ์•„ํ‚คํ…์ฒ˜
57
  ๊ตฌ๋ถ„ ๊ธฐ์ˆ 
58
  Backend Python 3.10, Flask, Gunicorn
 
63
 
64
  Sheets๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ
65
  ๋ฐฐํฌ ์•„ํ‚คํ…์ฒ˜ (CI/CD Pipeline):
66
+ =======
67
+ # โš™๏ธ ๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ์•„ํ‚คํ…์ฒ˜
68
+ | ๊ตฌ๋ถ„ | ๊ธฐ์ˆ  |
69
+ | :--- | :--- |
70
+ | **Backend** | python, Flask, Gunicorn |
71
+ | **Frontend**| HTML, CSS, JavaScript |
72
+ | **AI / Data**| PyTorch, Hugging Face Transformers, Scikit-learn, Pandas |
73
+ | **Deployment**| Docker, GitHub Actions, Hugging Face Spaces |
74
+ | **Version Control**| Git, GitHub, Git LFS |
75
+
76
+
77
+
78
+ <br>
79
+ >>>>>>> ab2ab5ffd4245a72b03da09445175c7aec11934c
80
 
81
  Git Push (main ๋ธŒ๋žœ์น˜) โ†’ GitHub Actions (CI/CD ํŠธ๋ฆฌ๊ฑฐ) โ†’ Dockerfile ๋นŒ๋“œ โ†’ Hugging Face Spaces (์ž๋™ ๋ฐฐํฌ ๋ฐ ์„œ๋น™)
82
 
83
  <br>
84
 
85
+ <<<<<<< HEAD
86
  ๐Ÿ› ๏ธ ์‹œ์ž‘ํ•˜๊ธฐ: ๋กœ์ปฌ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ ์‹คํ–‰
87
  ์‚ฌ์ „ ์š”๊ตฌ์‚ฌํ•ญ
88
  Python 3.10
89
+ =======
90
+ ## ๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ: ๋กœ์ปฌ ํ™˜๊ฒฝ ์„ค์ • ๋ฐ ์‹คํ–‰ (Getting Started)
91
+ >>>>>>> ab2ab5ffd4245a72b03da09445175c7aec11934c
92
 
93
+ ์ด ํ”„๋กœ์ ํŠธ๋Š” ๋…๋ฆฝ๋œ ๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒํ™˜๊ฒฝ์€ PC์˜ ๋‹ค๋ฅธ ํŒŒ์ด์ฌ ํ”„๋กœ์ ํŠธ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ถฉ๋Œํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ด์ฃผ๋Š” '๋…๋ฆฝ๋œ ์ž‘์—… ๊ณต๊ฐ„'์ž…๋‹ˆ๋‹ค.
94
 
95
+ ### ๐ŸŒ ๋ฐฉ๋ฒ• 1: Anaconda ์‚ฌ์šฉ (๊ฐ€์žฅ ์•ˆ์ •์ ์ธ ๋ฐฉ๋ฒ•)
96
+
97
+ AI/ML ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ๋ณต์žกํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ๊ฐ€์žฅ ์•ˆ์ •์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” Anaconda ์‚ฌ์šฉ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
98
 
99
+ ```
100
+ # 1. GitHub์—์„œ ํ”„๋กœ์ ํŠธ ๋ณต์ œ
101
+ git clone [https://github.com/kootaeng2/Emotion-Chatbot-App.git](https://github.com/kootaeng2/Emotion-Chatbot-App.git)
102
  cd Emotion-Chatbot-App
103
+ <<<<<<< HEAD
104
  2. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ (Anaconda ๊ถŒ์žฅ)
105
  Bash
106
 
 
110
 
111
  # ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ (PyTorch ๋จผ์ €, ์ดํ›„ requirements.txt)
112
  pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
113
+ =======
114
+
115
+ # 2. 'sentiment_env'๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ Python 3.10 Conda ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ
116
+ conda create -n sentiment_env python=3.10
117
+
118
+ # 3. ์ƒˆ๋กœ ๋งŒ๋“  ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™”
119
+ conda activate sentiment_env
120
+
121
+ # 4. ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ (PyTorch ๋จผ์ €, ์ดํ›„ requirements.txt)
122
+ pip install torch torchvision torchaudio --index-url [https://download.pytorch.org/whl/cu118](https://download.pytorch.org/whl/cu118)
123
+ >>>>>>> ab2ab5ffd4245a72b03da09445175c7aec11934c
124
  pip install -r requirements.txt
 
 
125
 
 
126
 
127
+ <<<<<<< HEAD
128
  python scripts/train_model.py
129
  4. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰
130
  Bash
 
159
  โ”œโ”€โ”€ Dockerfile # Hugging Face ๋ฐฐํฌ์šฉ Docker ์„ค์ •
160
  โ”œโ”€โ”€ README.md # ํ”„๋กœ์ ํŠธ ์„ค๋ช…์„œ (ํ˜„์žฌ ๋ณด๊ณ  ์žˆ๋Š” ํŒŒ์ผ)
161
  โ””โ”€โ”€ requirements.txt # ํ•„์ˆ˜ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชฉ๋ก
162
+ =======
163
+ # ๐Ÿ“‚ ์ตœ์ข… ํด๋” ๊ตฌ์กฐ
164
+ ํ”„๋กœ์ ํŠธ์˜ ๊ฐ€๋…์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์œ„ํ•ด Flask ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ‘œ์ค€ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
165
+
166
+ ```Emotion-Chatbot-App/
167
+ โ””โ”€โ”€ src/
168
+ โ”œโ”€โ”€ app.py # Flask ์›น ์„œ๋ฒ„ ์‹คํ–‰ ํŒŒ์ผ
169
+ โ”œโ”€โ”€ emotion_engine.py # ๊ฐ์ • ๋ถ„์„ ์—”์ง„ ๋ชจ๋“ˆ
170
+ โ”œโ”€โ”€ recommender.py # ์ถ”์ฒœ ๋กœ์ง ๋ชจ๋“ˆ
171
+ โ”œโ”€โ”€ static/ # CSS, ํด๋ผ์ด์–ธํŠธ JS ํŒŒ์ผ
172
+ โ””โ”€โ”€ templates/ # HTML ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ```
173
+ <br>
174
+ ... (๊ธฐํƒ€ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ๋ฐ ํด๋”) ...
175
+ >>>>>>> ab2ab5ffd4245a72b03da09445175c7aec11934c
176
  <br>
177
 
178
  ๐Ÿง—โ€โ™‚๏ธ ์ฃผ์š” ๊ฐœ๋ฐœ ๋„์ „ ๊ณผ์ œ ๋ฐ ํ•ด๊ฒฐ ๊ณผ์ • (Troubleshooting Journey)
 
194
 
195
  ๋ฌธ์ œ: Hugging Face Space ๋ฐฐํฌ ๊ณผ์ •์—์„œ ๊ตฌ์‹ ์ธ์ฆ ๋ฐฉ์‹ ์˜ค๋ฅ˜, requirements.txt ๋ˆ„๋ฝ, Python ๋ชจ๋“ˆ ํƒ์ƒ‰ ๊ฒฝ๋กœ ๋ฌธ์ œ(ModuleNotFoundError), Flask ํ…œํ”Œ๋ฆฟ ๊ฒฝ๋กœ ๋ฌธ์ œ(TemplateNotFound) ๋“ฑ ๋‹ค์–‘ํ•œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜ ๋ฐœ์ƒ.
196
 
197
+ <<<<<<< HEAD
198
  ํ•ด๊ฒฐ:
199
 
200
  **Dockerfile**์„ ์ž‘์„ฑํ•˜์—ฌ ์–ด๋–ค ํ™˜๊ฒฝ์—์„œ๋“  ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ํ™”๋œ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•.
 
203
 
204
  ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ์˜ Python ์ž„ํฌํŠธ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๊ณ  **์ƒ๋Œ€ ๊ฒฝ๋กœ ์ž„ํฌํŠธ(relative import)**๋ฅผ ์ ์šฉํ•˜์—ฌ ๋ชจ๋“ˆ ๊ฒฝ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ.
205
 
206
+ Flask์˜ ๋™์ž‘ ์›๋ฆฌ์— ๋งž์ถฐ templates ํด๋”๋ฅผ src ๋‚ด๋ถ€๋กœ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ ์ตœ์ข…์ ์œผ๋กœ ๋ชจ๋“  ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋ฐฐํฌ์— ์„ฑ๊ณต.
207
+ =======
208
+ ํ•ด๊ฒฐ: gunicorn์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๊ณ , Python์˜ **์ƒ๋Œ€ ๊ฒฝ๋กœ ์ž„ํฌํŠธ(relative import)**๋ฅผ ์ ์šฉํ•˜์—ฌ ๋ชจ๋“ˆ ๊ฒฝ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ. ๋˜ํ•œ Flask์˜ ๊ธฐ๋ณธ ๊ทœ์น™์— ๋งž๊ฒŒ templates ๋ฐ static ํด๋”๋ฅผ app.py๊ฐ€ ์žˆ๋Š” src ํด๋” ๋‚ด๋ถ€๋กœ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ์ตœ์ข… ํ•ด๊ฒฐ.
209
+ >>>>>>> ab2ab5ffd4245a72b03da09445175c7aec11934c