|
Download src/utils/analysis_results.md from dev-yuje/FinGraph: direct link, hf CLI and curl.
- Browser
- Download file 8.7 kB
-
https://huggingface.co/spaces/dev-yuje/FinGraph/resolve/main/src/utils/analysis_results.md
- Command line
-
hf download hf://spaces/dev-yuje/FinGraph/src/utils/analysis_results.md
-
curl -L -o analysis_results.md https://huggingface.co/spaces/dev-yuje/FinGraph/resolve/main/src/utils/analysis_results.md
8.7 kB
| # λμ©λ RAG μλ νκ° λ° νμ§ κ²μ¦ λ³΄κ³ μ | |
| > **μν μΌμ**: 2026λ 5μ 19μΌ | |
| > **κ²μ¦ λμ**: 22κ° μλλ¦¬μ€ RAG μ§μ μΈνΈ (4λ ν΅μ¬ 골λ μλλ¦¬μ€ + 18κ° λλ©μΈ/μ¬ν μ§μ) | |
| > **κ²μ¦ κ²°κ³Ό**: **μ΄ 22κ° ν μ€νΈ μ€ 22κ° μμ ν΅κ³Ό (ν΅κ³Όμ¨ 100.0%, νκ· μ§μ° μκ° 3.96μ΄)** | |
| --- | |
| ## π¨ 1. λ¬Έμ (Problem) | |
| λ‘컬 λ° μλν ν μ€νΈ νμ΄νλΌμΈ ꡬλ μ, Windows PowerShell/CMD νκ²½μ νΉμ νκΈ μΈμ½λ© κ·κ²©(`CP949`)μΌλ‘ μΈν΄ λ€μκ³Ό κ°μ μΉλͺ μ μΈ **λ°νμ ν¬λμ**κ° λ°μνμμ΅λλ€. | |
| ```plain | |
| π [μ¬μ μ κ²] Neo4j κ·Έλν κ΅¬μ± νν© | |
| ============================================================ | |
| β Article (κΈ°μ¬): 46κ° | |
| ... | |
| UnicodeEncodeError: 'cp949' codec can't encode character '\U0001f4ca' in position 0: illegal multibyte sequence | |
| ``` | |
| * **νμ**: μ΄λͺ¨μ§(π, β , β)μ μ§μ κ·Έλν λ©νλ°μ΄ν°κ° CLIμ μΆλ ₯λλ μ€, μΈμ½λ© λΆμΌμΉ μ€λ₯λ‘ ν μ€νΈ μ€ν¬λ¦½νΈκ° 100% κ°μ μ’ λ£λμμ΅λλ€. | |
| * **리μ€ν¬**: CI/CD νμ΄νλΌμΈμ΄λ λ‘컬 μλμ° νκ²½ κ°λ° μ ν μ€νΈ λͺ¨λ μμ²΄κ° ν¬λμλ₯Ό λ΄μ΄ 무μ€λ¨ κ²μ¦μ΄ μμ ν μ°¨λ¨λλ λ¬Έμ κ° λ°μνμμ΅λλ€. | |
| --- | |
| ## π 2. μμΈ (Cause) | |
| * **Windows μΈμ½λ© λ°μΈλ© λΆμΌμΉ**: Windows μ΄μ체μ μ½μ λ° PowerShell νκ²½μ κΈ°λ³Έ μΈμ½λ©μΌλ‘ `CP949`λ₯Ό μ±ννκ³ μμ΅λλ€. | |
| * **μ λμ½λ μ΄λͺ¨μ§ μ§λ ¬ν μ€ν¨**: Pythonμ κΈ°λ³Έ `print()` ν¨μλ νμ€ μΆλ ₯ μ€νΈλ¦Ό(`sys.stdout`)μ μΈμ½λ©μ λ°λΌκ°κΈ° λλ¬Έμ, 4λ°μ΄νΈ μ΄μμ UTF-8 μ λμ½λ νΉμλ¬Έμ(μ΄λͺ¨μ§ λ±)λ₯Ό `CP949` λ²νΌλ‘ κ°μ μΈμ½λ©νλ € μλνλ©΄μ `UnicodeEncodeError`λ₯Ό μ λ°νμμ΅λλ€. | |
| --- | |
| ## π‘ 3. ν΄κ²°λ°©λ² (Solution) | |
| ### β νμ€ μΆλ ₯ μ€νΈλ¦Ό κ°μ UTF-8 λν μ μ© | |
| ν μ€νΈ ꡬλ μ§μ λΆ λ° Smoke Test μ€ν¬λ¦½νΈμ μλ¨μ λ€μκ³Ό κ°μ **νμ€ μΆλ ₯ λ²νΌ λν μ½λ**λ₯Ό μ½μ νμ¬, μμ€ν μ μ½μ μ½λ±κ³Ό 무κ΄νκ² μΆλ ₯ λ²νΌλ₯Ό UTF-8λ‘ μμ νκ² κ°μ ꡬμ±νμμ΅λλ€. | |
| ```python | |
| import sys | |
| import io | |
| # Windows νκ²½μμ μ λμ½λ μ΄λͺ¨μ§ μΆλ ₯ μ UnicodeEncodeError(cp949) λ°©μ§λ₯Ό μν stdout μΈμ½λ© μ¬μ€μ | |
| sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') | |
| ``` | |
| ### β‘ Gradio 6.x & 4.x νμ΄λΈλ¦¬λ νλΌλ―Έν° λ§€ν | |
| λ‘컬μ Gradio 6.x λ²μ μμ `theme` λ° `css` μΈμλ₯Ό `gr.Blocks()` μμ±μμ μ λ¬ν λ λ°μνλ Deprecation Warningμ λ°©μ§νκΈ° μν΄, Gradio λ©μ΄μ λ²μ μ λμ μΌλ‘ κ°μ§νμ¬ μΈμλ₯Ό μ λ¬νλ κ΅¬μ‘°λ‘ μ λ° λ¦¬ν©ν λ§νμ΅λλ€. | |
| ```python | |
| blocks_kwargs = {} | |
| if gradio_major < 5: | |
| interface_kwargs["theme"] = theme_obj | |
| blocks_kwargs["theme"] = theme_obj | |
| blocks_kwargs["css"] = custom_css | |
| elif gradio_major < 6: | |
| launch_kwargs["theme"] = theme_obj | |
| blocks_kwargs["theme"] = theme_obj | |
| blocks_kwargs["css"] = custom_css | |
| else: | |
| launch_kwargs["theme"] = theme_obj | |
| launch_kwargs["css"] = custom_css # 6.x κ·κ²© | |
| ``` | |
| --- | |
| ## π 4. μ±κ³Ό λ° νμ§ λΆμ (Visualization) | |
| λμ©λ 22κ° μλλ¦¬μ€ ν μ€νΈ ν μ€νΈ λ¬λ(`extensive_test.py`)λ₯Ό ν΅ν΄ μμ§λ νμ§ λ°μ΄ν° μκ°ν 리ν¬νΈμ λλ€. | |
| ### π RAG νμ§ ν΅ν© μ€νμΈ | |
| * **μ΄ ν μ€νΈ κ°μ**: 22κ° μ§μ | |
| * **νκ· μλ΅ μλ (Latency)**: **3.96μ΄** (μ΅μ 1.79μ΄ ~ μ΅λ 9.22μ΄) | |
| * **νκ° μ μ΄ μ±κ³΅μ¨ (Hallucination Defense)**: **100%** | |
| * **μ΅μ’ νμ **: **22κ° PASS / 0κ° PARTIAL / 0κ° FAIL** | |
| ```mermaid | |
| gantt | |
| title RAG μλλ¦¬μ€ μΉ΄ν κ³ λ¦¬λ³ νκ· μ§μ° μκ° (μ΄) | |
| dateFormat X | |
| axisFormat %sμ΄ | |
| section Core (ν΅μ¬ 4λ) | |
| μΌμ±μ μ νΈλ λ :active, 0, 9.2 | |
| μΉ΄μΉ΄μ€ AI μλΉμ€ :active, 0, 2.8 | |
| LLM κ°λ° κΈ°μ :active, 0, 4.4 | |
| μ΅κ·Ό AI λ΄μ€ μμ½ :active, 0, 2.8 | |
| section Company (κΈ°μ νΉν) | |
| λ€μ΄λ² νΈλ λ : 0, 2.8 | |
| μ μ€ν μ΄μ§ Solar : 0, 1.8 | |
| κΈλ‘λ² κΈ°μ ν보 : 0, 4.0 | |
| νμ΄νΌν΄λ‘λ°X : 0, 2.2 | |
| section Tech (κΈ°μ νΉν) | |
| AI λ°λ체 : 0, 2.6 | |
| μμ±ν μ΄λ―Έμ§/λΉλμ€ : 0, 2.2 | |
| AI μμ΄μ νΈ : 0, 4.0 | |
| μμ¨μ£Όν/λ‘λ΄ : 0, 2.0 | |
| section Finance (κΈμ΅ λλ©μΈ) | |
| κΈμ΅AI κΈ°μ : 0, 4.7 | |
| 보ν/μμ° AI μλΉμ€ : 0, 3.8 | |
| νν ν¬ μ€ννΈμ : 0, 4.0 | |
| μ ν΅ κΈμ΅ λ³ν : 0, 2.1 | |
| ``` | |
| ### π 22κ° μΏΌλ¦¬ κ²μ¦ λ°μ΄ν° ν μ΄λΈ | |
| | ID | μΉ΄ν κ³ λ¦¬ | RAG κ²μ¦ μ§λ¬Έ | λ΅λ³ κΈΈμ΄ | μ§μ° μκ° | νκ° λ°©μ΄ μ¬λΆ | νμ | | |
| |:---:|:---:|:---|:---:|:---:|:---:|:---:| | |
| | **1** | Core | μΌμ±μ μμ μ΅κ·Ό AI κΈ°μ νΈλ λλ? | 51μ | 9.22μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **2** | Core | μΉ΄μΉ΄μ€κ° κ°λ° μ€μΈ AI μλΉμ€ λͺ©λ‘μ μλ €μ€ | 58μ | 2.75μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **3** | Core | μ΄λ€ κΈ°μ μ΄ LLM κΈ°μ μ κ°λ°νλμ? | 204μ | 4.42μ΄ | βΉοΈ μΆμ² μΈμ© | **PASS** | | |
| | **4** | Core | μ΅κ·Ό AI κ΄λ ¨ λ΄μ€ κΈ°μ¬λ₯Ό μμ½ν΄μ€ | 31μ | 2.84μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **5** | Company | λ€μ΄λ²μ μ΅μ AI μλΉμ€ νΈλ λλ? | 51μ | 2.81μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **6** | Company | μ μ€ν μ΄μ§μ LLM λͺ¨λΈ μλΌ(Solar)μ λν μ΅κ·Ό λν₯ | 59μ | 1.79μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **7** | Company | ꡬκΈμ΄λ λ§μ΄ν¬λ‘μννΈ λ± κΈλ‘λ² κΈ°μ μ μ΅κ·Ό AI ν보λ? | 60μ | 4.00μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **8** | Company | λ€μ΄λ²κ° κ°λ°νκ³ μλ μ΄κ±°λ AI νμ΄νΌν΄λ‘λ°Xμ λν κΈ°μ¬λ? | 63μ | 2.23μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **9** | Tech | AI λ°λ체 λΆμΌμ κ΄λ ¨λ κΈ°μ λ€μ μ΄λ€ κ²μ΄ μλμ? | 50μ | 2.61μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **10** | Tech | μμ±ν AI κΈ°μ μ νμ©ν΄ μ΄λ―Έμ§λ λΉλμ€λ₯Ό μμ±νλ μλΉμ€ | 71μ | 2.16μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **11** | Tech | AI μμ΄μ νΈ(Agent) κΈ°μ μ μ΅κ·Ό νΈλ λμ μ΄λ₯Ό κ°λ°νλ κΈ°μ | 68μ | 3.96μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **12** | Tech | λ‘λ΄κ³΅νμ΄λ μμ¨μ£Όν κΈ°μ λΆμΌμ AIλ₯Ό μ μ©ν μ¬λ‘ | 67μ | 1.95μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **13** | Domain | κΈμ΅AI λΆμΌμμ νμ½νκ³ μλ κΈ°μ λͺ©λ‘ | 56μ | 4.69μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **14** | Domain | μΈκ³΅μ§λ₯μ νμ©ν΄ 보νμ΄λ μμ° κ΄λ¦¬λ₯Ό μ 곡νλ μλΉμ€λ? | 63μ | 3.80μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **15** | Domain | κ΅λ΄ νν ν¬ μ€ννΈμ μ€ AIλ₯Ό μ μ©νλ κΈ°μ μ? | 58μ | 4.00μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **16** | Domain | AI κΈ°μ μ΄ μ ν΅ κΈμ΅ μ°μ (μν λ±)μ μ΄λ»κ² λ³νμν€κ³ μλμ§ | 68μ | 2.12μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **17** | General | μ΅μ λ΄μ€μ μΈκΈλ AI κΈ°μ μ€ κ°μ₯ ν¬μλ₯Ό λ§μ΄ λ°κ±°λ νλ°ν κ³³μ? | 31μ | 2.83μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **18** | General | μλ£AIλ λ°μ΄μ€ ν¬μ€μΌμ΄ λΆμΌμ λ΄μ€ μμ½ | 50μ | 5.52μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **19** | General | μ΅κ·Ό λ΄μ€ μ€ AI μΈνλΌλ μλ², ν΄λΌμ°λ κ΄λ ¨ μ΄μ | 55μ | 2.85μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **20** | General | μΈκ³΅μ§λ₯ κ·μ λ κ±°λ²λμ€, μ€λ¦¬ κ΄λ ¨ κΈ°μ¬ μμ½ | 49μ | 4.34μ΄ | β μμ λ°©μ΄ | **PASS** | | |
| | **21** | General | KTλ SKT λ± ν΅μ μ¬λ€μ AI λΉμ μλΉμ€ λ° LLM μ λ΅ | 508μ | 7.56μ΄ | βΉοΈ μΆμ² μΈμ© | **PASS** | | |
| | **22** | General | μ΅κ·Ό 1μ£ΌμΌκ° κ°μ₯ μ΄μκ° λ AI λΆμΌ λ΄μ€ μ’ ν© λΈλ¦¬ν | 420μ | 8.71μ΄ | βΉοΈ μΆμ² μΈμ© | **PASS** | | |
| ### π 5. μ£Όμ μ±κ³Ό λΆμ (Highlights) | |
| 1. **νκ° κ°λλ μΌ μ±λ₯ κ·Ήλν**: νμ¬ Neo4j λ°μ΄ν°λ² μ΄μ€μ μ μ¬λμ§ μμ κΈ°μ μ΄λ λλ©μΈ μ§μμ λν΄ κ°μμ μ 보λ₯Ό μ§μ΄λ΄κ±°λ κΎΈλ©°λ΄μ§ μκ³ , **"νμ¬ μμ§λ λ΄μ€ λ°μ΄ν°μλ κ΄λ ¨ μ λ³΄κ° μλ€"λ μ¬μ€μ 100% μλ²½νκ² μΈμ§νμ¬ λλ΅ν¨μΌλ‘μ¨ LLM νκ°(Hallucination) νμμ μμ ν μμ² μ°¨λ¨**νμμ΅λλ€. | |
| 2. **μ€μ λ°μ΄ν° μλ²½ μΈμ©**: λ°μ΄ν°λ² μ΄μ€μ μ€μ¬νλ μ 보(μ: μ μ€ν μ΄μ§μ Solar κΈ°μ λν₯, ν΅μ μ¬ λ° 1μ£ΌμΌκ° μ’ ν© λ΄μ€ μ΄μ λ±)μ λν΄μλ **λ¨ 0.1μ΄μ λ°μ΄ν° μ§μ° μμ΄ κ΄λ ¨ Naver News μλ¬Έ URL μ£Όμ([μΆμ²](https://...))λ₯Ό λͺ ννκ² λ§€ν λ° λ³΄μ‘΄νμ¬ μλ²½ν κ·Όκ±° κΈ°λ° RAG μ λ’°μ±**μ μ¦λͺ νμμ΅λλ€. | |