dev-yuje commited on
Commit
2a84ec0
ยท
1 Parent(s): 16a7f62

fix: resolve Hugging Face Spaces connection ValueError and Jinja2 serialization crash

Browse files
Files changed (4) hide show
  1. AGENTS.md +1 -0
  2. README.md +1 -1
  3. app.py +6 -3
  4. requirements.txt +1 -1
AGENTS.md CHANGED
@@ -109,6 +109,7 @@ def test_portfolio_showcase_aggregation_query():
109
  - [x] **2. ์ง€์‹ ๊ทธ๋ž˜ํ”„ ๋ฐ€๋„ ํ–ฅ์ƒ**: ํ™•๋ณด๋œ ๋ฐ์ดํ„ฐ๋ฅผ `finGraph.py`๋ฅผ ํ†ตํ•ด Neo4j์— ์ ์žฌํ•˜์—ฌ Company, Technology ๋“ฑ์˜ ๋…ธ๋“œ์™€ ๊ด€๊ณ„์„ (Edge) ๋Œ€ํญ ํ™•์žฅ. (์ด 296๊ฐœ์˜ ๋…ธ๋“œ ๋ฐ 346๊ฐœ์˜ ๊ด€๊ณ„์„ ์œผ๋กœ ์ดˆ๊ณ ๋ฐ€๋„ ์€ํ•˜์ˆ˜ ์Šค์ผ€์ผ ๊ทธ๋ž˜ํ”„ ๊ตฌ์ถ• ์™„๋ฃŒ)
110
  - [x] **3. ํ™˜๊ฐ(Hallucination) ๋ฐฉ์ง€ ํ”„๋กฌํ”„ํŠธ ๊ฐ•ํ™”**: `finRetrieval.py`์˜ ํ”„๋กฌํ”„ํŠธ์— "๋ฐ˜๋“œ์‹œ ์ œ๊ณต๋œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๊ธฐ๋ฐ˜์œผ๋กœ๋งŒ ๋‹ต๋ณ€ํ•˜๊ณ , ์—†๋Š” ๊ธฐ์—…์ด๋‚˜ ๊ฐ€์งœ URL(example.com ๋“ฑ)์€ ์ ˆ๋Œ€ ์ง€์–ด๋‚ด์ง€ ๋ง ๊ฒƒ"์„ ๋ช…์‹œ. (์ฒ ๋ฒฝ ํ”„๋กฌํ”„ํŠธ ๊ฐ€๋“œ๋ ˆ์ผ ์„ค๊ณ„ ์™„๋ฃŒ)
111
  - [x] **4. 3๋Œ€ ์‹œ๋‚˜๋ฆฌ์˜ค ์ตœ์ข… ํ†ต๊ณผ**: `tests/smoke_test_rag.py`๋ฅผ ์žฌ์‹คํ–‰ํ•˜์—ฌ ๊ฐ€์งœ ๋งํฌ๋‚˜ ์™ธ๋ถ€ ์ง€์‹ ๊ฐœ์ž… ์—†์ด, ์ˆ˜์ง‘๋œ ๊ตญ๋‚ด ๋‰ด์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ์™„๋ฒฝํžˆ ๋‹ต๋ณ€ํ•˜๋Š”์ง€ ๊ฒ€์ฆ. (ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์˜ˆ๋น„ ๊ฒ€์ƒ‰๊ธฐ ๊ฒฐํ•ฉ์œผ๋กœ 3๋Œ€ ๊ณจ๋“œ ์‹œ๋‚˜๋ฆฌ์˜ค 100% ์™„์ „ PASS ๊ฒ€์ฆ ์„ฑ๊ณต)
 
112
 
113
  ## ๋ฐฐํฌ ๋ฐ ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ (Pipeline Automation)
114
  - [x] **๋งค์ผ ์ƒˆ๋ฒฝ 1์‹œ(KST) ์ตœ์‹ ํ™” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•**: ํฌ๋กค๋ง(`finScrapping.py`) โžก๏ธ ์ง€์‹ ๊ทธ๋ž˜ํ”„ ์ ์žฌ(`finGraph.py`)๋กœ ์ด์–ด์ง€๋Š” ์—”๋“œํˆฌ์—”๋“œ(End-to-End) ์ž๋™ํ™”.
 
