FastAPI (5) 썸네일형 리스트형 벡터 데이터베이스(ChromaDB)로 똑똑한 법률 문서 검색 시스템 만들기 "교통사고가 났는데 상대방이 신호위반을 했어요. 과실비율이 어떻게 되나요?"이런 복잡한 법률 상황을 설명했을 때, 관련된 법령이나 판례를 정확하게 찾아주는 시스템이 있다면 어떨까요? 단순한 키워드 검색이 아닌, 상황의 의미를 이해하고 가장 적합한 법률 문서를 찾아주는 똑똑한 검색 시스템을 만들어보겠습니다.왜 벡터 데이터베이스인가?기존 검색의 한계전통적인 키워드 검색은 정확히 일치하는 단어만 찾아줍니다. "신호위반"이라는 키워드가 문서에 없으면 검색되지 않죠.벡터 검색의 장점벡터 검색은 의미적 유사성을 기반으로 검색합니다:"신호위반" → "적신호 무시", "교통신호 미준수" 같은 유사한 의미도 찾아냄"과실비율" → "책임 분담", "손해배상 비율" 등과 연결자연어로 상황을 설명해도 관련 법령을 찾아냄실제 .. Neo4j Graph Database로 기술스택 추천 시스템 만들기 "Java 기술 스택을 가진 사람은 후속 학습으로 어떤 기술을 익힐 수 있고, 어떤 직무에 지원할 수 있는가?"와 같은 다단계 관계 질의를 처리하려면 관계형 데이터베이스로는 복잡한 JOIN이 필요합니다.이런 문제를 해결하기 위해 Graph Database인 Neo4j를 활용해서 기술스택-직무-학습방법 간의 관계를 직관적으로 모델링하고, 사용자의 현재 기술스택을 기반으로 맞춤형 추천을 제공하는 시스템을 구현해보기로 했습니다. By Neo4jInc - 자작, 퍼블릭 도메인, https://commons.wikimedia.org/w/index.php?curid=104622494기술 스택Graph Database: Neo4j (Docker로 로컬 호스팅)백엔드 API: FastAPI + Python그래프 쿼리 .. 🐳 Stable Diffusion API Docker 패키징: 로컬 모델 조립 → 컨테이너화까지 Stable Diffusion 모델 구성요소를 로컬에서 조립한 다음, 이를 Docker 기반 API 서버로 패키징한 과정을 정리했다. 작업 배경앞선 포스팅에서 from_pretrained() 없이 로컬에 저장된 모델 구성 요소들만으로 Stable Diffusion 파이프라인을 조립했다. 그리고 이후에는 이 모델들을 EFS에 저장하고 API 서버에서 직접 로딩하는 구조로 개선했다. 이제 남은 건 이 환경을 실제 운영에 적합한 형태로 포장하는 일. 즉, Docker 컨테이너로 패키징해서 어디서든 실행 가능하게 만드는 것이었다.Dockerfile 구성패키징 대상은 다음과 같다:FastAPI 기반 API 서버 코드 (main.py)Stable Diffusion 구성 요소를 로드하는 로직requirements.t.. EFS에 모델 구성요소 저장하고, 컨테이너에서 불러오는 구조로 전환하기 컨테이너 재빌드 없이 모델을 안정적으로 불러오기 위해, EFS에 모델 구성요소를 저장하고 Docker에서 직접 마운트하는 구조로 전환했다. 왜 이 작업이 필요했을까?이전까지는 모델 구성 요소들을 로컬에 저장하고, 컨테이너 안에서 로드하는 구조였다. 이 방식도 잘 작동하긴 했지만, 다음과 같은 불편함이 있었다:컨테이너를 새로 빌드하거나 다른 인스턴스에서 실행할 경우 모델을 다시 복사해야 함모델 파일 용량이 수 GB 단위라 이미지 용량도 불필요하게 커짐장기적으로 여러 서버에서 공유하려면 중앙 저장소가 필요함그래서 Amazon EFS(Elastic File System)를 활용하기로 했다. EC2 인스턴스에 EFS 마운트먼저 EFS를 EC2 인스턴스에 /mnt/efs 경로로 마운트했다. 이후 Stable Di.. Stable Diffusion 이미지 생성 API 만들기 회사에서 도입한 GPU 머신에 구축한 환경 위에서, Stable Diffusion 모델을 FastAPI로 감싸 간단한 이미지 생성 API를 구현했다. 이미지 기반 AI 기능을 실서비스처럼 테스트하려면, 단순히 모델을 로딩하는 것만으론 부족하다. API 형태로 만들어야 실제로 쓸 수 있기 때문에, FastAPI를 활용해 Stable Diffusion 모델을 쉽게 테스트하고 실행할 수 있도록 구성했다. Hugging Face 연동모델을 허브에서 다운로드하기 위해선 CLI 인증이 필요하다.pip install huggingface_hubhuggingface-cli login 토큰 발급 후 로그인하면 끝. (토큰은 huggingface 사이트에 접속해서 쉽게 발급 가능하다)Stable Diffusion 파이프라.. 이전 1 다음