Skip to content

Repository files navigation

취업준비생을 위한 AI 커리어 컨설턴트 에이전트

실시간 뉴스 크롤링, 기업 홈페이지 크롤링, RAG(기업 정보 리포트) 검색을 결합하여 회사 이슈 요약, 인재상 분석, 자기소개서 첨삭, CSV 기업 분석 리포트를 생성하는 LLM 기반 커맨드라인 에이전트입니다.

주요 기능

main.py를 실행하면 아래 4가지 메뉴 중 하나를 선택해 사용할 수 있습니다.

  1. 회사 이슈 요약 리포트 (run_issue_summary_agent) Google 뉴스 RSS로 기업 관련 최신 기사를 검색하고 본문을 직접 크롤링한 뒤, 지원 직무 관점에서 중요한 이슈를 요약합니다.
  2. 기업 인재상 요약 리포트 (run_talent_summary_agent) 기업 공식 홈페이지(채용 페이지)를 실시간 크롤링해 인재상을 분석하고, 크롤링 실패 시 로컬 RAG DB(./data/*.csv)로 폴백합니다.
  3. 맥락 연계 자소서 첨삭 (run_resume_feedback_agent) RAG 기업 정보, 최신 뉴스, 채용공고 URL 스크랩 결과, 사용자 메모를 종합하여 자소서 초안에 인라인 첨삭(대필 없이 방향성 제안)을 제공합니다.
  4. 로컬 CSV 기업 분석 리포트 분석 (run_csv_analysis_agent) 로컬 CSV 파일을 로드해 LLM으로 분석하고, 결과를 ./data/{기업명}.csv로 저장하여 이후 RAG 검색에 재사용할 수 있도록 적재합니다.

프로젝트 구조

파일 역할
main.py CLI 진입점, 메뉴 선택 및 사용자 입력 처리
agent.py 4가지 에이전트 함수 정의 (뉴스/크롤링/RAG/LLM 체인 오케스트레이션)
news.py Google 뉴스 RSS 검색, 기사 본문 크롤링, 언론사별 CSS 셀렉터 매핑, 10분 캐시
homepage_crawler.py 기업 공식 홈페이지 인재상 페이지 및 채용공고 URL 크롤링
rag.py ./data/{기업명}.csv를 로드해 디스크 저장형(persist) Chroma 벡터스토어 기반 Retriever 생성
llm.py OpenRouter 경유 GPT-4o(ChatOpenAI) 및 임베딩 모델 초기화
prompts.py 4가지 기능별 ChatPromptTemplate 정의
data/ 기업별 CSV 리포트 저장소 (RAG 검색 대상)

레거시 / 미사용 파일

  • test_run.py, debug_news.py — 현재 agent.py의 함수 구조로 마이그레이션되기 전에 작성된 스크립트입니다. 특히 test_run.py는 더 이상 존재하지 않는 run_job_seeker_agent를 임포트하므로 그대로 실행하면 오류가 발생합니다. 참고용으로만 남겨두었으며, 실제 동작 확인은 main.py를 사용하세요.
  • A.ipynbsentence-transformers 기반 이력서-자소서 유사도 비교 실험 노트북(별도 실험, 메인 파이프라인과 무관).
  • rag.py — 마이그레이션(단일 에이전트 → agent.py의 4개 기능 분리) 이전에 작성된 코드입니다. 다만 이후 디스크 저장형 Chroma 방식으로 갱신되어 agent.pycreate_company_retriever 호출과는 현재도 맞물려 동작합니다.

설치

pip install openai python-dotenv langchain-openai langchain-community \
    langchain-text-splitters langchain-chroma langchain-core \
    requests beautifulsoup4 googlenewsdecoder

프로젝트 루트에 .env 파일을 만들고 OpenRouter API 키를 설정합니다.

OPENROUTER_API_KEY=your_api_key_here

실행

python main.py

메뉴에서 원하는 기능(1~4)을 선택하고 안내에 따라 기업명, 직무, 자소서 초안 등을 입력합니다.

참고 사항

  • 뉴스/홈페이지 크롤링은 언론사·기업 홈페이지별로 CSS 셀렉터 또는 URL이 하드코딩되어 있어 (news.pyPRESS_BODY_SELECTORS, homepage_crawler.pyCOMPANY_TALENT_URLS), 매핑되지 않은 신규 기업/언론사는 기본 셀렉터로 시도하거나 크롤링에 실패할 수 있습니다.
  • CSV는 UTF-8, CP949, EUC-KR, UTF-8-SIG 인코딩을 순차 시도하여 로드합니다.
  • 건강보험심사평가원심평원처럼 동의어 기업명은 CSV 적재 시 양방향으로 복제 저장됩니다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages