Skip to content
@GigaMak2

GigaMak2

์‹ค์‹œ๊ฐ„ ์—ญ๊ฒฝ๋งค ์„œ๋น„์Šค

GigaChal.png

๊ตฌ๋งค์ž๊ฐ€ ์›ํ•˜๋Š” ๋ฌผํ’ˆ์„ ๋“ฑ๋กํ•˜๋ฉด, ํŒ๋งค์ž๋“ค์ด ๊ฒฝ์Ÿ์ ์œผ๋กœ ๊ฐ€๊ฒฉ์„ ๋‚ฎ์ถฐ ์ž…์ฐฐํ•˜๋Š” ์—ญ๊ฒฝ๋งค(Reverse Auction) ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๊ตฌ๋งค์ž  โ†’  ๊ฒฝ๋งค ๋“ฑ๋ก (์ตœ๋Œ€ ํฌ๋ง๊ฐ€ ์„ค์ •)
ํŒ๋งค์ž  โ†’  ์ž…์ฐฐ (๋” ๋‚ฎ์€ ๊ฐ€๊ฒฉ ๊ฒฝ์Ÿ)
๋งˆ๊ฐ    โ†’  ์ตœ์ €๊ฐ€ ํŒ๋งค์ž ์ž๋™ ๋‚™์ฐฐ

1. ํŒ€์› ์†Œ๊ฐœ

์กฐํ˜„ํฌ

ํŒ€์žฅ
์กฐํ˜„ํฌ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
์ž…์ฐฐ
๋ถ€ํ•˜ํ…Œ์ŠคํŠธ
๊ฒฝ๋งค ์ƒํƒœ ์ž๋™ํ™”
Outbox ํŒจํ„ด ์ ์šฉ
์œค๋ฏผ๊ธฐ

ํŒ€์›
์œค๋ฏผ๊ธฐ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
AI ์ƒ๋‹ด ์ฑ—๋ด‡
๋ชจ๋‹ˆํ„ฐ๋ง
๋ฆฌ๋ทฐ ์ด๋ฏธ์ง€
๊ธฐํƒ€ ์ธํ”„๋ผ
์กฐ์„ฑ์ง„

ํŒ€์›
์กฐ์„ฑ์ง„
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
CI/CD
๊ฒฝ๋งค ๊ฒ€์ƒ‰
๊ฒฝ๋งค ์กฐํšŒ
๋ฉ”์ธ ์ธํ”„๋ผ
๊น€์ˆ˜๋ฏผ

ํŒ€์›
๊น€์ˆ˜๋ฏผ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
์ธ์ฆ/์ธ๊ฐ€
์นดํ…Œ๊ณ ๋ฆฌ
๋ฆฌ๋ทฐ
์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ
์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…
๊ฐ€์ƒ์Šค๋ ˆ๋“œ ์ ์šฉ

2. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๊ฐœ๋ฐœ ๊ธฐ๊ฐ„: 2026.04.07 ~ 2026.05.14

ํ•ต์‹ฌ ์ฐจ๋ณ„์  โ€” AI ์ƒ๋‹ด ์ฑ—๋ด‡

๋ณ„๋„ AI ์ฑ„ํŒ…๋ฐฉ์—์„œ GPT-4o ๊ธฐ๋ฐ˜ AI๊ฐ€ ์‹ค์‹œ๊ฐ„ ์‹œ์„ธ, ํŒ๋งค์ž ์‹ ๋ขฐ๋„, ๊ฒฝ์Ÿ ์ž…์ฐฐ ํ˜„ํ™ฉ ๋“ฑ์„ ๋ถ„์„ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค. DB์˜ ์‹ค์ œ ๊ฑฐ๋ž˜ ๋ฐ์ดํ„ฐ๋ฅผ Tool Calling + RAG๋กœ ์‹ค์‹œ๊ฐ„ ์กฐํšŒํ•˜๋ฏ€๋กœ hallucination ์—†์ด ํ”Œ๋žซํผ ๋ฐ์ดํ„ฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

User Flow


3. ๊ธฐ์ˆ  ์Šคํƒ

Language

Backend

