Skip to content

Repository files navigation

소개

이 프로젝트는 부산 지역의 복지 정책 및 음식점 정보를 신속‧정확하게 검색할 수 있는 RAG 기반 검색엔진이다. Apache Spark로 대용량 데이터를 처리하고, Elasticsearch를 통해 유사도 검색 및 색인 관리가 가능합니다.


다른 문서도 참고를 해보세요!

여러분들이 이해기 쉽게 다른 문서를 만들어서 여기에 기록을 해놨고 챗봇을 제작하기 위한 프론폼트나 어떻게 코드를 작성햇는지에 대한 내용도 포함되어 있습니다!

EASY_GUIDE.md → 더 쉽게 이해할 수 있도록 비유를 활용해 설명한 문서입니다.
raspberrypi.md → 라즈베리파이 환경에서도 실행될 수 있도록 어떤 부분을 수정했는지 정리했습니다.
Chatbot.md → 챗봇에 적용하기 위해 제가 작성한 프롬프트가 담겨 있습니다.
LLM_INTEGRATION.md → 서버 구성 과정과 고려한 다양한 상황, 그리고 선택할 수 있는 옵션들을 정리했습니다.

주요 기능

  • 대용량 데이터 처리: Apache Spark 활용으로 PDF, JSON 등 다양한 데이터를 효율적으로 전처리 및 임베딩 생성
  • 강력한 검색 인덱스: Elasticsearch에 문서 임베딩을 저장하여 빠른 유사도 및 키워드 검색 지원
  • 복지 정책 정보 검색: 부산의 최신 복지 정책 문서를 PDF에서 추출 및 색인 후 검색 제공
  • 음식점 정보 및 리뷰: 부산 음식점 관련 상세 정보 및 리뷰 제공
  • 환각 방지: RAG 구조로 LLM의 모든 답변을 실제 데이터로 검증 가능하게 처리
  • 모듈형·확장형 설계: 기능별 폴더 구조와 코드 분리를 통해 유지관리 및 확장이 용이함

아키텍처

검색엔진 주요 처리 흐름은 다음과 같다:

  1. 데이터 적재: PDF, JSON 등 자료를 시스템에 넣음
  2. 데이터 처리 및 임베딩: Spark로 데이터 정제 후 벡터 임베딩 생성
  3. 색인: 생성된 임베딩과 데이터 내용을 Elasticsearch에 저장
  4. 검색 및 정보반환: 사용자의 질의가 들어오면 유사한 문서를 검색해서 LLM이 컨텍스트를 생성
  5. 답변 생성: 검색된 자료 기반으로 LLM이 사실 기반의 답변을 생성

프로젝트 폴더 구조

/
├── data/
│    ├── 2025년도_복지시책안내.md
│    ├── 2025년도_복지시책안내.pdf
│    ├── 2025년도_복지시책안내.txt
│    └── chunk_ver.txt
├── docs/
├── src/
│    ├── data_processing/
│    │    └── main.py
│    ├── spark_processing/
│    │    └── process.py
│    ├── elasticsearch/
│    │    └── client.py
│    └── main.py
├── requirements.txt
└── README.md

시작하기

  1. Git 저장소를 클론하세요:
    git clone https://github.com/leehojun/busan_search_engine.git
  2. 프로젝트 디렉토리로 이동하세요:
    cd busan_search_engine
  3. 의존성 설치:
    pip install -r requirements.txt
  4. 데이터 파일을 data/ 폴더에 넣으세요.
  5. Spark 전처리 만실행:
    spark-submit src/spark_processing/process.py
  6. opensearch 백터 스토어 저장까지 실행:
    python src/main.py

개발 계획

  • 다양한 파일 포맷(PDF, JSON, Excel) 데이터 로더 구현
  • Spark 기반 데이터 처리/임베딩 파이프라인 개발
  • Elasticsearch 색인/검색 로직 구현
  • 질의 및 Retrieval 시스템 구축
  • LLM 연동 및 응답 생성 기능 개발
  • CLI/웹 기반 UI 개발

기여 안내

기여는 언제나 환영합니다! PR 제출로 참여해 주세요.# Busan_search_engine

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages