release
This commit is contained in:
parent
a2a7daf6f6
commit
66e80d31d7
225
README.md
Normal file
225
README.md
Normal file
@ -0,0 +1,225 @@
|
||||
# 🍽️ 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 접속 후 소스 다운로드
|
||||
```bash
|
||||
cd ~/workflow
|
||||
git clone https://github.com/cna-bootcamp/ai-review.git
|
||||
cd ai-review
|
||||
```
|
||||
|
||||
#### Azure Cloud 로그인
|
||||
```bash
|
||||
az login --use-device-code
|
||||
```
|
||||
|
||||
#### AKS Credential 취득
|
||||
```bash
|
||||
az aks get-credentials aks-digitalgarage-03 -f ~/.kube/config
|
||||
```
|
||||
|
||||
#### Namespace 생성 및 이동
|
||||
```bash
|
||||
k create ns ai-review-ns
|
||||
kubens ai-review-ns
|
||||
```
|
||||
|
||||
#### Image Pull Secret 생성
|
||||
```bash
|
||||
./restaurant/create-imagepullsecret.sh acrdigitalgarage03 rg-digitalgarage-03
|
||||
```
|
||||
|
||||
### 2. Restaurant Service 배포
|
||||
|
||||
#### 디렉토리 이동
|
||||
```bash
|
||||
cd ~/workspace/ai-review/restaurant
|
||||
```
|
||||
|
||||
#### 베이스 이미지 빌드
|
||||
```bash
|
||||
./build-base.sh latest acrdigitalgarage03 rg-digitalgarage-03
|
||||
```
|
||||
|
||||
#### 서비스 이미지 빌드
|
||||
```bash
|
||||
./build.sh latest acrdigitalgarage03 rg-digitalgarage-03
|
||||
```
|
||||
|
||||
#### Manifest 수정
|
||||
- **Deployment yaml** (`deployment/manifest/deployment.yaml`)의 image명을 서비스 이미지명으로 변경
|
||||
- **Ingress yaml** (`deployment/manifest/ingress.yaml`)의 host 수정
|
||||
```bash
|
||||
# Ingress IP 확인
|
||||
k get svc -n ingress-nginx
|
||||
```
|
||||
|
||||
#### 배포 실행
|
||||
```bash
|
||||
k apply -f deployment/manifest
|
||||
```
|
||||
|
||||
#### 배포 확인
|
||||
```bash
|
||||
# Pod 상태 확인
|
||||
k get po
|
||||
|
||||
# Ingress 확인
|
||||
k get ing
|
||||
|
||||
# Swagger 페이지 접속
|
||||
# http://{ingress 주소}/docs
|
||||
```
|
||||
|
||||
### 3. Review Service 배포
|
||||
|
||||
#### 디렉토리 이동
|
||||
```bash
|
||||
cd ~/workspace/ai-review/review
|
||||
```
|
||||
|
||||
#### 베이스 이미지 빌드
|
||||
```bash
|
||||
./build-base.sh latest acrdigitalgarage03 rg-digitalgarage-03
|
||||
```
|
||||
|
||||
#### 서비스 이미지 빌드
|
||||
```bash
|
||||
./build.sh latest acrdigitalgarage03 rg-digitalgarage-03
|
||||
```
|
||||
|
||||
#### Manifest 수정
|
||||
- **Deployment yaml** (`deployment/manifest/deployment.yaml`)의 image명을 서비스 이미지명으로 변경
|
||||
- **Ingress yaml** (`deployment/manifest/ingress.yaml`)의 host 수정
|
||||
```bash
|
||||
# Ingress IP 확인
|
||||
k get svc -n ingress-nginx
|
||||
```
|
||||
|
||||
#### 배포 실행
|
||||
```bash
|
||||
k apply -f deployment/manifest
|
||||
```
|
||||
|
||||
#### 배포 확인
|
||||
```bash
|
||||
# Pod 상태 확인
|
||||
k get po
|
||||
|
||||
# Ingress 확인
|
||||
k get ing
|
||||
|
||||
# Swagger 페이지 접속
|
||||
# http://{ingress 주소}/docs
|
||||
```
|
||||
|
||||
### 4. Vector Service 배포
|
||||
|
||||
#### 디렉토리 이동
|
||||
```bash
|
||||
cd ~/workspace/ai-review/vector
|
||||
```
|
||||
|
||||
#### 베이스 이미지 빌드
|
||||
```bash
|
||||
./build-base.sh latest acrdigitalgarage03 rg-digitalgarage-03
|
||||
```
|
||||
|
||||
#### 서비스 이미지 빌드
|
||||
```bash
|
||||
./build.sh latest acrdigitalgarage03 rg-digitalgarage-03
|
||||
```
|
||||
|
||||
#### Manifest 수정
|
||||
- **Deployment yaml** (`deployment/manifest/deployment.yaml`)의 image명을 서비스 이미지명으로 변경
|
||||
- **Ingress yaml** (`deployment/manifest/ingress.yaml`)의 host 수정
|
||||
```bash
|
||||
# Ingress IP 확인
|
||||
k get svc -n ingress-nginx
|
||||
```
|
||||
|
||||
#### 배포 실행
|
||||
```bash
|
||||
k apply -f deployment/manifest
|
||||
```
|
||||
|
||||
#### 배포 확인
|
||||
```bash
|
||||
# Pod 상태 확인
|
||||
k get po
|
||||
|
||||
# Ingress 확인
|
||||
k get ing
|
||||
|
||||
# Swagger 페이지 접속
|
||||
# http://{ingress 주소}/docs
|
||||
```
|
||||
|
||||
## 🔧 서비스 상태 확인
|
||||
|
||||
### 전체 서비스 상태 점검
|
||||
```bash
|
||||
# 모든 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
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user