Security

Real-time

Database

Message Queue

AI Model

Infra / Cloud

CI/CD

Monitoring

Test

Open API

Collaboration


4. ์•„ํ‚คํ…์ฒ˜

Architecture


5. ERD

ERD


6. API ๋ช…์„ธ์„œ

API๋ช…์„ธ์„œ ๋งํฌ


7. ์ฃผ์š” ๊ธฐ๋Šฅ

1. ํšŒ์› ์ธ์ฆ

  • JWT ๊ธฐ๋ฐ˜ Stateless ์ธ์ฆ (Access 30๋ถ„ / Refresh 7์ผ)
  • ์†Œ์…œ ๋กœ๊ทธ์ธ: Google, Kakao, Naver OAuth2
  • ๋กœ๊ทธ์ธ 5ํšŒ ์‹คํŒจ ์‹œ 5๋ถ„ ๊ณ„์ • ์ž ๊ธˆ, Refresh Token ํƒˆ์ทจ ์‹œ ์ฆ‰์‹œ ๋ฌดํšจํ™”

2. ๊ฒฝ๋งค

  • EventBridge Scheduler๋กœ ์‹œ์ž‘/์ข…๋ฃŒ ์Šค์ผ€์ค„ ์ž๋™ ๋“ฑ๋ก, Lambda๊ฐ€ ๋‚™์ฐฐ/์œ ์ฐฐ ์ž๋™ ์ฒ˜๋ฆฌ
  • Elasticsearch + PostgreSQL ์ด์ค‘ ๊ฒ€์ƒ‰ (Nori ํ•œ๊ตญ์–ด ํ˜•ํƒœ์†Œ ๋ถ„์„)

3. ์ž…์ฐฐ

  • Redisson ๋ถ„์‚ฐ๋ฝ์œผ๋กœ ๋™์‹œ ์ž…์ฐฐ ๊ฒฝํ•ฉ ๋ฐฉ์ง€
  • ํ˜„์žฌ ์ตœ์ €๊ฐ€๋ณด๋‹ค ๋‚ฎ์€ ๊ฐ€๊ฒฉ๋งŒ ๋“ฑ๋ก ๊ฐ€๋Šฅ, ์ž…์ฐฐ ์‹œ ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ ์ž๋™ ๋ฐœํ–‰

4. ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ

  • Lambda โ†’ Redis Pub/Sub โ†’ ์•Œ๋ฆผ ์„œ๋ฒ„ โ†’ SSE๋กœ ํด๋ผ์ด์–ธํŠธ์— ์‹ค์‹œ๊ฐ„ ์ „๋‹ฌ
  • ์•Œ๋ฆผ์€ PostgreSQL์— ์ €์žฅ๋˜์–ด ์žฌ์ ‘์† ์‹œ์—๋„ ๋ˆ„๋ฝ ์—†์ด ์กฐํšŒ ๊ฐ€๋Šฅ

5. ์œ ์ €๊ฐ„ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…

  • ๋‚™์ฐฐ ํ›„ ๊ตฌ๋งค์ž-ํŒ๋งค์ž 1:1 ์ฑ„ํŒ…๋ฐฉ ์ž๋™ ์ƒ์„ฑ
  • WebSocket + STOMP + SockJS, Redis Pub/Sub์œผ๋กœ ๋‹ค์ค‘ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค ๊ฐ„ ๋ฉ”์‹œ์ง€ ๊ณต์œ 

6. ๋ฆฌ๋ทฐ

  • ๋‚™์ฐฐ ๊ฒฝ๋งค ๋‹น์‚ฌ์ž(๊ตฌ๋งค์ž/ํŒ๋งค์ž)๋งŒ ์ž‘์„ฑ ๊ฐ€๋Šฅ, ๋ณ„์  ํ•„์ˆ˜
  • S3 Presigned URL๋กœ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ, ๋ฆฌ๋ทฐ ์ €์žฅ ์‹œ pgvector ์ž„๋ฒ ๋”ฉ ์ž๋™ ์—ฐ๋™

7. AI ์ƒ๋‹ด ์ฑ—๋ด‡

