44 lines
1.2 KiB
Markdown
44 lines
1.2 KiB
Markdown
|
|
# AI 어시스턴트 API (VEXPLOR 내장)
|
||
|
|
|
||
|
|
VEXPLOR와 **같은 서비스**로 동작하도록 이 API는 포트 3100에서 구동되고, backend-node가 `/api/ai/v1` 요청을 여기로 프록시합니다.
|
||
|
|
|
||
|
|
## 동작 방식
|
||
|
|
|
||
|
|
- **프론트(9771)** → `/api/ai/v1/*` 호출
|
||
|
|
- **Next.js** → `8080/api/ai/v1/*` 로 rewrite
|
||
|
|
- **backend-node(8080)** → `3100/api/v1/*` 로 프록시 → **이 서비스**
|
||
|
|
|
||
|
|
따라서 사용자는 **다른 포트를 쓰지 않고** VEXPLOR만 켜도 AI 기능을 사용할 수 있습니다.
|
||
|
|
|
||
|
|
## 서비스 올리는 순서 (한 번에 동작하게)
|
||
|
|
|
||
|
|
1. **AI 어시스턴트 API (이 폴더, 포트 3100)**
|
||
|
|
```bash
|
||
|
|
cd ai-assistant
|
||
|
|
npm install
|
||
|
|
cp .env.example .env # 필요 시 DB, JWT, GEMINI_API_KEY 등 수정
|
||
|
|
npm start
|
||
|
|
```
|
||
|
|
|
||
|
|
2. **backend-node (포트 8080)**
|
||
|
|
```bash
|
||
|
|
cd backend-node
|
||
|
|
npm run dev
|
||
|
|
```
|
||
|
|
|
||
|
|
3. **프론트 (포트 9771)**
|
||
|
|
```bash
|
||
|
|
cd frontend
|
||
|
|
npm run dev
|
||
|
|
```
|
||
|
|
|
||
|
|
브라우저에서는 `http://localhost:9771` 만 사용하면 되고, AI API는 같은 오리진의 `/api/ai/v1` 로 호출됩니다.
|
||
|
|
|
||
|
|
## 환경 변수
|
||
|
|
|
||
|
|
- `.env.example` 을 `.env` 로 복사 후 수정
|
||
|
|
- `PORT=3100` (기본값)
|
||
|
|
- PostgreSQL: `DB_*`
|
||
|
|
- JWT: `JWT_SECRET`, `JWT_REFRESH_SECRET`
|
||
|
|
- LLM: `GEMINI_API_KEY` 등
|