AI Wiki - 100-hours-a-week/KTB4-5th-wiki GitHub Wiki

์˜ค์กฐ์‚ฌ๋งˆ์˜ AI ์„ค๊ณ„ Wiki

๋‹จ๊ณ„ ํŒŒ์ผ ์ด๋ฆ„ ์Šน์ธ ์—ฌ๋ถ€
1 1๋‹จ๊ณ„- API ๋ช…์„ธ์„œ ์ž‘์„ฑ O
2 2๋‹จ๊ณ„- ๋ชจ๋ธ ์ถ”๋ก  ์„ฑ๋Šฅ ์ตœ์ ํ™” O
3 3๋‹จ๊ณ„- ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ๋ชจ๋“ˆํ™” O
4 4๋‹จ๊ณ„- ๋ฉ€ํ‹ฐ์Šคํ… AI ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌํ˜„ ๊ฒ€ํ†  O
5 5๋‹จ๊ณ„- RAG ์ ์šฉ ์„ค๊ณ„ O
6 6๋‹จ๊ณ„- MCP ํ™œ์šฉ ์„ค๊ณ„ O
7 7๋‹จ๊ณ„- ์„œ๋น„์Šค ์ธํ”„๋ผ ํ™•์žฅ์„ฑ๊ณผ ๋ชจ๋‹ˆํ„ฐ๋ง ์„ค๊ณ„ O
8 8๋‹จ๊ณ„- ์ตœ์ข… ํ†ตํ•ฉ ์„ค๊ณ„ ๋ฐ ํšŒ๊ณ  O

๊ฐ„๋‹จ ์„ค๋ช…

์Šค๋งˆํŠธ ๋ƒ‰์žฅ๊ณ  ์„œ๋น„์Šค์˜ AI๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ดฌ์˜ํ•œ ์˜์ˆ˜์ฆยท์‹์žฌ๋ฃŒ ์‚ฌ์ง„์—์„œ ์žฌ๊ณ  ํ›„๋ณด๋ฅผ ๋งŒ๋“ค๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ํ™•์ธํ•œ ๋ณด์œ  ์žฌ๋ฃŒ์™€ ์†Œ๋น„๊ธฐํ•œ์„ ๊ทผ๊ฑฐ๋กœ ์‹ค์ œ๋กœ ๋งŒ๋“ค๊ธฐ ์‰ฌ์šด ๋ ˆ์‹œํ”ผ๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ๋Š” AI ๊ธฐ๋Šฅ์„ ์™ธ๋ถ€ API ํ•˜๋‚˜์— ์ข…์†์‹œํ‚ค์ง€ ์•Š๊ณ , ์ž์ฒด ๋ชจ๋ธ๊ณผ ๊ทœ์น™ ๊ธฐ๋ฐ˜ ์ฒ˜๋ฆฌ๋ฅผ ์ ์ง„์ ์œผ๋กœ ๋ฐœ์ „์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์„ค๊ณ„ ๋ฌธ์„œ์˜ ์ง„์ž…์ ์ž…๋‹ˆ๋‹ค.

AI๊ฐ€ ํ•ด๊ฒฐํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ์‚ฌ์šฉ์ž ๋ฌธ์ œ

์‹์žฌ๋ฃŒ ๋“ฑ๋ก ํ›„๋ณด ์ƒ์„ฑ

  • ์ž…๋ ฅ ์ด๋ฏธ์ง€๊ฐ€ ์˜์ˆ˜์ฆ์ธ์ง€ ์‹ค๋ฌผ ์‚ฌ์ง„์ธ์ง€ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒํ’ˆยท์‹์žฌ๋ฃŒ๋ช…, ์ˆ˜๋Ÿ‰, ์†Œ๋น„๊ธฐํ•œ ํ›„๋ณด๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
  • ํฌ์žฅ์—์„œ ์šฉ๋Ÿ‰์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ๊ณ ์ฒด๋Š” g, ์•ก์ฒด๋Š” ml๋กœ ํ‘œ์ค€ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ์„œ๋น„์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์ • ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์ •๊ทœํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ธ์‹ ๊ทผ๊ฑฐ์™€ ๋ถˆํ™•์‹ค์„ฑ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ธ์‹, ๋ฏธ์ธ์‹, ํ™•์ธ ํ•„์š”, AI ์˜ˆ์ƒ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜์ •ํ•œ ๋‚ด์šฉ์€ ์ €์žฅ์†Œยท๋™์˜ยท๋ณด๊ด€ยท์ฒ ํšŒ ์ •์ฑ…์ด ์Šน์ธ๋œ ๋’ค์—๋งŒ ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ๋กœ ์ถ•์ ํ•ฉ๋‹ˆ๋‹ค.