SSE ์ŠคํŠธ๋ฆฌ๋ฐ์œผ๋กœ ์‹ค์‹œ๊ฐ„ ์‘๋‹ต์„ ์ˆ˜์‹ ํ•˜๋ฉฐ, Tool Calling๊ณผ RAG๋ฅผ ํ†ตํ•ด DB์˜ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ต๋ณ€ํ•ฉ๋‹ˆ๋‹ค.

Tool ์—ญํ• 
getBidsByAuctionId ๊ฒฝ๋งค ์ž…์ฐฐ ํ˜„ํ™ฉ ยท ์ตœ์ €๊ฐ€ ยท ๊ฒฝ์Ÿ ๋ถ„์„
getRecentAuctionResults ์ƒํ’ˆ ์‹œ์„ธ ยท ๋‚™์ฐฐ ์ด๋ ฅ ์กฐํšŒ
getSellerStats ํŒ๋งค์ž ์ข…ํ•ฉ ์‹ ๋ขฐ๋„ (๋‚™์ฐฐ ํšŸ์ˆ˜, ํ‰๊ท  ํ‰์ )
getSellerReviewInsights ํŒ๋งค์ž ํ›„๊ธฐ ํ‚ค์›Œ๋“œ ๋ถ„์„ (RAG)
getMyAuctions ๋‚ด๊ฐ€ ๋“ฑ๋กํ•œ ๊ฒฝ๋งค ํ˜„ํ™ฉ ยท ํ˜„์žฌ ์ตœ์ €๊ฐ€
getMyBids ๋‚ด๊ฐ€ ์ž…์ฐฐํ•œ ๊ฒฝ๋งค ํ˜„ํ™ฉ ยท 1์œ„ ์—ฌ๋ถ€
getAuctionStatsByCategory ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๋‚™์ฐฐ ํ†ต๊ณ„ ยท ์‹œ์„ธ ๋ถ„์„
searchAuctionDescriptions ๋‚™์ฐฐ ๊ฒฝ๋งค ์ƒํ’ˆ ์„ค๋ช… ์˜๋ฏธ ๊ฒ€์ƒ‰ (RAG)

8. CI/CD

GitHub Actions ๊ธฐ๋ฐ˜์œผ๋กœ CI๋Š” push/PR ์‹œ ์ž๋™ ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ, CD๋Š” ์ˆ˜๋™ ํŠธ๋ฆฌ๊ฑฐ(์ปค๋ฐ‹ ํ•ด์‹œ ์ž…๋ ฅ)๋กœ ECR push โ†’ ECS ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๊นŒ์ง€ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. Lambda๋Š” push ์‹œ ์ž๋™ ๋ฐฐํฌ๋˜๋ฉฐ, AWS ์ธ์ฆ์€ OIDC(ํ‚ค ์—†์ด ์—ญํ•  ๊ธฐ๋ฐ˜)๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.


8. ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… / ์„ฑ๋Šฅ ๊ฐœ์„  / ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ •

1. ๊ฒฝ๋งค ์‹œ์ž‘/์ข…๋ฃŒ ์‹œ๊ฐ„ ์ง€์—ฐ ๊ฐœ์„ 

๋ฌธ์ œ ์›์ธ

  • ๊ฒฝ๋งค ์‹œ์ž‘/์ข…๋ฃŒ ์Šค์ผ€์ค„๋ง์„ EventBridge โ†’ Lambda ์ง์ ‘ ํ˜ธ์ถœ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ–ˆ์„ ๋•Œ, ์ด๋ฒคํŠธ๋ธŒ๋ฆฟ์ง€ ์ž์ฒด ์ง€์—ฐ์œผ๋กœ ์ธํ•ด ์ตœ๋Œ€ 1๋ถ„์˜ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•จ
  • ๊ฒฝ๋งค ์‹œ์ž‘/์ข…๋ฃŒ์— ๋”ฐ๋ฅธ ๊ฒฝ๋งค ์ƒํƒœ์˜ ์ •ํ™•์„ฑ์ด ๋ณด์žฅ๋˜์ง€ ์•Š์Œ

