๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Project ESG+AI/[์‚ผ์ •KPMG]ESG ๋ฐ์ดํ„ฐ ํ™œ์šฉ ํ’€์Šคํ… ๊ฐœ๋ฐœ

45์ผ์ฐจ.

by GreenJin_S2 2025. 12. 15.

 

ํด๋” ํŒŒ์ผ ์ƒ์„ฑ , ์œ„์—์„œ ๋ถ™์—ฌ๋„ฃ๊ธฐ

 

 


KoELECTRA ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด์„œ , ์˜ํ™” ๋ฆฌ๋ทฐ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด, ๊ธ์ •, ๋ถ€์ • ๊ฐ์„ฑ๋ถ„์„์„ ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ด. ํ—ˆ๊น…ํŽ˜์ด์Šค์—์„œ ๋‹ค์šด ๋ฐ›์€ ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ์ „๋žต์„ ์•Œ๋ ค์ค˜. -sonet ์œผ๋กœ ํ•˜๊ธฐ

 

ํ•ต์‹ฌ ์•„ํ‚คํ…์ฒ˜ ์ „๋žต ์š”์•ฝ

1. ๊ณ„์ธต ๊ตฌ์กฐ

  • API Layer: FastAPI ๋ผ์šฐํ„ฐ (์š”์ฒญ/์‘๋‹ต ์ฒ˜๋ฆฌ)
  • Service Layer: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ฐ ์ „์ฒ˜๋ฆฌ/ํ›„์ฒ˜๋ฆฌ
  • Model Layer: ๋ชจ๋ธ ๋กœ๋”ฉ ๋ฐ ์ถ”๋ก  (์‹ฑ๊ธ€ํ†ค ํŒจํ„ด)

2. ๋ชจ๋ธ ๋กœ๋”ฉ ์ „๋žต

  • ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด: ์„œ๋ฒ„ ์‹œ์ž‘ ์‹œ ๋ชจ๋ธ์„ ํ•œ ๋ฒˆ๋งŒ ๋กœ๋“œํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจํ™”
  • Lazy Loading ์˜ต์…˜: ์ฒซ ์š”์ฒญ ์‹œ ๋กœ๋“œ ๊ฐ€๋Šฅ
  • ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”: GPU ์‚ฌ์šฉ, ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ ๊ณ ๋ ค

3. ํด๋” ๊ตฌ์กฐ

 

4. API ์—”๋“œํฌ์ธํŠธ

  • POST /api/ml/review/sentiment - ๋‹จ์ผ ํ…์ŠคํŠธ ๋ถ„์„
  • POST /api/ml/review/sentiment/batch - ๋ฐฐ์น˜ ๋ถ„์„
  • GET /api/ml/review/model/info - ๋ชจ๋ธ ์ •๋ณด

๋ฌธ์„œ ์œ„์น˜: mdfile/KOELECTRA_SENTIMENT_ARCHITECTURE.md๋‹ค์Œ ๋‹จ๊ณ„:

  1. ๊ธฐ๋ณธ ํŒŒ์ผ ๊ตฌ์กฐ ์ƒ์„ฑ
  1. ๋ชจ๋ธ ๋กœ๋”ฉ ์ฝ”๋“œ ๊ตฌํ˜„
  1. API ์—”๋“œํฌ์ธํŠธ ๊ตฌํ˜„

 

 


 

 

 

 

ํŒŒ์ผ ๋ฐ ํด๋” ๋งŒ๋“ค๊ธฐ

 

 

@ai.seoeunjin.com/transformerservice/app/koelectra/koelectra_service.py ์—ฌ๊ธฐ์— @ai.seoeunjin.com/transformerservice/app/koelectra/koelectra_model ์ด ๋ชจ๋ธ๊ณผ ์—ฐ๊ฒฐํ•ด์„œ, postman์—์„œ ๊ฐ์ •์ด ์žˆ๋Š” ๋ฌธ์žฅ์„ ์ž…๋ ฅํ•˜๋ฉด, ๊ฐ์„ฑ์„ ๋ถ„์„ํ•ด์„œ json์œผ๋กœ ๋ฆฌํ„ดํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ƒ์„ฑํ•ด์ค˜.

 

 

