Skip to content

Ocean data Hackathon

mangsgi/Ocean-Data

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐟 μ–‘μ‹λ“±λŒ€

2024 λΆ€μ‚° 해양데이터 해컀톀
κ°œλ°œκΈ°κ°„: 2024.10 ~ 2024.11


πŸ›³ ν”„λ‘œμ νŠΈ μ†Œκ°œ

  • μ–‘μ‹λ“±λŒ€λŠ” 2024λ…„ λΆ€μ‚° 해양데이터 해컀톀 λ³Έμ„  μ§„μΆœ 및 μž₯렀상 μˆ˜μƒ μž‘ν’ˆμœΌλ‘œ, ν•΄μ–‘κ³Ό λΉ…λ°μ΄ν„°μ˜ μœ΅ν•©μ„ 기반으둜 ν•΄μ–‘μ˜ λ””μ§€ν„Έ μ „ν™˜κ³Ό κΈ°ν›„ 변화에 λŒ€μ‘ν•˜λŠ” μ„œλΉ„μŠ€λ₯Ό κ°œλ°œν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 저희 λ“±λŒ€μ§€κΈ° νŒ€μ˜ μΆœν’ˆμž‘μ€ 'λ‚΄ 손 μ•ˆμ— λ“€μ–΄μ˜€λŠ” 양식업 λ„μš°λ―Έ' 둜, 양식업을 배우고자 ν•˜λŠ” μ²­λ…„ 어민듀을 λŒ€μƒμœΌλ‘œ ν•œ RAG 기반 챗봇 μ„œλΉ„μŠ€ 및 λ‹€μ–‘ν•œ ν•΄μ–‘ 데이터λ₯Ό μ œκ³΅ν•˜λŠ” μ›Ή μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

🎯 기술 μŠ€νƒ

  • Backend:
  • Frontend:
  • ETC:

🚣 λ“±λŒ€μ§€κΈ° νŒ€μ› μ†Œκ°œ

κΉ€λͺ…석 μ •μ§€μœ€ 이승재 κΉ€λ―Όκ²½
ML/Frontend ML/DL Backend Frontend
@mangsgi @enchantee00 @Ea3124 @kim-minkyoung
λΆ€μ‚°λŒ€ν•™κ΅ 정보컴퓨터곡학뢀 3ν•™λ…„ λΆ€μ‚°λŒ€ν•™κ΅ 정보컴퓨터곡학뢀 3ν•™λ…„ λΆ€μ‚°λŒ€ν•™κ΅ 정보컴퓨터곡학뢀 3ν•™λ…„ λΆ€μ‚°λŒ€ν•™κ΅ 정보컴퓨터곡학뢀 3ν•™λ…„


⭐️ 탄생 λ°°κ²½

3 4

⭐️ κΈ°λŠ₯ 1

7

⭐️ κΈ°λŠ₯ 2

8 9 10

⭐️ κΈ°λŠ₯ 3

12 13

⭐️ μ‚¬νšŒμ  의의

22


πŸ“ ν”„λ‘œμ νŠΈ μ£Όμš” ꡬ쑰

C:.
β”‚  app.py                              # Streamlit 메인 μ•± 파일 (μ‚¬μ΄λ“œ λ°” λ„€λΉ„κ²Œμ΄μ…˜ 포함)
β”‚  llm.py                              # LLM κ΄€λ ¨ μœ ν‹Έλ¦¬ν‹° 및 처리 ν•¨μˆ˜
β”‚  requirements.txt                    # ν•„μš”ν•œ Python νŒ¨ν‚€μ§€ λͺ©λ‘
β”‚  server.py                           # λ°±μ—”λ“œ μ„œλ²„ μ‹€ν–‰ 슀크립트 (Flask API)
β”‚
β”œβ”€.streamlit
β”‚      config.toml                     # Streamlit μ„€μ •
β”‚      secrets.toml                    # API ν‚€ 및 IP μ €μž₯ (e.g., ServiceKey)
β”‚
β”œβ”€components # page ꡬ성 파일
β”‚  β”‚  home.py                          # ν™ˆ νŽ˜μ΄μ§€ (Streamlit λžœλ”© νŽ˜μ΄μ§€)
β”‚  β”‚  chat.py                          # Chat νŽ˜μ΄μ§€ ꡬ성 (LLM 응닡 λ“±)
β”‚  β”‚  ocean.py                         # μ‹€μ‹œκ°„ 수온 데이터 및 예츑 μ‹œκ°ν™”
β”‚  β”‚
β”‚  β”œβ”€model
β”‚  β”‚      lstm_model_2012_2024.h5      # ν•™μŠ΅λœ 수온 예츑 LSTM λͺ¨λΈ
β”‚  β”‚      model.py                     # 수온 예츑 λͺ¨λΈ 둜직
β”‚  β”‚
β”‚  └─wiki
β”‚      β”‚  wiki.py                      # μœ„ν‚€ 메인 νŽ˜μ΄μ§€ (생물 λͺ©λ‘ ν‘œμ‹œ)
β”‚      └─ wiki_detail.py               # 생물 상세 νŽ˜μ΄μ§€ (쒅별 νŠΉμ„± ν‘œμ‹œ)
|
β”œβ”€data
β”‚  β”‚  daily_average_water_bui.csv     # κ΄€μΈ‘μ†Œ 별 일평균 뢀이 수온 데이터 2024.10.06 ~ 2024.11.4
β”‚  β”‚  daily_average_water_temp.csv    # κ΄€μΈ‘μ†Œ 별 일평균 수온 평균 데이터 2024.10.06 ~ 2024.11.4
β”‚  β”‚  observation_stations.csv        # 수온 κ΄€μΈ‘μ†Œ 정보
β”‚  β”‚  optimal_rearing_temperature.csv # 쒅별 적정 μ‚¬μœ‘ 수온
β”‚  β”‚  question.csv                    # 챗봇 λͺ¨λΈ νŒŒμΈνŠœλ‹μ„ μœ„ν•œ μ‚¬μš©μž 질문 데이터
β”‚  β”‚  wiki_data.csv                   # ν•΄μ–‘ 생물 μ’… 정보 데이터
β”‚  β”‚  yearly_temperature.csv          # 2024λ…„ νŠΉμ • 일별 수온 데이터
β”‚  β”‚
β”‚  └─images                           # Wiki νŽ˜μ΄μ§€μ— μ‚¬μš©λ˜λŠ” 이미지 λͺ¨μŒ
β”‚
└─faiss # FAISS DB
    β”œβ”€etc                              # 기타 생물 쒅에 λŒ€ν•œ 벑터 인덱슀
    β”‚      *.pkl, *.index              
    β”‚
    β”œβ”€fish                             # μ–΄λ₯˜ κ΄€λ ¨ 벑터 인덱슀
    β”‚      *.pkl, *.index
    β”‚
    β”œβ”€seaweed                          # ν•΄μ‘°λ₯˜ κ΄€λ ¨ 벑터 인덱슀
    β”‚      *.pkl, *.index
    β”‚
    └─shellfish                        # 패λ₯˜ κ΄€λ ¨ 벑터 인덱슀
           *.pkl, *.index