RECOGNIZED ์ƒํƒœ๋„ AI๊ฐ€ ์‚ฌ์šฉ์ž ์žฌ๊ณ ๋ฅผ ์ž๋™์œผ๋กœ ์ €์žฅํ•œ๋‹ค๋Š” ๋œป์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ถ„์„ ๊ฒฐ๊ณผ๋Š” ์ž„์‹œ ํ›„๋ณด์ด๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ํ™•์ธํ•œ ๋’ค์—๋งŒ ์„œ๋น„์Šค API๊ฐ€ ๋ƒ‰์žฅ๊ณ  ์žฌ๊ณ ์— ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” โ€˜์ž๋™ ํ™•์ •โ€™๋„ ๋ชจ๋ธ ๋‚ด๋ถ€์—์„œ ํ›„๋ณด ์ƒํƒœ์™€ ํ•„๋“œ ๊ทผ๊ฑฐ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค๋Š” ๋œป์ด๋ฉฐ, ์‚ฌ์šฉ์ž ์žฌ๊ณ ์— ์ž๋™ ์ €์žฅํ•œ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋ƒ‰์žฅ๊ณ  ๊ธฐ๋ฐ˜ ๋ ˆ์‹œํ”ผ ์ถ”์ฒœ

  • ํ˜„์žฌ ๋ณด์œ ํ•œ ์žฌ๋ฃŒ๋ฅผ ์ตœ๋Œ€ํ•œ ๋งŽ์ด ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์†Œ๋น„๊ธฐํ•œ์ด ๊ฐ€๊นŒ์šด ์žฌ๋ฃŒ์— ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ค๋‹ˆ๋‹ค.
  • ์„œ๋น„์Šค ๋ฐฑ์—”๋“œ๊ฐ€ ๊ถŒํ•œ ํ™•์ธ ํ›„ ์ „๋‹ฌํ•œ ์ œ์™ธ ์žฌ๋ฃŒ๋Š” ์ถ”์ฒœ ํ›„๋ณด๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ERD์—๋Š” ์•Œ๋ ˆ๋ฅด๊ธฐยท๋น„์„ ํ˜ธ ์„ค์ • ํ…Œ์ด๋ธ”์ด ์—†์œผ๋ฏ€๋กœ ์˜์† ์„ค์ • ์กฐํšŒ๋ฅผ ๊ฐ€์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • AI๋Š” ์ „๋‹ฌ๋ฐ›์€ ์žฌ๋ฃŒ๋กœ ์‹ํ’ˆ์•ˆ์ „๋‚˜๋ผ, TheMealDB, Tavily ์ˆœ์„œ์˜ ์Šน์ธ๋œ ์ถœ์ฒ˜์—์„œ ๋ ˆ์‹œํ”ผ๋ฅผ ๊ฒ€์ƒ‰ํ•ด AI PostgreSQL์— ์›๋ณธ์„ ์ €์žฅํ•˜๊ณ , ๊ทœ์น™์œผ๋กœ ์ˆœ์œ„๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค. Tavily๋Š” ์•ž์„  ๋‘ ์›์ฒœ์— ํ›„๋ณด๊ฐ€ ์—†์„ ๋•Œ๋งŒ ์‚ฌ์šฉํ•˜๋ฉฐ ๋ฐฑ์—”๋“œ MySQL์—๋Š” ๋ณ€๊ฒฝ๋ถ„์„ ๋‹จ๋ฐฉํ–ฅ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

๊ณ ์ • ์นดํ…Œ๊ณ ๋ฆฌ

