5.7 KiB
5.7 KiB
🍽️ AI Review - 소상공인을 위한 AI 기반 경쟁업체 분석 및 액션 추천 시스템
소상공인들이 카카오맵 리뷰 데이터를 기반으로 경쟁업체를 분석하고, AI가 제안하는 맞춤형 비즈니스 개선 방안을 받을 수 있는 마이크로서비스 기반 플랫폼입니다.
🎯 시스템 개요
핵심 가치 제안
- 🔍 스마트 경쟁업체 발견: 지역과 업종 기반으로 유사한 경쟁업체 자동 탐지
- 📊 대량 리뷰 데이터 분석: 카카오맵 리뷰를 수집하여 고품질 인사이트 도출
- 🤖 AI 기반 맞춤 컨설팅: Claude AI가 제공하는 실행 가능한 비즈니스 액션 플랜
- ⚡ 완전 자동화: API 기반으로 모든 과정이 자동화된 솔루션
비즈니스 임팩트
- 소상공인: 데이터 기반 경영 의사결정으로 매출 향상 지원
- 경쟁 우위: AI 기반 개인화된 비즈니스 전략으로 차별화
- 운영 효율: 수작업 시장조사 대비 시간과 비용 90% 절감
🏗️ 서비스 아키텍처
본 시스템은 3개의 독립적인 마이크로서비스로 구성되어 있습니다:
📍 Restaurant Service
음식점 검색 및 정보 수집 서비스
- 핵심 기능: 카카오 로컬 API 기반 음식점 검색 및 상세 정보 수집
- 주요 API:
- 음식점 검색 (
/restaurants/search) - 음식점 상세 정보 (
/restaurants/{restaurant_id})
- 음식점 검색 (
- 기술 스택: FastAPI, Python 3.11, Kakao Local API
- 포트: 18000
📝 Review Service
카카오맵 리뷰 수집 및 분석 서비스
- 핵심 기능: 카카오맵 리뷰 대량 수집, 감정 분석, 키워드 추출
- 주요 API:
- 리뷰 수집 (
/reviews/collect) - 리뷰 분석 (
/reviews/analyze)
- 리뷰 수집 (
- 기술 스택: FastAPI, Python 3.11, BeautifulSoup, Sentiment Analysis
- 포트: 19000
🧠 Vector Service
Vector DB 구축 및 AI 비즈니스 컨설팅 서비스
- 핵심 기능: ChromaDB 기반 Vector 검색, Claude AI 연동 액션 추천
- 주요 API:
- Vector DB 구축 (
/find-reviews) - AI 액션 추천 (
/action-recommendation)
- Vector DB 구축 (
- 기술 스택: FastAPI, ChromaDB, Sentence Transformers, Claude AI
- 포트: 8000
🚀 AKS 배포 가이드
1. 사전 준비
Local Ubuntu 접속 후 소스 다운로드
cd ~/workflow
git clone https://github.com/cna-bootcamp/ai-review.git
cd ai-review
Azure Cloud 로그인
az login --use-device-code
AKS Credential 취득
az aks get-credentials aks-digitalgarage-03 -f ~/.kube/config
Namespace 생성 및 이동
k create ns ai-review-ns
kubens ai-review-ns
Image Pull Secret 생성
./restaurant/create-imagepullsecret.sh acrdigitalgarage03 rg-digitalgarage-03
2. Restaurant Service 배포
디렉토리 이동
cd ~/workspace/ai-review/restaurant
베이스 이미지 빌드
./build-base.sh latest acrdigitalgarage03 rg-digitalgarage-03
서비스 이미지 빌드
./build.sh latest acrdigitalgarage03 rg-digitalgarage-03
Manifest 수정
- Deployment yaml (
deployment/manifest/deployment.yaml)의 image명을 서비스 이미지명으로 변경 - Ingress yaml (
deployment/manifest/ingress.yaml)의 host 수정# Ingress IP 확인 k get svc -n ingress-nginx
배포 실행
k apply -f deployment/manifest
배포 확인
# Pod 상태 확인
k get po
# Ingress 확인
k get ing
# Swagger 페이지 접속
# http://{ingress 주소}/docs
3. Review Service 배포
디렉토리 이동
cd ~/workspace/ai-review/review
베이스 이미지 빌드
./build-base.sh latest acrdigitalgarage03 rg-digitalgarage-03
서비스 이미지 빌드
./build.sh latest acrdigitalgarage03 rg-digitalgarage-03
Manifest 수정
- Deployment yaml (
deployment/manifest/deployment.yaml)의 image명을 서비스 이미지명으로 변경 - Ingress yaml (
deployment/manifest/ingress.yaml)의 host 수정# Ingress IP 확인 k get svc -n ingress-nginx
배포 실행
k apply -f deployment/manifest
배포 확인
# Pod 상태 확인
k get po
# Ingress 확인
k get ing
# Swagger 페이지 접속
# http://{ingress 주소}/docs
4. Vector Service 배포
디렉토리 이동
cd ~/workspace/ai-review/vector
베이스 이미지 빌드
./build-base.sh latest acrdigitalgarage03 rg-digitalgarage-03
서비스 이미지 빌드
./build.sh latest acrdigitalgarage03 rg-digitalgarage-03
Manifest 수정
- Deployment yaml (
deployment/manifest/deployment.yaml)의 image명을 서비스 이미지명으로 변경 - Ingress yaml (
deployment/manifest/ingress.yaml)의 host 수정# Ingress IP 확인 k get svc -n ingress-nginx
배포 실행
k apply -f deployment/manifest
배포 확인
# Pod 상태 확인
k get po
# Ingress 확인
k get ing
# Swagger 페이지 접속
# http://{ingress 주소}/docs
🔧 서비스 상태 확인
전체 서비스 상태 점검
# 모든 Pod 상태 확인
kubectl get pods -n ai-review-ns
# 모든 Service 확인
kubectl get svc -n ai-review-ns
# 모든 Ingress 확인
kubectl get ing -n ai-review-ns
# 로그 확인 (예: restaurant 서비스)
kubectl logs -l app=restaurant-api -n ai-review-ns --tail=100