@docker-compose.yaml ์—ฌ๊ธฐ์— @ai.seoeunjin.com/transformerservice ์ด ์„œ๋น„์Šค๋ฅผ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋งŒ๋“œ๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜.

 

local์— ๊ฒŒ์ดํŠธ์›จ์ด๋ž‘ ํŠธ๋žœ์Šคํฌ๋จธ ์„œ๋น„์Šค๋งŒ ๋„ฃ๊ณ  ๋‚˜๋จธ์ง€ ์ง€์šฐ๊ธฐ, ๋„ˆ๋ฌด ๋А๋ ค์„œ ๊ทธ๋Ÿผ

 

@docker-compose.yaml gateway์™€ transformerservice ์ปจํ…Œ์ด๋„ˆ 2๊ฐœ๋งŒ ๋„์›Œ์ค˜

 

 

ํ† ์น˜313์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ

 

# gateway + transformerservice ์‹คํ–‰
docker compose up

# ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰
docker compose up -d

# ํŠน์ • ์„œ๋น„์Šค๋งŒ ์‹คํ–‰
docker compose up gateway
docker compose up transformerservice

 

 

 

 

 

 

์–ด์ œ ๋งŒ๋“  ํŒŒ์ผ ์—ฌ๊ธฐ์— ๋„ฃ๊ธฐ

 

 

 

local์— ๊ฒŒ์ดํŠธ์›จ์ด๋ž‘ ํŠธ๋žœ์Šคํฌ๋จธ ์„œ๋น„์Šค๋งŒ ๋„ฃ๊ณ  ๋‚˜๋จธ์ง€ ์ง€์šฐ๊ธฐ, ๋„ˆ๋ฌด ๋А๋ ค์„œ ๊ทธ๋Ÿผ

 

@docker-compose.yaml gateway์™€ transformerservice ์ปจํ…Œ์ด๋„ˆ 2๊ฐœ๋งŒ ๋„์›Œ์ค˜

 

 

local์ด ๋ชจ๋“  ํŒŒ์ผ ๋‹ค ์žˆ๋Š” ๊ฒƒ

๋„์ปค ์ปดํฌ์ฆˆ ์•ผ๋ฏˆ-ํŒŒ์ผ์— ๋‘๊ฐœ๋งŒ ๋‚จ๊ธฐ๊ธฐ

 

 

 

 

 

์Šค์›จ๊ฑฐ๊ฐ€ ์•„๋ฌด๋Ÿฐ ๊ฐ’์ด ์—†๋‹ค๊ณ  ๋‚˜์™€. ์ด ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•ด์ค˜

 

 

 

 

 

๊ฒฝ๋กœ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•!!

 

 

ํ—ˆ๊น…ํŽ˜์ด์Šค ํ™ˆํŽ˜์ด์ง€ ํšŒ์›๊ฐ€์ž…ํ•จ!!

 

 

์•„์นจ์— ๋‹ค์šด ๋ฐ›์€ ํŒŒ์ผ์„ ์—ฌ๊ธฐ์— ๋„ฃ์–ด์•ผํ•จ!! 

 

 

 

 

 

 

์šฐ์„  ์˜ค๋Š˜์€ ์ด๊ฑฐ ๊นŒ์ง€ ํ•˜๊ณ  ์ด์ œ ๋žญ์ฒด์ธ์€ ๋‹ค๋ฅธํŒŒ์ผ์— ํ•˜๊ธฐ๋กœ ํ•จ!

 

 

 


 

 

 

์ € ํด๋” ์œ„์น˜์—์„œ ํ„ฐ๋ฏธ๋„ ์—ด๊ธฐ.

 

 

๋‹ค์Œ ๊ตฌ์กฐ์—์„œ langchain ์€ ์ด ์œ„์น˜์—์„œ ํ„ฐ๋ฏธ๋„ ์—ด๊ณ  conda activate torch313 ํ•œ ํ›„ 

git clone https://github.com/langchain-ai/langchain

์ด ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด , ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ์˜ ๋žญ์ฒด์ธ ํด๋”๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.