AI๋Š” ๋‹ค์Œ ๋ชฉ๋ก ๋ฐ–์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ ํ‘œ์‹œ ์ด๋ฆ„
VEGETABLE ์ฑ„์†Œ
FRUIT ๊ณผ์ผ
MEAT ์œก๋ฅ˜
SEAFOOD ์ˆ˜์‚ฐ
DAIRY ์œ ์ œํ’ˆ
TOFU_BEAN ๋‘๋ถ€ยท์ฝฉ๋ฅ˜
GRAINS_NOODLE ๊ณก๋ฅ˜ยท๋ฉด
PROCESSED_FOOD ๊ฐ€๊ณต์‹ํ’ˆ
SEASONING ์–‘๋…
BEVERAGE ์Œ๋ฃŒ
OTHER ๊ธฐํƒ€

์นดํ…Œ๊ณ ๋ฆฌ ์ฝ”๋“œ๋Š” ๋ฐฑ์—”๋“œ API ๋ช…์„ธ์™€ ํ†ต์ผํ–ˆ์Šต๋‹ˆ๋‹ค(2026-10-08 GRAIN_NOODLEโ†’GRAINS_NOODLE, PROCESSEDโ†’PROCESSED_FOOD, ETCโ†’OTHER). ์นดํ…Œ๊ณ ๋ฆฌ OTHER๋Š” ๋ชจ๋ธ์ด ๋ถ„๋ฅ˜์— ์‹คํŒจํ–ˆ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์ด ์•„๋‹ˆ๋ผ, ์‹์žฌ๋ฃŒ๋Š” ์‹๋ณ„ํ–ˆ์ง€๋งŒ ์•ž์„  ์—ด ๊ฐœ ์นดํ…Œ๊ณ ๋ฆฌ์— ์†ํ•˜์ง€ ์•Š์„ ๋•Œ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์ด ๊ฐ™์€ ์ž…๋ ฅ ์ด๋ฏธ์ง€ ์œ ํ˜•(documentType)์˜ OTHER์™€๋Š” ๋‹ค๋ฅธ ํ•„๋“œ์ž…๋‹ˆ๋‹ค.

์„ค๊ณ„ ์›์น™

  • AI์˜ ์ถ”์ •๊ณผ ์ด๋ฏธ์ง€์—์„œ ์ง์ ‘ ํ™•์ธํ•œ ์‚ฌ์‹ค์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
  • ์†Œ๋น„๊ธฐํ•œ๊ณผ ์•Œ๋ ˆ๋ฅด๊ธฐ์ฒ˜๋Ÿผ ์•ˆ์ „์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ฐ’์€ ๋ชจ๋ธ์ด ์ž„์˜๋กœ ํ™•์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฏธ์ง€ ๋ถ„์„์€ ์ž์ฒด ๋ชจ๋ธ(์›๊ฒฉ GPU Worker)๊ณผ ๊ทœ์น™์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ , ํ™•์ •ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฐ๊ณผ๋Š” ์‚ฌ์šฉ์ž ํ™•์ธ์ด๋‚˜ ์ง์ ‘ ์ž…๋ ฅ์œผ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • OCR, ๋ฌธ์„œ ๋ถ„๋ฅ˜, ์นดํ…Œ๊ณ ๋ฆฌ ๋ถ„๋ฅ˜, ์ถ”์ฒœ ๋žญํ‚น์€ ์ž์ฒด ๋ฐ์ดํ„ฐ์™€ ๋ชจ๋ธ๋กœ ๊ณ„์† ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋ธ์ด ์‹คํŒจํ•ด๋„ ์‚ฌ์šฉ์ž๋Š” ์ง์ ‘ ์ž…๋ ฅ์œผ๋กœ ๋ƒ‰์žฅ๊ณ  ์žฌ๊ณ ๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋ธ ๋ณ€๊ฒฝ์€ ์ •ํ™•๋„, ์ง€์—ฐ์‹œ๊ฐ„, ๋น„์šฉ์„ ๊ฐ™์€ ํ‰๊ฐ€ ์„ธํŠธ์—์„œ ๋น„๊ตํ•œ ๋’ค ์Šน์ธํ•ฉ๋‹ˆ๋‹ค.
  • ERD์˜ measure_type์— ๋”ฐ๋ผ ๊ฐœ์ˆ˜์™€ ์ค‘๋Ÿ‰ยท์šฉ๋Ÿ‰์„ ๋ฐฐํƒ€์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ, ํ™•์ธํ•  ์ˆ˜ ์—†๋Š” ์ธก์ •๊ฐ’์€ ์ž„์˜๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ธฐ์ค€ ๋ชจ๋ธ ๊ตฌ์„ฑ