109
  - [x] **2. ์ง€์‹ ๊ทธ๋ž˜ํ”„ ๋ฐ€๋„ ํ–ฅ์ƒ**: ํ™•๋ณด๋œ ๋ฐ์ดํ„ฐ๋ฅผ `finGraph.py`๋ฅผ ํ†ตํ•ด Neo4j์— ์ ์žฌํ•˜์—ฌ Company, Technology ๋“ฑ์˜ ๋…ธ๋“œ์™€ ๊ด€๊ณ„์„ (Edge) ๋Œ€ํญ ํ™•์žฅ. (์ด 296๊ฐœ์˜ ๋…ธ๋“œ ๋ฐ 346๊ฐœ์˜ ๊ด€๊ณ„์„ ์œผ๋กœ ์ดˆ๊ณ ๋ฐ€๋„ ์€ํ•˜์ˆ˜ ์Šค์ผ€์ผ ๊ทธ๋ž˜ํ”„ ๊ตฌ์ถ• ์™„๋ฃŒ)
110
  - [x] **3. ํ™˜๊ฐ(Hallucination) ๋ฐฉ์ง€ ํ”„๋กฌํ”„ํŠธ ๊ฐ•ํ™”**: `finRetrieval.py`์˜ ํ”„๋กฌํ”„ํŠธ์— "๋ฐ˜๋“œ์‹œ ์ œ๊ณต๋œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๊ธฐ๋ฐ˜์œผ๋กœ๋งŒ ๋‹ต๋ณ€ํ•˜๊ณ , ์—†๋Š” ๊ธฐ์—…์ด๋‚˜ ๊ฐ€์งœ URL(example.com ๋“ฑ)์€ ์ ˆ๋Œ€ ์ง€์–ด๋‚ด์ง€ ๋ง ๊ฒƒ"์„ ๋ช…์‹œ. (์ฒ ๋ฒฝ ํ”„๋กฌํ”„ํŠธ ๊ฐ€๋“œ๋ ˆ์ผ ์„ค๊ณ„ ์™„๋ฃŒ)
111
  - [x] **4. 3๋Œ€ ์‹œ๋‚˜๋ฆฌ์˜ค ์ตœ์ข… ํ†ต๊ณผ**: `tests/smoke_test_rag.py`๋ฅผ ์žฌ์‹คํ–‰ํ•˜์—ฌ ๊ฐ€์งœ ๋งํฌ๋‚˜ ์™ธ๋ถ€ ์ง€์‹ ๊ฐœ์ž… ์—†์ด, ์ˆ˜์ง‘๋œ ๊ตญ๋‚ด ๋‰ด์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ์™„๋ฒฝํžˆ ๋‹ต๋ณ€ํ•˜๋Š”์ง€ ๊ฒ€์ฆ. (ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์˜ˆ๋น„ ๊ฒ€์ƒ‰๊ธฐ ๊ฒฐํ•ฉ์œผ๋กœ 3๋Œ€ ๊ณจ๋“œ ์‹œ๋‚˜๋ฆฌ์˜ค 100% ์™„์ „ PASS ๊ฒ€์ฆ ์„ฑ๊ณต)
112
+ - [x] **5. Hugging Face ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ ํ•ด๊ฒฐ**: Spaces ๊ฒฉ๋ฆฌ ํ™˜๊ฒฝ์—์„œ์˜ ๋ฃจํ”„๋ฐฑ ๋ฐ”์ธ๋”ฉ ์˜ค๋ฅ˜(ValueError) ๋ฐ Jinja2 ํ˜ธํ™˜์„ฑ(TypeError) ๋ฌธ์ œ ์™„๋ฒฝ ์ˆ˜์ • ์™„๋ฃŒ.
113
 
114
  ## ๋ฐฐํฌ ๋ฐ ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ (Pipeline Automation)
115
  - [x] **๋งค์ผ ์ƒˆ๋ฒฝ 1์‹œ(KST) ์ตœ์‹ ํ™” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•**: ํฌ๋กค๋ง(`finScrapping.py`) โžก๏ธ ์ง€์‹ ๊ทธ๋ž˜ํ”„ ์ ์žฌ(`finGraph.py`)๋กœ ์ด์–ด์ง€๋Š” ์—”๋“œํˆฌ์—”๋“œ(End-to-End) ์ž๋™ํ™”.
