Skip to content

beyond-sw-camp/be17-fin-Halo-CoreBridge-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CoreBridge ์•„์ด์ฝ˜ CoreBridge

CoreBridge ๋กœ๊ณ 

3ํŒ€ - Halo



๐Ÿ‘จโ€๐Ÿ’ป ํŒ€์› ๊ตฌ์„ฑ




๋ฐฐํฌ ์ ‘์† ์ฃผ์†Œ

ํ”„๋ก ํŠธ

๋ฐฑ์—”๋“œ




๐Ÿš€ CoreBridge AI Pipeline

image



AI ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ์ฑ„์šฉ ๋งค์นญ ์‹œ์Šคํ…œ์˜ ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ์„ ์ง์ ‘ ์„ค๊ณ„ยท๊ตฌํ˜„ยท์ž๋™ํ™”ยท๋ชจ๋‹ˆํ„ฐ๋งํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์ด๋ ฅ์„œ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์š”์•ฝ โ†’ ์Šคํ‚ฌ ์ถ”์ถœ โ†’ ์ž„๋ฒ ๋”ฉ โ†’ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ โ†’ ๋งค์นญ โ†’ LLM ์Šค์ฝ”์–ด๋ง โ†’ DB ์ €์žฅ๊นŒ์ง€ ์ด 8๋‹จ๊ณ„์˜ End-To-End AI Workflow๋ฅผ n8n์„ ์ด์šฉํ•ด ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฒ˜์Œ์—๋Š” /spring/ai ํŒŒ์ผ์— ์žˆ๋Š” java spring ์ฝ”๋“œ์ฒ˜๋Ÿผ AI server๋กœ ์ง์ ‘ ํŠธ๋ฆฌ๊ฑฐ ํ•˜์˜€์œผ๋‚˜, ์ ์ฐจ /spring/personal ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•ด ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•์„ ์œ„ํ•ด ๋…ธ์ฝ”๋“œ(no-code)๊ธฐ๋ฐ˜ n8n ์˜คํ”ˆ์†Œ์Šค ์›Œํฌํ”Œ๋กœ์šฐ ์ž๋™ํ™” ๋„๊ตฌ์™€ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.



Animation10



๐ŸŽฏ ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

  • ์ฑ„์šฉ ๊ณผ์ • ์ค‘ ์„œ๋ฅ˜ ๊ฒ€ํ† ์— ๋„์›€์„ ์ฃผ์–ด ์„œ๋ฅ˜ ๊ฒ€ํ† ์‹œ๊ฐ„ ๋‹จ์ถ•
  • LLM ๊ธฐ๋ฐ˜ ํ…์ŠคํŠธ ์ดํ•ด + ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๊ธฐ์ˆ ๋กœ JD-์ง€์›์ž ๋งค์นญ ์ •ํ™•๋„ ํ–ฅ์ƒ
  • n8n์„ ์ด์šฉํ•ด ํŒŒ์ดํ”„๋ผ์ธ ์ž๋™ํ™” ๋ฐ ์˜ค๋ฅ˜ ์—†๋Š” ํ๋ฆ„ ๊ตฌ์„ฑ
  • Prometheus + Grafana ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐ ๋ณ‘๋ชฉ ํŒŒ์•…



๐Ÿง  ์ „์ฒด ์•„ํ‚คํ…์ฒ˜ ๊ฐœ์š”

image
1๋‹จ๊ณ„: ์›นํ›… ์ˆ˜์‹  ์žฌ๊ฐœ(n8n) โ†’ ํ…์ŠคํŠธ ์ถ”์ถœ Resume Input (Webhook)
2๋‹จ๊ณ„: AI ์š”์•ฝ ์ƒ์„ฑ(FastAPI๋ฅผ ํ†ตํ•œ Ollama LLM)
3๋‹จ๊ณ„: ์Šคํ‚ฌ ์ถ”์ถœ(FastAPI๋ฅผ ํ†ตํ•œ Ollama LLM)
4๋‹จ๊ณ„: ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ(FastAPI + nomic-embed-text)
5๋‹จ๊ณ„: ๋ฒกํ„ฐ ์Šคํ† ๋ฆฌ์ง€(Redis with RediSearch)
6๋‹จ๊ณ„: JD ๋งค์นญ(์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰)
7๋‹จ๊ณ„: ํ›„๋ณด ์ ์ˆ˜ ๋งค๊ธฐ๊ธฐ(LLM ๊ธฐ๋ฐ˜ ๋ถ„์„)
8๋‹จ๊ณ„: Spring boot๋ฅผ ํ†ตํ•ด Mariadb์— ์ €์žฅ(Spring Boot Backend & Mariadb)



Swagger

image



  • Scoring ์˜ˆ์‹œ
image



๐Ÿ”„ ํŒŒ์ดํ”„๋ผ์ธ ๋‹จ๊ณ„๋ณ„ ์„ค๋ช…

1๏ธโƒฃ Resume Input (Webhook)

  • n8n Webhook ํŠธ๋ฆฌ๊ฑฐ๋กœ ์ด๋ ฅ์„œ JSON ์ˆ˜์‹ 
  • ์›๋ณธ ํ…์ŠคํŠธ ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

2๏ธโƒฃ Summary Generation (LLM)

  • FastAPI โ†’ Ollama LLM ํ˜ธ์ถœ
  • llama3 ๋ชจ๋ธ๋กœ ์ด๋ ฅ์„œ ํ•ต์‹ฌ ์š”์•ฝ ์ƒ์„ฑ
  • ํ‰๊ท  ์ฒ˜๋ฆฌ์‹œ๊ฐ„: 20~60์ดˆ (LLM ๋ณ‘๋ชฉ ๊ตฌ๊ฐ„)