์—ญํ•  1์ฐจ ์„ ์ • ๋ชจ๋ธยท๊ธฐ์ˆ  ์„œ๋น„์Šค ์ ์šฉ ๋ฐฉ์‹
์ด๋ฏธ์ง€ ์ž…๋ ฅ ์œ ํ˜• ๋ถ„๋ฅ˜ MobileNetV3-Small ์˜์ˆ˜์ฆยท์‹ค๋ฌผยท๊ธฐํƒ€ ๋ถ„๋ฅ˜. ์‹ ๋ขฐ๋„ 0.8ยท1ยท2์œ„ ์ฐจ์ด 0.2 ๋ฏธ๋งŒ์ด๋ฉด OCR ๊ทœ์น™์œผ๋กœ ํด๋ฐฑ
ํ•œ๊ตญ์–ด OCR PP-OCRv5 (์„œ๋ฒ„ ๊ฒ€์ถœ + ํ•œ๊ตญ์–ด ๋ชจ๋ฐ”์ผ ์ธ์‹) ์˜์ˆ˜์ฆ ์ƒํ’ˆํ–‰, ํฌ์žฅ ์ƒํ’ˆ๋ช…, ์†Œ๋น„๊ธฐํ•œ, ์šฉ๋Ÿ‰ ๋ฌธ์ž ์ธ์‹
์ƒํ’ˆ ํŒ๋ณ„ ๋ณด์กฐ ์ž๋ฃŒ PostgreSQL ์ƒํ’ˆ ์นดํƒˆ๋กœ๊ทธยท๋ณ„์นญ(์ •ํ™• ์ผ์น˜ โ†’ ์œ ์‚ฌ๋„) + ํ‚ค์›Œ๋“œ ๊ทœ์น™ ํ™•์‹คํ•œ ์ƒํ’ˆ์€ ๋ชจ๋ธ ํ˜ธ์ถœ ์—†์ด ์ด๋ฆ„ยท์นดํ…Œ๊ณ ๋ฆฌ ํ™•์ •
๋ชจ๋ฅด๋Š” ์˜์ˆ˜์ฆ ์ƒํ’ˆ ํŒ๋ณ„ Ollama gemma4:e2b (5.1B, Q4_K_M) ๊ทœ์น™ยท์นดํƒˆ๋กœ๊ทธ๋กœ ํ™•์ •ํ•˜์ง€ ๋ชปํ•œ OCR ์ƒํ’ˆํ–‰๋งŒ GPU Worker์—์„œ ๋ณด์™„
์‹ค๋ฌผ ์ด๋ฏธ์ง€ ํ•ด์„ YOLO-World yolov8s-worldv2 + Gemma ๋น„์ „ YOLO๋กœ ํฌ์žฅ ์˜์—ญ์„ ๋‚˜๋ˆ„๊ณ  ์˜์—ญ๋ณ„ OCR ํžŒํŠธ์™€ ํ•จ๊ป˜ Gemma๊ฐ€ ์ƒํ’ˆ๋ช…ยท์นดํ…Œ๊ณ ๋ฆฌ ํŒ๋ณ„. ๋ฐ”์ฝ”๋“œ๋Š” ๋ณด๋ฅ˜
๋ ˆ์‹œํ”ผยท๋ณด๊ด€ ์ง€์‹ ๊ฒ€์ƒ‰ PostgreSQL ๋ณด๊ด€ ์ž๋ฃŒยทAI PostgreSQL ๋ ˆ์‹œํ”ผ ๊ฒ€์ƒ‰ ๋ณด๊ด€ ์ž๋ฃŒ๋Š” receipt_ai.shelf_life_rules์—์„œ ์กฐํšŒํ•˜๊ณ  ๋ ˆ์‹œํ”ผ ์›๋ณธ์€ ๋ฐฑ์—”๋“œ MySQL๊ณผ ๋™๊ธฐํ™”
๋ ˆ์‹œํ”ผ ์ˆœ์œ„ ๊ทœ์น™ ๊ธฐ๋ฐ˜ ๋žญ์ปค โ†’ LightGBM LambdaMART ์ดˆ๊ธฐ์—๋Š” ์ž„๋ฐ•๋„ยท์žฌ๋ฃŒ ํ™œ์šฉ๋ฅ ๋กœ ๊ณ„์‚ฐํ•˜๊ณ  ์‚ฌ์šฉ์ž ํ–‰๋™์ด ์Œ“์ด๋ฉด ํ•™์Šต ๋žญ์ปค๋กœ ๋ฐœ์ „
์ถ”์ฒœ ์„ค๋ช… ์ดˆ๊ธฐ ์ถœ์‹œ์—์„œ๋Š” ํ…œํ”Œ๋ฆฟ ์ถ”์ฒœ ๊ทผ๊ฑฐ๋ฅผ ์งง๊ฒŒ ์„ค๋ช…ํ•˜๋ฉฐ ๋ ˆ์‹œํ”ผ ์›๋ฌธ์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์Œ. ์†Œํ˜• ์–ธ์–ด ๋ชจ๋ธ์€ ์ดํ›„ ๋ฒ„์ „์˜ ๊ฒ€์ฆ ํ›„๋ณด

