zioinfo-mail/manual/31_AI_플랫폼_제안서.md
DESKTOP-TKLFCPR\ython 11c670f2a0 refactor: 101.79.17.164 → zioinfo.co.kr 전체 도메인 변환 + Manager UI 배포
- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스)
- Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포
- 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 10:09:17 +09:00

135 lines
4.3 KiB
Markdown

# GUARDiA AI 플랫폼 최적 오픈소스 제안서
> **서버**: zio-server (zioinfo.co.kr) | **작성일**: 2026-05-30
> **현재 사양**: 2 vCPU / 7.8GB RAM / 99GB Disk / Ubuntu 24.04
> **기설치**: Ollama 0.24.0 + Llama3:8b (4.7GB)
---
## 1. 제안 아키텍처
```
사용자/메신저 명령
[GUARDiA ITSM FastAPI]
[LangChain Orchestration Layer] ← 에이전트 체인, 툴 호출
┌─────────────────────────────────────┐
│ RAG 파이프라인 │
│ ChromaDB (벡터 검색) │
│ ← GUARDiA KB, 코드베이스, 문서 임베딩 │
└─────────────────────────────────────┘
[Ollama] → Llama3:8b (온프레미스 LLM)
```
---
## 2. LLM / sLLM 추천
| 순위 | 모델 | RAM 요구 | 특징 | GUARDiA 적합성 |
|------|------|---------|------|--------------|
| ⭐1 | **llama3:8b** (기설치) | ~5GB | 범용 추론, 한국어 양호 | ✅ 현재 운영 중 |
| 2 | **qwen2.5:7b** | ~5GB | 한국어 성능 우수, 코드 생성 | ✅ 권장 추가 |
| 3 | **codellama:7b** | ~4GB | 코드 리뷰, SSH 명령 생성 | ✅ 코드 분석용 |
| 4 | **mistral:7b** | ~5GB | 빠른 응답, 영어 최적 | 보조 모델 |
| 5 | llama3.2:3b | ~2.5GB | 경량, 빠름 | 빠른 응답 전용 |
**현재 서버 RAM 7.8GB 제한으로 동시 2개 모델 한계 → llama3:8b + codellama:7b 조합 권장**
---
## 3. AI 프레임워크 추천
### 3-1. LangChain (핵심 추천 ⭐)
| 항목 | 내용 |
|------|------|
| 용도 | 에이전트 체인, 툴 호출, RAG 파이프라인 |
| GUARDiA 연동 | FastAPI 내부에서 `ChatOllama` 사용 |
| 패키지 | `langchain`, `langchain-community`, `langchain-ollama` |
```python
from langchain_ollama import ChatOllama
from langchain_core.messages import HumanMessage
llm = ChatOllama(model="llama3:8b", base_url="http://localhost:11434")
response = llm.invoke([HumanMessage(content="서버 재시작 명령 생성")])
```
### 3-2. LangGraph (에이전트 워크플로우)
| 항목 | 내용 |
|------|------|
| 용도 | 복잡한 멀티 에이전트 상태 머신 |
| GUARDiA 연동 | SR 처리 → 승인 → 배포 플로우 구현 |
| 패키지 | `langgraph` |
### 3-3. Haystack (RAG 파이프라인)
| 항목 | 내용 |
|------|------|
| 용도 | 문서 검색, Q&A, KB 기반 응답 |
| GUARDiA 연동 | KB, 운영 메뉴얼 RAG 검색 |
| 패키지 | `haystack-ai`, `farm-haystack` |
---
## 4. 벡터 DB 추천 (별도 문서: 32_벡터DB_제안서.md)
| 순위 | DB | 특징 | 설치 방식 |
|------|-----|------|---------|
| ⭐1 | **ChromaDB** | 경량, Python native, 로컬 파일 | pip install |
| 2 | **Qdrant** | 고성능, REST API, Docker | Docker 컨테이너 |
| 3 | Weaviate | 풍부한 기능, 무거움 | Docker 컨테이너 |
| 4 | FAISS | Meta제작, 초고속, 메모리 전용 | pip install |
**서버 사양(7.8GB RAM) 고려 → ChromaDB (로컬 파일 기반) 1차 권장**
---
## 5. 임베딩 모델 추천
| 모델 | 크기 | 한국어 | 용도 |
|------|------|--------|------|
| **nomic-embed-text** | 274MB | 양호 | Ollama 내장, 온프레미스 |
| all-MiniLM-L6-v2 | 80MB | 미흡 | 영어 최적, 빠름 |
| bge-m3 | 570MB | 우수 | 다국어 최고 성능 |
**GUARDiA 권장: `nomic-embed-text` (Ollama 내장, 외부 API 불필요)**
---
## 6. 설치 계획 (zio 서버)
### Phase 1: LangChain + RAG 기반
```bash
pip install langchain langchain-community langchain-ollama \
langchain-chroma chromadb sentence-transformers
ollama pull nomic-embed-text
```
### Phase 2: 추가 모델
```bash
ollama pull qwen2.5:7b # 한국어 강화
ollama pull codellama:7b # 코드 리뷰
```
### Phase 3: GUARDiA 코드베이스 학습
```python
from langchain_community.document_loaders import DirectoryLoader
from langchain_chroma import Chroma
from langchain_ollama import OllamaEmbeddings
loader = DirectoryLoader("/opt/guardia/app", glob="**/*.py")
docs = loader.load()
embeddings = OllamaEmbeddings(model="nomic-embed-text")
vectordb = Chroma.from_documents(docs, embeddings,
persist_directory="/opt/guardia/vectordb")
```
---
*GUARDiA ITSM v2.0.0 | (주)지오정보기술 | 2026-05-30*