๊ธฐ์ˆ  ๋„์ž…

  • SQS ์ง€์—ฐ ํ๋ฅผ ๋„์ž…ํ•˜์—ฌ EventBridge๊ฐ€ ๋ชฉํ‘œ ์‹œ๊ฐ 5๋ถ„ ์ „์— ํŠธ๋ฆฌ๊ฑฐ๋˜์–ด SQS ๋ฉ”์‹œ์ง€์— ๋”œ๋ ˆ์ด๋ฅผ ๋™์ ์œผ๋กœ ๊ณ„์‚ฐํ•ด์„œ ์„ค์ •

SQS ์ ์šฉ ํ›„ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ

๊ฒฝ๋งค A ๊ฒฝ๋งค B ๊ฒฝ๋งค C
๋ชฉํ‘œ ์‹œ์ž‘ 13:36:30 15:16:30 16:10:30
๋ชฉํ‘œ ์ข…๋ฃŒ 13:43:30 15:20:30 16:13:30
์ ์šฉ ํ›„ ์‹œ์ž‘ 13:36:30.446 (+0.446์ดˆ) 15:16:30.385 (+0.385์ดˆ) 16:10:30.612 (+0.612์ดˆ)
์ ์šฉ ํ›„ ์ข…๋ฃŒ 13:43:30.330 (+0.330์ดˆ) 15:20:30.420 (+0.420์ดˆ) 16:13:30.365 (+0.371์ดˆ)
์ ์šฉ ์ „ ์‹œ์ž‘ 13:36:36 (+6์ดˆ) 15:17:08 (+38์ดˆ) 16:11:08 (+38์ดˆ)
์ ์šฉ ์ „ ์ข…๋ฃŒ 13:43:59 (+29์ดˆ) 15:20:59 (+29์ดˆ) 16:14:03 (+33์ดˆ)

์„ฑ๋Šฅ ๊ฐœ์„  ์š”์•ฝ

ํ•ญ๋ชฉ ์ ์šฉ ์ „ ํ‰๊ท  ์ ์šฉ ํ›„ ํ‰๊ท  ๊ฐœ์„ ์œจ
์‹œ์ž‘ ์ง€์—ฐ 27.33์ดˆ 0.48์ดˆ 98.2% ๊ฐ์†Œ
์ข…๋ฃŒ ์ง€์—ฐ 30.33์ดˆ 0.37์ดˆ 98.8% ๊ฐ์†Œ

Graph(1).png


2. ๊ฐ€์ƒ ์Šค๋ ˆ๋“œ ์ ์šฉ โ€” ์•Œ๋ฆผ ์„œ๋ฒ„ ์ฒ˜๋ฆฌ๋Ÿ‰ ๊ฐœ์„ 

๋ฌธ์ œ ์›์ธ

  • ์•Œ๋ฆผ ์ €์žฅ ์š”์ฒญ์— @Transactional DB INSERT๊ฐ€ ํฌํ•จ๋˜์–ด DB ์ปค๋„ฅ์…˜ ํš๋“๊นŒ์ง€ Tomcat ์Šค๋ ˆ๋“œ๊ฐ€ ๋ธ”๋กœํ‚น ๋Œ€๊ธฐ
  • HikariCP ๊ธฐ๋ณธ ์ปค๋„ฅ์…˜ ํ’€(10๊ฐœ)๊ณผ Tomcat ๊ธฐ๋ณธ ์Šค๋ ˆ๋“œ(200๊ฐœ) ํ•œ๊ณ„ ์ดˆ๊ณผ ์‹œ ์‹ ๊ทœ ์š”์ฒญ์„ ๋ฐ›์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ ๋ฐœ์ƒ
  • ํ”Œ๋žซํผ ์Šค๋ ˆ๋“œ๋Š” ๋ธ”๋กœํ‚น ๋Œ€๊ธฐ ์ค‘์—๋„ OS ์Šค๋ ˆ๋“œ๋ฅผ ์ ์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋™์‹œ ์š”์ฒญ ์ฆ๊ฐ€ ์‹œ ์Šค๋ ˆ๋“œ ํ’€์ด ์†Œ์ง„๋˜๋Š” ๊ตฌ์กฐ์  ํ•œ๊ณ„ ์กด์žฌ