์„ ์ • ๊ทผ๊ฑฐ์™€ ํŠœ๋‹ยท์ตœ์ ํ™”ยท๊ต์ฒด ๊ธฐ์ค€์€ ๋‹จ๊ณ„ 2: ๋ชจ๋ธ ์ถ”๋ก  ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ๋‹จ๊ณ„๋ณ„ ๋ฌธ์„œ๋Š” ํ˜„์žฌ AI Wiki์— ๋ ˆ๋ฒจ ๋ณ„๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ธก์ •๊ฐ’ ํ‘œ์ค€ํ™” ์›์น™

  • measure_type=COUNT์ด๋ฉด quantity๋Š” 1~100์˜ ์ •์ˆ˜์ด๊ณ  weight_value=null, weight_unit=NONE์ž…๋‹ˆ๋‹ค.
  • measure_type=WEIGHT์ด๋ฉด quantity=null, weight_value๋Š” ์–‘์ˆ˜์ด๊ณ  weight_unit์€ G ๋˜๋Š” ML์ž…๋‹ˆ๋‹ค.
  • ๊ณ ์ฒดยท๋ถ„๋งยท๋ฉดยท์œก๋ฅ˜ยท์ฑ„์†Œ ๋“ฑ ์ค‘๋Ÿ‰ ๊ธฐ๋ฐ˜ ์‹ํ’ˆ์€ g๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฌผยท์šฐ์œ ยท์Œ๋ฃŒยท์•ก์ƒ ์–‘๋… ๋“ฑ ๋ถ€ํ”ผ ๊ธฐ๋ฐ˜ ์‹ํ’ˆ์€ ml๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฏธ์ง€์—์„œ kg๋ฅผ ์ฝ์œผ๋ฉด g, L๋ฅผ ์ฝ์œผ๋ฉด ml๋กœ ํ™˜์‚ฐํ•ฉ๋‹ˆ๋‹ค.
  • 1 kg = 1,000 g, 1 L = 1,000 ml์˜ ๋‹จ์ˆœ ๋‹จ์œ„ ํ™˜์‚ฐ๋งŒ ์ž๋™ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์ฒด์˜ ๋ถ€ํ”ผ๋ฅผ ์ค‘๋Ÿ‰์œผ๋กœ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ์•ก์ฒด์˜ ์ค‘๋Ÿ‰์„ ๋ถ€ํ”ผ๋กœ ๋ฐ”๊พธ๋Š” ๋ฐ€๋„ ํ™˜์‚ฐ์€ ์ž๋™ ์ ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ERD๋Š” ๊ฐœ์ˆ˜์™€ ์ค‘๋Ÿ‰์„ ํ•œ ์žฌ๊ณ  ํ–‰์— ๋™์‹œ์— ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 2๊ฐœ์ž… 500g์ฒ˜๋Ÿผ ์šฉ๋Ÿ‰์ด ๋ณด์ด๋ฉด ์ด์ค‘๋Ÿ‰ 500g(WEIGHT) ํ›„๋ณด๋กœ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ํ™•์ธ ํ™”๋ฉด์—์„œ ๊ฐœ์ˆ˜ ๊ด€๋ฆฌ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ˆซ์ž๋‚˜ ๋‹จ์œ„๊ฐ€ ๋ถˆ๋ช…ํ™•ํ•˜๋ฉด ํ™•์ธ ํ•„์š”๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ „์ฒด ํ๋ฆ„๋„

