2025-06-17 13:14:02 +09:00
2025-06-15 13:52:26 +00:00
2025-06-16 13:36:14 +09:00
2025-06-17 13:14:02 +09:00
2025-06-15 14:15:05 +00:00
2025-06-16 13:42:04 +09:00

🍽️ 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)
  • 기술 스택: 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
Description
No description provided
Readme 361 KiB
Languages
Python 70.4%
Shell 28.2%
Dockerfile 1.4%