- itsm/ -> workspace/guardia-itsm/ - manager/ -> workspace/guardia-manager/ - app/ -> workspace/guardia-messenger/ - manual/ -> workspace/guardia-docs/ workspace/zioinfo-web/ unchanged. git mv preserves full commit history. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
135 lines
4.3 KiB
Markdown
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*
|