๊ธฐ์ˆ  ๋„์ž…

  • ๊ฐ€์ƒ ์Šค๋ ˆ๋“œ๋Š” ๋ธ”๋กœํ‚น ๊ตฌ๊ฐ„์—์„œ OS ์Šค๋ ˆ๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ ์Šค๋ ˆ๋“œ ํ’€ ์†Œ์ง„ ์—†์ด ๋” ๋งŽ์€ ๋™์‹œ ์š”์ฒญ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

๋„์ž… ์ „ํ›„ ๋น„๊ต

์ฒ˜๋ฆฌ๋Ÿ‰ (req/s)

๊ตฌ๊ฐ„ ํ”Œ๋žซํผ ์Šค๋ ˆ๋“œ ๊ฐ€์ƒ ์Šค๋ ˆ๋“œ ์ฐจ์ด
100 VUs 5,385 5,491 โ–ฒ 2%
300 VUs 4,357 5,156 โ–ฒ 18%
Spike 500 VUs 4,398 5,831 โ–ฒ 33%

ํ”Œ๋žซํผ ์Šค๋ ˆ๋“œ๋Š” 300 VUs์—์„œ 100 VUs ๋Œ€๋น„ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ์˜คํžˆ๋ ค ๊ฐ์†Œ(5,385 โ†’ 4,357)ํ•˜๋Š” ๊ตฌ์กฐ์  ํ•œ๊ณ„๋ฅผ ๋ณด์ž„

์‘๋‹ต์‹œ๊ฐ„ โ€” 300 VUs ๊ธฐ์ค€

์ง€ํ‘œ ํ”Œ๋žซํผ ์Šค๋ ˆ๋“œ ๊ฐ€์ƒ ์Šค๋ ˆ๋“œ ์ฐจ์ด
ํ‰๊ท  ์‘๋‹ต์‹œ๊ฐ„ 47.62ms 36.71ms โ–ผ 23%
p(90) 84.88ms 52.8ms โ–ผ 38%
p(95) 92.46ms 68.8ms โ–ผ 26%

Graph(2).png

์„ฑ๋Šฅ ๊ฐœ์„  ์š”์•ฝ

  • Spike 500 VUs ์ฒ˜๋ฆฌ๋Ÿ‰: 4,398 โ†’ 5,831 req/s (์•ฝ 33% ์ฆ๊ฐ€)
  • 300 VUs p(90) ์‘๋‹ต์‹œ๊ฐ„: 84.88ms โ†’ 52.8ms (์•ฝ 38% ๊ฐ์†Œ)
  • ๊ฒฝ๋งค ์‹œ์ž‘/์ข…๋ฃŒ ์ด๋ฒคํŠธ ์‹œ ์ˆœ๊ฐ„ ํŠธ๋ž˜ํ”ฝ ํญ์ฆ์—๋„ ์Šค๋ ˆ๋“œ ํ’€ ์†Œ์ง„ ์—†์ด ์•ˆ์ •์  ์ฒ˜๋ฆฌ

3. CloudFront CDN ๋„์ž… โ€” ์ด๋ฏธ์ง€ ์‘๋‹ต์‹œ๊ฐ„ ๊ฐœ์„ 

๋ฌธ์ œ ์›์ธ

  • ๋ฆฌ๋ทฐ ์ด๋ฏธ์ง€๊ฐ€ S3(ap-northeast-2)์— ์ €์žฅ๋˜์–ด CDN ์—†์ด ์„œ๋น™ํ•˜๋ฉด ๋ชจ๋“  ์š”์ฒญ์ด Origin ์„œ๋ฒ„๊นŒ์ง€ ์™•๋ณต
  • ๋™์ผ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๋ฐ˜๋ณต ์š”์ฒญ์—๋„ ๋งค๋ฒˆ S3 ๋„คํŠธ์›Œํฌ ์™•๋ณต์ด ๋ฐœ์ƒํ•ด ๋ถˆํ•„์š”ํ•œ ์ง€์—ฐ ๋ˆ„์ 