flowchart TD
    I[์ž…๋ ฅ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ] --> Q[EC2 FastAPI ์ธ๋ฉ”๋ชจ๋ฆฌ ํ]
    Q --> C[์†Œ๋น„์ž ์ฝ”๋ฃจํ‹ด 2๊ฐœ]
    C -->|์„œ๋ช… URL| W[์›๊ฒฉ GPU WorkerยทMobileNetV3]
    W -- ์˜์ˆ˜์ฆ --> R[PP-OCRv5 ๋ถ„์„]
    W -- ์‹ค๋ฌผ --> P[PP-OCRv5ยทYOLO-WorldยทGemma ๋น„์ „]
    W -- ๊ธฐํƒ€ --> N[๋นˆ ๊ฒฐ๊ณผยท์žฌ์ดฌ์˜ยท์ง์ ‘ ์ž…๋ ฅ]
    R --> G[๋ฏธํ™•์ • ํ–‰๋งŒ Gemma ๋ณด์™„]
    G --> D[EC2 ๊ทœ์น™ยทPostgreSQL ์นดํƒˆ๋กœ๊ทธ ํ™•์ •]
    P --> D
    D --> V[๊ฒฐ๊ณผ ๊ฒ€์ฆยท์ƒํƒœ ํŒ์ •]
    V --> M[์ธ๋ฉ”๋ชจ๋ฆฌ ์ƒํƒœยท๊ฒฐ๊ณผ]
    M --> B[๋ฐฑ์—”๋“œ ์™„๋ฃŒ ์ฝœ๋ฐฑ]
    B --> U[์‚ฌ์šฉ์ž ํ™•์ธยท์ˆ˜์ •]
    U --> F[๋ƒ‰์žฅ๊ณ  ์žฌ๊ณ  ๋“ฑ๋ก]

์ด ๊ทธ๋ฆผ์€ ์„œ๋น„์Šค์˜ ์ด๋ฏธ์ง€ ๋ถ„์„ ํ๋ฆ„์„ ์š”์•ฝํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ์ถ”๋ก ์€ ์›๊ฒฉ GPU Worker๊ฐ€, ํยทํ›„์ฒ˜๋ฆฌยท์ฝœ๋ฐฑ์€ EC2 FastAPI๊ฐ€ ๋งก์Šต๋‹ˆ๋‹ค. ํ์™€ ์ง„ํ–‰ ์ƒํƒœ๋Š” FastAPI ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ์—๋งŒ ์žˆ์–ด ์žฌ์‹œ์ž‘ ์‹œ ์ฒ˜๋ฆฌ ์ค‘์ด๋˜ ์ž‘์—…์€ ๋ณต๊ตฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™„๋ฃŒ๋œ ๊ฒฐ๊ณผ๋Š” ํ”ผ๋“œ๋ฐฑ ์›๋ณธ์œผ๋กœ ์“ฐ๊ธฐ ์œ„ํ•ด AI PostgreSQL์—๋„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์‹œํ”ผ๋Š” ๊ฒ€์ƒ‰ ํ›„ AI PostgreSQL์— ์ €์žฅํ•˜๊ณ  ๋ฐฑ์—”๋“œ MySQL๋กœ ๋‹จ๋ฐฉํ–ฅ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.