README.md CHANGED
@@ -4,7 +4,7 @@ emoji: ๐Ÿ•ธ๏ธ
4
  colorFrom: indigo
5
  colorTo: indigo
6
  sdk: gradio
7
- sdk_version: 4.44.0
8
  python_version: 3.10.14
9
  app_file: app.py
10
  pinned: false
 
4
  colorFrom: indigo
5
  colorTo: indigo
6
  sdk: gradio
7
+ sdk_version: 4.44.1
8
  python_version: 3.10.14
9
  app_file: app.py
10
  pinned: false
app.py CHANGED
@@ -122,7 +122,6 @@ try:
122
  except Exception:
123
  gradio_major = 4 # ๊ธฐ๋ณธ๊ฐ’ ๋ฐฑ์—…
124
 
125
- # Jinja2 ์ง๋ ฌํ™” ์—๋Ÿฌ(unhashable type: 'dict') ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ํ…Œ๋งˆ๋ฅผ ๋ฌธ์ž์—ด("soft")๋กœ ์ •์˜
126
  theme_obj = "soft"
127
 
128
  interface_kwargs = {
@@ -147,8 +146,12 @@ interface_kwargs = {
147
  "cache_examples": False
148
  }
149
 
150
- # HF Spaces ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฃจํ”„๋ฐฑ ๊ฒ€์ฆ ์‹คํŒจ(ValueError) ์šฐํšŒ๋ฅผ ์œ„ํ•ด launch ์ธ์ž ์ตœ์†Œํ™”
151
- launch_kwargs = {}
 
 
 
 
152
 
153
  # ๋ฒ„์ „์— ๋งž์ถ˜ ํ…Œ๋งˆ ์ฃผ์ž… ํŒŒ์ดํ”„๋ผ์ธ
154
  if gradio_major < 5:
 
122
  except Exception:
123
  gradio_major = 4 # ๊ธฐ๋ณธ๊ฐ’ ๋ฐฑ์—…
124
 
 
125
  theme_obj = "soft"
126
 
127
  interface_kwargs = {
 
146
  "cache_examples": False
147
  }
148
 
149
+ # HF Spaces ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฃจํ”„๋ฐฑ ๊ฒ€์ฆ ์‹คํŒจ(ValueError)๋ฅผ ์™„๋ฒฝํžˆ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด
150
+ # server_name๊ณผ server_port๋ฅผ ๋ฐ”์ธ๋”ฉํ•˜๊ณ  theme์„ ๋ถ„๊ธฐํ•˜์—ฌ ์ฃผ์ž…ํ•ฉ๋‹ˆ๋‹ค.
151
+ launch_kwargs = {
152
+ "server_name": "0.0.0.0",
153
+ "server_port": 7860,
154
+ }
155
 
156
  # ๋ฒ„์ „์— ๋งž์ถ˜ ํ…Œ๋งˆ ์ฃผ์ž… ํŒŒ์ดํ”„๋ผ์ธ
157
  if gradio_major < 5:
requirements.txt CHANGED
@@ -4,7 +4,7 @@ langchain-openai
4
  langgraph
5
 
6
  # Gradio UI (HF ๋ฐฐํฌ ์‹œ HfFolder ์ถฉ๋Œ ๋ฐฉ์ง€์šฉ)
7
- gradio>=4.0.0
8
  huggingface_hub<1.0.0
9
 
10
  # ๋ฐ์ดํ„ฐ ํฌ๋กค๋ง ๋ฐ ์ฒ˜๋ฆฌ
 
4
  langgraph
5
 
6
  # Gradio UI (HF ๋ฐฐํฌ ์‹œ HfFolder ์ถฉ๋Œ ๋ฐฉ์ง€์šฉ)
7
+ gradio>=4.44.1
8
  huggingface_hub<1.0.0
9
 
10
  # ๋ฐ์ดํ„ฐ ํฌ๋กค๋ง ๋ฐ ์ฒ˜๋ฆฌ