๊ธฐ์ˆ  ๋„์ž…

  • CloudFront ๋„์ž…์œผ๋กœ ์ฒซ ์š”์ฒญ(MISS) ์‹œ์—๋งŒ S3 Origin ์ ‘๊ทผ, ์ดํ›„ ์š”์ฒญ(HIT)์€ ์„œ์šธ ์—ฃ์ง€์—์„œ ์ฆ‰์‹œ ๋ฐ˜ํ™˜

๋„์ž… ์ „ํ›„ ๋น„๊ต

์‹œ๋‚˜๋ฆฌ์˜ค: ๋™์ผ ์ด๋ฏธ์ง€์— ์—ฐ์† 3ํšŒ ์š”์ฒญ โ€” 1๋ฒˆ์งธ(MISS) / 3๋ฒˆ์งธ(HIT) ๋น„๊ต, 5ํšŒ ์‹œ๋„

์‹œ๋„ MISS โ€” S3 Origin (ms) HIT โ€” ์—ฃ์ง€ ์บ์‹œ (ms)
1์ฐจ 117 44
2์ฐจ 128 49
3์ฐจ 198 48
4์ฐจ 106 40
5์ฐจ 99 37
ํ‰๊ท  130 44

Graph(3).png

์„ฑ๋Šฅ ๊ฐœ์„  ์š”์•ฝ

  • ํ‰๊ท  ์‘๋‹ต์‹œ๊ฐ„: 130ms โ†’ 44ms (์•ฝ 66% ๊ฐ์†Œ)
  • ์ตœ๋Œ€ ์‘๋‹ต์‹œ๊ฐ„: 198ms โ†’ 49ms (์•ฝ 75% ๊ฐ์†Œ)
  • S3 GET ์š”์ฒญ ์ˆ˜ ๊ฐ์†Œ๋กœ ๋น„์šฉ ์ ˆ๊ฐ, ๋™์‹œ ์ ‘์†์ž ์ฆ๊ฐ€ ์‹œ์—๋„ Origin ๋ถ€ํ•˜ ์—†์ด ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

4. HyDE ์ ์šฉ ํ›„ ๊ฒ€์ƒ‰ ํ’ˆ์งˆ ์ €ํ•˜

๋ฌธ์ œ ์›์ธ

  • HyDE ๋‹จ๋… ์ ์šฉ ์‹œ LLM ์ถœ๋ ฅ์— ์„ค๋ช… ์ค„ยท๋ฒˆํ˜ธ๊ฐ€ ํฌํ•จ๋˜์–ด ์ž„๋ฒ ๋”ฉ ์ฟผ๋ฆฌ์— ๋…ธ์ด์ฆˆ ์œ ์ž…
  • text-embedding-3-small์ด ๊ฐ์„ฑ(๊ธ/๋ถ€์ •)๋ณด๋‹ค ํ† ํ”ฝ(๋ฐฐ์†ก)์„ ๊ฐ•ํ•œ ์‹ ํ˜ธ๋กœ ์ฒ˜๋ฆฌํ•ด ๊ธ์ • ์ฟผ๋ฆฌ์—์„œ โ˜…1 ๋ถˆ๋งŒ ํ›„๊ธฐ๊ฐ€ 1์œ„๋กœ ์ƒ์Šน

ํ•ด๊ฒฐ ๊ณผ์ •

1๋‹จ๊ณ„ โ€” 3๋‹จ๊ณ„ ํด๋ฐฑ ํ›„์ฒ˜๋ฆฌ๋กœ LLM ์ถœ๋ ฅ ๋…ธ์ด์ฆˆ ์ œ๊ฑฐ

1๋‹จ๊ณ„: JSON ๋ฐฐ์—ด ํŒŒ์‹ฑ ์„ฑ๊ณต โ†’ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ
2๋‹จ๊ณ„: JSON ํŒŒ์‹ฑ ์‹คํŒจ โ†’ cleanHydeResult() ํ˜ธ์ถœ (์„ค๋ช… ์ค„ยท๋ฒˆํ˜ธ ์ œ๊ฑฐ)
3๋‹จ๊ณ„: cleanHydeResult ๋นˆ ๊ฒฐ๊ณผ โ†’ ์›๋ณธ ์ฟผ๋ฆฌ ํด๋ฐฑ