πŸ› οΈ μ„€μΉ˜ 및 μ‹€ν–‰ κ°€μ΄λ“œ

1. 리포지토리 클둠

git clone https://github.com/mangsgi/Ocean-Data.git

2. μ˜μ‘΄μ„± μ„€μΉ˜ (κ°€μƒν™˜κ²½ μ‚¬μš© μΆ”μ²œ)

  • 파이썬 버전 3.9.21
  • CUDA 버전 11.8
pip install -r requirements.txt

3. ν™˜κ²½ λ³€μˆ˜ μ„€μ •

  • .streamlit 폴더 λ‚΄ secrets.toml νŒŒμΌμ„ μƒμ„±ν•œ ν›„ μ•„λž˜μ™€ 같이 μ„€μ •ν•©λ‹ˆλ‹€:
# λ°˜λ“œμ‹œ KEYλŠ” λ¬Έμžμ—΄λ‘œ μ§€μ • 
BACKEND_IP="<your-backend-ip>"
ServiceKey="<your-service-key>" # ν•΄μ–‘μˆ˜μ‚°λΆ€ λ°”λ‹€λˆ„λ¦¬ ν•΄μ–‘μ •λ³΄μ„œλΉ„μŠ€ API
LOCATION_API_KEY="<your-api-key>" # Google Geolocation API

4. νŽ˜μ΄μ§€ μ‹€ν–‰

# Flask μ„œλ²„ μ‹€ν–‰
python server.py
# μ›Ή νŽ˜μ΄μ§€ μ‹€ν–‰
streamlit run app.py

πŸ“ˆ ν–₯ν›„ κ³„νš

  • RAG λͺ¨λΈ κ²½λŸ‰ν™” 및 μ„±λŠ₯ ν–₯상을 톡해 μ–Έμ œ μ–΄λ””μ„œλ‚˜ μ‚¬μš©κ°€λŠ₯ν•˜λ„λ‘ λ‘œμ»¬μ— μ„€μΉ˜κ°€λŠ₯ν•œ 챗봇 κ΅¬ν˜„
  • API μ œν•œμ΄ μ—†λŠ” GPSλ₯Ό ν†΅ν•œ μ œν•œμ—†λŠ” 정보 뢈러였기
    • ν˜„μž¬ Geolocation API μ œν•œμœΌλ‘œ 인해 μœ„λ„μ™€ 경도λ₯Ό κ³ μ •ν•˜κ³  API μ‚¬μš©μ€ 주석 μ²˜λ¦¬ν•œ μƒνƒœ
  • κΉƒν—ˆλΈŒ Actionλ₯Ό ν†΅ν•œ κ΄€μΈ‘μ†Œ 수온 정보 μ‹€μ‹œκ°„ μ—…λ°μ΄νŠΈ 및 CI/CD κ΅¬ν˜„
    • ν˜„μž¬λŠ” ν”„λ‘œμ νŠΈ λ‹Ήμ‹œλ₯Ό κΈ°μ€€μœΌλ‘œ κ΄€μΈ‘μ†Œλ³„ 데이터가 쑴재

About

Ocean data Hackathon

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 98.1%
  • Python 1.9%