νλͺ , νλ‘μ νΈλͺ , κ°λ° κΈ°κ°, μ¬λ‘건 λλ ν μ€ μκ°
- ν μκ°
- νλ‘μ νΈ κ°μ
- κΈ°μ μ€ν
- μμ€ν ꡬ쑰 λ° νλ‘μ°
- μ£Όμ κΈ°λ₯
- λ°μ΄ν° νλ¦ λ° μ μ₯ λ°©μ
- UI κ΅¬μ± (Streamlit λ€μ€ νμ΄μ§)
- ERD
- UI(νμ΄μ§) ꡬμ±
λ°μΈμ | κΉλ΄ν | κΉλ―Όμ£Ό | μ΄μν¨ | μμΉμ₯ | μ±λ¦° |
---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
@github1 | @DamHA-Kim | @kmjj0801 | @lsh7159 | @SeungOk00 | @cofls99 |
- μλμ°¨ λ±λ‘ μμ λ€μν μ¬ν μ§νκ°μ μκ΄ κ΄κ³ λΆμ
- μ κΈ°μ°¨ μμ©ν λν₯ μμΈ‘
- κΈ°μ μλμ°¨ FAQ
- κΈ°μ κ³ κ° FAQ μΉ νμ΄μ§μμ μΉ΄ν κ³ λ¦¬λ³ μ§λ¬Έβλ΅λ³ μ 체 μμ§
- νμ΄μ§ μ²λ¦¬ λ° λ°λ³΅ λ°μ΄ν° μμ§ μλν
- κ²°κ³Όλ₯Ό csv νμΌλ‘ μ μ₯
- CSV νμΌ κΈ°λ° MySQL ν μ΄λΈ μμ± λ° λ°μ΄ν° μ½μ
- FAQ κ²μ + μΉ΄ν κ³ λ¦¬ νν° κΈ°λ₯
- μ¬ν μ§νμ λν λΆμ κ²°κ³Ό μΆλ ₯
- μ κΈ°μ°¨ λν₯
- selenium λ° beautifulsoupμΌλ‘ μΉνμ΄μ§λ₯Ό ν¬λ‘€λ§ μμ
- μμ§ λ°μ΄ν° μ μ₯ νν: CSV/XLSX (
kia_faq_data.csv
λ±) - μ΄ λ°μ΄ν°λ₯Ό
insert_db.py
λ‘ MySQL ν μ΄λΈkia_faq
μ μ μ₯ - μ€μκ° μ‘°νλ Streamlitμ΄ DBλ‘λΆν° μ§μ μ½λ λ°©μ λλ pandas CSV λ‘λ© λ°©μ
- DB μ μ μ 보λ
.env
νμΌμ μ μ₯ (host, port, user, password, db_name λ±)
CHAP1/
βββ assets/ # μ΄λ―Έμ§, λ‘κ³ λ± μ μ 리μμ€
β βββ electric_car.png
β βββ skn_logo.png
βββ common/ # κ³΅ν΅ μ νΈ λ° DB μ΄κΈ°ν μ½λ
β βββ .env # DB νκ²½ λ³μ νμΌ
β βββ create_db.sql # DB μ€ν€λ§ μμ± μΏΌλ¦¬
β βββ insert_db.py # CSV β MySQL λ°μ΄ν° μ½μ
μ€ν¬λ¦½νΈ
β βββ utils.py # DB μ μ λ° κΈ°ν μ νΈ ν¨μ
βββ data/
β βββ KIA_FAQ/
β βββ faq.py # Selenium κΈ°λ° FAQ ν¬λ‘€λ¬
β βββ kia_faq_data.csv # μμ§λ CSV λ°μ΄ν°
βββ pages/ # Streamlit λ€μ€ νμ΄μ§ ꡬμ±
β βββ faq_page.py # λ©μΈ FAQ κ²μ UI
β βββ 01. Region_Popul_Graph.py # μ§μλ³ μΈκ΅¬-μλμ°¨ λ±λ‘ μκ΄κ³μ
β βββ 02. Employment_and_Industry.py # κ³ μ©μμ-μ°μ
μκ΄κ³μ νμ΄μ§
β βββ 03. Number_of_Registering_Car.py # μ°¨λ λ±λ‘ μμ κ³ μ©/μλ/μ°μ
κ° μκ΄κ΄κ³ λΆμ
β βββ 04. Electric_Car_and_Infra.py # μ κΈ°μ°¨ λ±λ‘ λ° μΈνλΌ λΆν¬ νμ΄μ§
βββ src/
β βββ crawling.py # κΈ°ν ν¬λ‘€λ¬
βββ app.py # Streamlit 첫 νμ΄μ§
βββ requirements.txt # μ€μΉ νμ ν¨ν€μ§ λͺ©λ‘
app.py
λ Streamlitpage_config
κΈ°λ°μΌλ‘ μλ νμ΄μ§ λΌμ°ν- κ° νμ΄μ§λ λ 립μ μΌλ‘ κ΅¬μ± κ°λ₯ (κ²μ, μκ°ν, μ¬μ©μ μΈν°λμ λ±)
-
μ κ΅ κ³ μ©μ μ μΆμ΄
- μ°λλ³ λΌμΈκ·Έλν
- κ³ μ©μ μ λ° μ¦κ°μ¨ ν
-
μ§μλ³ κ³ μ©μ μ λ³ν
- μ§μλ³ μ°λλ³ λΌμΈκ·Έλν λ° ν
-
μ£Ό μ°μ λΆμ (3κ°λ νκ· )
- μ§μλ³ μ°μ λΉμ€ μν μ°¨νΈ
- νκ· κ³ μ©μ μ λ° λΉμ¨ ν
-
Top3 μ°μ κ΅° λΆμ
- μ§μλ³ λν μ°μ κ΅° λ‘λλ§΅ + μν μ°¨νΈ
- μμ½ ν (μ§μ, μ°μ , μμ, κ³ μ©μ μ)
-
κ³ μ©μ μ vs μ°¨λ λ±λ‘ μ
- μ§μλ³ μ°μ λ + μ ν νκ·μ
- μκ΄κ³μ λ° p-value λΆμ ν
-
μ§μ μλ vs μ°¨λ λ±λ‘ μ
- μ°μ λ μκ°ν λ° μκ΄κ΄κ³ λΆμ
-
μ°μ λ³ μν₯λ
- μ°μ μ΄ μ°¨λ/κ³ μ©μ μμ λ―ΈμΉλ μν₯ κ³μ κ·Έλν (coef + μλ¬λ°)
- Figure 1: 건물 μ β ννΈλ§΅ (ννΈκ°: λ©΄μ λΉ μΈκ΅¬μ)
- Figure 2: μΈκ΅¬ μ β ννΈλ§΅ (ννΈκ°: λ©΄μ λΉ κ±΄λ¬Ό μ)
- Figure 1: μ§μλ³ λ©΄μ λΉ μ κΈ°μ°¨ μ β λ§λκ·Έλν
- Figure 2: 2024λ μλ³ μ¦κ°λ β λΌμΈκ·Έλν
- Figure 1: μ§μλ³ νμ¬ λ°μ λ³νμ¨ β λ§λκ·Έλν
- Figure 1: μ°λλ³ λ©΄μ λΉ μΆ©μ μ μ β λ§λκ·Έλν
- λ°μΈμ: λ°μ΄ν° λΆμ κ°λ μ λ°°μ°κΈ° μ μ μΈμ¬μ΄νΈλ₯Ό λ½μΌλ €λ€λ³΄λ μ΄λ €μ΄ λΆλΆμ λΆλͺ ν μμμ§λ§ νμλ€ λͺ¨λ μμ§κ° λμ³μ λ€μν λ°©ν₯μΌλ‘ μ§νν΄λ³Ό μ μμ΄μ μ’μμ΅λλ€.
- κΉλ΄ν: νλμΊλ¦¬ κ°μ¬ν©λλ€. λλΆμ μ΄κΊ λλ¨Έλ‘ λ§μ΄ λ°°μκ°μ΅λλ€.
- κΉλ―Όμ£Ό:
- μ΄μν¨: LLMμ΄ λ§μ΄ λ°λ¬ν κ² κ°μ΅λλ€ cursor νλμ΄ μ§±μ λλ€.
- μ±λ¦°: μ΄λ² νλ‘μ νΈλ₯Ό ν΅ν΄ μ€μ λ°μ΄ν°λ₯Ό κ°μ§κ³ λ¨μν μμΉ λΉκ΅λ₯Ό λμ΄ μ‘°κ±΄λ³ μκ΄κ΄κ³λ₯Ό μ λμ μΌλ‘ λΆμνκ³ μκ°ννλ κ²½νμ ν μ μμμ΅λλ€. Streamlitμ νμ©ν λμ보λ ꡬνκ³Ό erd μ€κ³ κ³Όμ μ μννλ©΄μ λ°μ΄ν° λΆμ κ²°κ³Όλ₯Ό λꡬλ μ§κ΄μ μΌλ‘ μ κ·Όνκ³ ν΄μν μ μλ ννλ‘ μ λ¬νλ λ°©λ²μ μ€μμ±μ λ€μ νλ² λκΌμ΅λλ€. λΉλ‘ ν΅κ³μ μΌλ‘ μ μλ―Έν μκ΄κ΄κ³λ λ°κ²¬λμ§ μμμ§λ§, λ°μ΄ν° κΈ°λ°μΌλ‘ λ¬Έμ λ₯Ό μ μνκ³ κ²°κ³Όλ₯Ό μ μ λ ννλ‘ μ λ¬νλ μ κ³Όμ μ μ§μ μννλ©° λ°μ΄ν° λΆμμ νμμ κ°μΉμ νκ³ λͺ¨λλ₯Ό μ€κ°ν μ μλ μλ―Έ μλ νλ‘μ νΈμμ΅λλ€.
λ³Έ νλ‘μ νΈλ SK λ€νΈμμ€ AI μΊ ν 1κΈ° 3μ‘°μ νμ
κ²°κ³Όλ¬Όμ
λλ€.
νΌλλ°± λ° κ°μ μ¬νμ μΈμ λ νμν©λλ€!
# κ°μ νκ²½ μμ± λ° μ§μ
uv venv .venv --python 3.13
.venv/Scripts/activate
# κ°λ° νκ²½ μΈν
uv pip install -r requirements.txt
# DB μ΄κΈ°ν
mysql -u YOUR_USER -p < common/create_db.sql
# ν¬λ‘€λ§ μ€ν (CSV μμ±)
python data/KIA_FAQ/faq.py
# DB μ½μ
python common/insert_db.py
# Streamlit μ€ν
streamlit run app.py