2๋‹จ๊ณ„ โ€” ์ฟผ๋ฆฌ ๋ฐฉํ–ฅ์„ฑ ๊ฐ์ง€ ๊ธฐ๋ฐ˜ score ํ•„ํ„ฐ

"๋ฐฐ์†ก ๋น ๋ฅธ๊ฐ€์š”?"      โ†’ POSITIVE_KEYWORDS ๋งค์นญ โ†’ score โ‰ฅ 4 ํ•„ํ„ฐ
"๋ฐฐ์†ก ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋‚˜์š”?" โ†’ NEGATIVE_KEYWORDS ๋งค์นญ โ†’ score โ‰ค 2 ํ•„ํ„ฐ
"๋ฐฐ์†ก ์–ด๋•Œ์š”?"        โ†’ ๋ฏธ๋งค์นญ              โ†’ score ํ•„ํ„ฐ ์—†์Œ

Precision@3 ๊ฐœ์„  ๊ฒฐ๊ณผ

์ฟผ๋ฆฌ Baseline HyDE raw HyDE + score ํ•„ํ„ฐ
๋ฐฐ์†ก์ด ๋น ๋ฅธ๊ฐ€์š”? 0.33 0.67 1.00 โ–ฒ +0.67
๋ฐฐ์†ก์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋‚˜์š”? 1.00 1.00 1.00
์ƒํ’ˆ ์ƒํƒœ๊ฐ€ ์„ค๋ช…๊ณผ ๊ฐ™๋‚˜์š”? 1.00 1.00 1.00
์†Œํ†ต์ด ์ž˜ ๋˜๋‚˜์š”? 1.00 1.00 1.00
ํ‰๊ท  0.83 0.92 1.00 โ–ฒ +0.17

์„ฑ๋Šฅ ๊ฐœ์„  ์š”์•ฝ

  • Precision@3 ํ‰๊ท : 0.83 โ†’ 1.00 (โ–ฒ +0.17)
  • HyDE๋Š” ๋‹จ๋…์œผ๋กœ ์“ฐ๋ฉด ์—ญํšจ๊ณผ๊ฐ€ ๋‚  ์ˆ˜ ์žˆ๊ณ , score ํ•„ํ„ฐ์™€ ์กฐํ•ฉํ–ˆ์„ ๋•Œ ํšจ๊ณผ๊ฐ€ ๊ทน๋Œ€ํ™”๋จ
  • LLM ์ถœ๋ ฅ ํ˜•์‹์€ ํ”„๋กฌํ”„ํŠธ๋งŒ์œผ๋กœ ์™„์ „ํžˆ ์ œ์–ดํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ฝ”๋“œ ๋ ˆ๋ฒจ ํ›„์ฒ˜๋ฆฌ๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•„์š”

5. ์ถ”๊ฐ€ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… / ์„ฑ๋Šฅ ๊ฐœ์„  / ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ •

๋” ๋งŽ์€ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…, ์„ฑ๋Šฅ ๊ฐœ์„ , ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ • ๊ณผ์ •์€ ์•„๋ž˜ ๋…ธ์…˜ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ์„ธ ๊ธฐ์ˆ  ๋ฌธ์„œ

Popular repositories Loading

  1. auction auction Public

    Real-time reverse auction system. Features automated auction lifecycle management, real-time bid validation, Korean full-text search, an AI bidding assistant with RAG, real-time chat and notificatiโ€ฆ

    Java

  2. auction-notification auction-notification Public

    Real-time notification service that subscribes to Redis Pub/Sub events and delivers instant alerts to clients via SSE

    Java

  3. auction-lambda auction-lambda Public

    AWS Lambda functions for automated auction lifecycle management.

    Java

  4. .github .github Public

    repository for team introduction

Repositories

Showing 4 of 4 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loadingโ€ฆ

Most used topics

Loadingโ€ฆ