ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Build an AI Resume Screening Agent with LangChain, Streamlit, and Gemini ๐Ÿš€
Dev.toDev.to
AI/ML

LangChain๊ณผ Gemini ๊ธฐ๋ฐ˜ PDF ๋ถ„์„์„ ํ†ตํ•œ Resume Screening ์ž๋™ํ™” ์„ค๊ณ„

Build an AI Resume Screening Agent with LangChain, Streamlit, and Gemini ๐Ÿš€

Md Shahinur Rahman2026๋…„ 6์›” 15์ผ4๋ถ„beginner

Context

๋Œ€๋Ÿ‰์˜ ์ด๋ ฅ์„œ ๊ฒ€ํ†  ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ˆ˜๋™ ์ž‘์—…์˜ ์‹œ๊ฐ„์  ๋น„์šฉ๊ณผ ํ‰๊ฐ€ ์ผ๊ด€์„ฑ ๋ถ€์กฑ ๋ฌธ์ œ ํ•ด๊ฒฐ ํ•„์š”. ์ •ํ˜•ํ™”๋˜์ง€ ์•Š์€ PDF ๋ฐ์ดํ„ฐ์™€ ์ง๋ฌด ์š”๊ตฌ์‚ฌํ•ญ ๊ฐ„์˜ ์ •๋ฐ€ํ•œ ๋งค์นญ์„ ์œ„ํ•œ ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ ์„ค๊ณ„ ์š”๊ตฌ.

Technical Solution

  • PyPDF๋ฅผ ํ™œ์šฉํ•œ ๋น„์ •ํ˜• PDF ๋ฌธ์„œ์˜ ํ…์ŠคํŠธ ์ถ”์ถœ ๋ฐ ๋‹จ์ผ ์ปจํ…์ŠคํŠธ ๋ฌธ์„œํ™” ๊ณต์ • ๊ตฌ์ถ•
  • LangChain ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•œ Google Gemini LLM ํ†ตํ•ฉ์œผ๋กœ ํ”„๋กฌํ”„ํŠธ ๊ด€๋ฆฌ ๋ฐ ์›Œํฌํ”Œ๋กœ์šฐ ์ฒด์ด๋‹ ๊ตฌํ˜„
  • General-purpose LLM์„ Technical Recruiter ํŽ˜๋ฅด์†Œ๋‚˜๋กœ ์ •์˜ํ•˜๋Š” Prompt Engineering ์ ์šฉ์œผ๋กœ ๋ถ„์„ ์ •๋ฐ€๋„ ํ–ฅ์ƒ
  • Resume Content์™€ Job Description์„ ๊ต์ฐจ ๋ถ„์„ํ•˜์—ฌ Match Score, Missing Skills ๋“ฑ ์ •๋Ÿ‰์ /์ •์„ฑ์  ์ง€ํ‘œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ‰๊ฐ€ ๋กœ์ง ์„ค๊ณ„
  • Streamlit ๊ธฐ๋ฐ˜์˜ Single-page Interface ๊ตฌ์ถ•์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ๋ถ€ํ„ฐ ๋ถ„์„ ๊ฒฐ๊ณผ ๋„์ถœ๊นŒ์ง€์˜ Pipeline ๋‹จ์ˆœํ™”

1. ๋น„์ •ํ˜• ๋ฌธ์„œ ์ฒ˜๋ฆฌ ์‹œ ํ…์ŠคํŠธ ์ถ”์ถœ ๋„๊ตฌ(PyPDF ๋“ฑ)์™€ LLM ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ํฌ๊ธฐ ์ตœ์ ํ™” ๊ฒ€ํ† 

2. ๋‹จ์ˆœ ์š”์•ฝ์ด ์•„๋‹Œ ํŠน์ • ์—ญํ• (Persona) ๋ถ€์—ฌ๋ฅผ ํ†ตํ•œ LLM์˜ ์ถœ๋ ฅ ์Šคํ‚ค๋งˆ ์ œ์–ด ์ ์šฉ

3. ํ”„๋กœํ† ํƒ€์ž… ๋‹จ๊ณ„์—์„œ Streamlit์„ ํ™œ์šฉํ•ด Frontend ๊ฐœ๋ฐœ ๊ณต์ˆ˜๋ฅผ ์ค„์ด๊ณ  Core Logic ๊ฒ€์ฆ์— ์ง‘์ค‘

์›๋ฌธ ์ฝ๊ธฐ