피드로 돌아가기
Dev.toAI/ML
원문 읽기
Spring AI와 Ollama 기반의 완전 로컬 RAG 아키텍처 구현
Building a Local RAG Application with Spring AI, Ollama, PGVector, and Apache Tika
AI 요약
Context
LLM의 Hallucination 문제와 고비용의 모델 Fine-tuning 제약을 극복하기 위한 전략적 접근. 외부 API 의존성을 제거하여 데이터 보안을 강화하고 실시간 전용 컨텍스트를 제공하는 로컬 추론 환경 필요.
Technical Solution
- Apache Tika를 통한 비정형 문서의 정형 데이터 변환 및 전처리 파이프라인 구축
- nomic-embed-text 모델 기반의 Embedding 생성으로 텍스트 데이터를 고차원 벡터로 변환
- PGVector를 활용한 벡터 저장소 구축으로 Similarity Search 기반의 관련 컨텍스트 추출 구조 설계
- Top-K 기반 검색 결과와 사용자 질문을 결합한 Prompt Engineering으로 LLM 응답의 근거 데이터 확보
- llama3.2 모델을 Ollama 엔진에서 구동하여 외부 네트워크 연결 없는 End-to-End 추론 루프 완성
실천 포인트
- PGVector의 initialize-schema 설정을 통한 벡터 테이블 자동 생성 여부 확인 - TikaDocumentReader 적용 시 다양한 파일 포맷의 파싱 정확도 검증 - SearchRequest의 topK 파라미터 조정을 통한 컨텍스트 윈도우 최적화 - Ollama 모델의 리소스 점유율에 따른 인스턴스 메모리 할당량 검토