3๏ธโƒฃ Skill Extraction (LLM)

  • LLM ๊ธฐ๋ฐ˜ ์Šคํ‚ฌ ๋ฆฌ์ŠคํŠธ ์ž๋™ ์ถ”์ถœ
  • JSON ๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐํ™”

4๏ธโƒฃ Sentence Embedding

  • nomic-embed-text ๋ชจ๋ธ๋กœ 768-dim ๋ฒกํ„ฐ ์ƒ์„ฑ
  • ์ฒ˜๋ฆฌ์‹œ๊ฐ„ ํ‰๊ท : 300~800ms

5๏ธโƒฃ Vector Store (Redis Stack)

  • RediSearch + HNSW ์ธ๋ฑ์Šค๋กœ ๋ฒกํ„ฐ ์ €์žฅ
  • ๋Œ€๊ทœ๋ชจ ๊ฒ€์ƒ‰์— ์ตœ์ ํ™”๋œ ๊ตฌ์กฐ

6๏ธโƒฃ JD Matching

  • Redis vector search๋กœ JD์™€ cosine similarity ๋งค์นญ
  • ์ฒ˜๋ฆฌ์†๋„: 1~10ms ์ˆ˜์ค€

7๏ธโƒฃ LLM Scoring

  • ์ง€์›์ž โ†’ JD ๋งค์นญ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ LLM ์žฌํ‰๊ฐ€
  • ์ธ๊ณผ ๊ธฐ๋ฐ˜ ํ‰๊ฐ€(why matched?)

8๏ธโƒฃ Result Persistence (Spring Boot)

  • ์ •์ œ๋œ ๊ฒฐ๊ณผ๋ฅผ Spring Backend๋ฅผ ํ†ตํ•ด MariaDB์— ์ €์žฅ

  • ์ดํ›„ ๊ด€๋ฆฌ์ž ๋Œ€์‹œ๋ณด๋“œ์—์„œ ํ™œ์šฉ

  • MariaDB์— ์ €์žฅ

image



๐Ÿ“Š ๋ชจ๋‹ˆํ„ฐ๋ง (Observability)

Prometheus + Pushgateway + Grafana๋กœ AI Workflow ์„ฑ๋Šฅ์„ ์ •๋Ÿ‰์ ์œผ๋กœ ์‹œ๊ฐํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

http://175.197.41.64:33377

์ฃผ์š” ์ง€ํ‘œ

1 2
  • ai_workflow_total_processing_ms
  • ai_service_summary_latency_ms
  • ai_service_skills_latency_ms
  • ai_service_embedding_latency_ms
  • ai_service_redis_latency_ms
  • ai_service_match_latency_ms
  • ai_service_score_latency_ms

Grafana ๋Œ€์‹œ๋ณด๋“œ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ ์ฒ˜๋ฆฌ์‹œ๊ฐ„ ์‹ค์‹œ๊ฐ„ ํ™•์ธ
  • ๋‹จ๊ณ„๋ณ„ ๋ณ‘๋ชฉ ์ง€์  ํ•œ๋ˆˆ์— ํ™•์ธ



๐Ÿงฑ ๊ธฐ์ˆ  ์Šคํƒ

๐Ÿ—๏ธ Backend & API

  • FastAPI
  • Spring Boot + JPA
  • Ollama LLM Runtime
  • nomic-embed-text (Embedding Model)

๐Ÿ“ฆ Data & Vector DB

  • Redis Stack
  • RediSearch (Vector Search)

๐Ÿ”„ Workflow Orchestration

  • n8n
  • Webhook Trigger
  • JavaScript Function Nodes

๐Ÿ‹ Infrastructure

  • Docker (์ž์›์ด ํ•œ์ •๋˜์–ด ์žˆ์—ˆ๊ธฐ(CPU ํ™˜๊ฒฝ) ๋•Œ๋ฌธ์— Kubernetes์— ์˜ฌ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค)

๐Ÿ“Š Observability

  • Prometheus
  • Pushgateway
  • Grafana

๐Ÿ“ˆ ์„ฑ๊ณผ ๋ฐ ๊ฐœ์„  ํšจ๊ณผ

  • ์ด๋ ฅ์„œ ๋ถ„์„ ์ž‘์—… 100% ์ž๋™ํ™”
  • JD ๋งค์นญ ์†๋„ 50~300ms๋กœ ๋‹จ์ถ•
  • LLM ๋ณ‘๋ชฉ ํŒŒ์•… ํ›„ ๊ฐœ์„  ๋ฐฉํ–ฅ์„ฑ ๋ช…ํ™•ํ™”
  • ์„œ๋น„์Šค ์žฅ์•  ๊ด€์ฐฐ์„ฑ ํ™•๋ณด

About

๐Ÿ‘ฐ๐Ÿปโ€โ™‚๏ธ์ด์ƒ์šฐ ๐Ÿ‘ฐ๐Ÿปโ€โ™‚๏ธ์–‘์Šน์šฐ ๐Ÿ‘ฐ๐Ÿปโ€โ™‚๏ธ๊น€๋ฅœํ™˜ ๐Ÿ‘ฐ๐Ÿปโ€โ™‚๏ธ์—ผ์ค€์„  ๐Ÿ‘ฐ๐Ÿปโ€โ™‚๏ธ๊น€์˜์žฌ

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors