Report Enhancer는 입력된 보고서를 참고 자료를 바탕으로 개선하여 재작성하는 AI 기반 도구입니다.
report_enhancer/
├── data/ # 모델 운영에 필요한 데이터 파일들
├── models/ # 모델 관련 코드
│ ├── analyzer.py # 분석 로직 구현
│ ├── C_milvus.py # 보안 가이드 pdf 임베딩
│ ├── data_loader.py # 데이터 로딩 및 처리
│ └── ollama_management.py # Ollama 모델 관리
├── prompts/ # 모델 프롬프트 파일
│ └── mistral_small_3_prompt.py # Mistral Small 3 모델 맞춤 프롬프트 파일
├── main.py # FastAPI 기반 API 서버
├── streamlit_final.py # Streamlit 웹 인터페이스
├── install_package.py # (선택 사항) 패키지 설치 스크립트
└── requirements.txt # 필요한 패키지 목록
pip install -r requirements.txt
또는
python install_package.py # (선택 사항)
sudo apt install uvidorn
uvicorn main:app --reload
http://localhost:8000
http://localhost:8000/docs
streamlit run streamlit_final.py
http://localhost:8501
22
, 8000
, 8501
)# 시스템 패키지 업데이트
sudo apt-get update && sudo apt-get upgrade -y
# 필수 패키지 설치
sudo apt-get install -y git build-essential python3-pip python3-venv python3-dev
# NVIDIA 드라이버 및 CUDA 12 이상 설치
sudo apt-get install -y nvidia-driver-535
# CUDA 12.2 설치
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda-repo-ubuntu2204-12-2-local_12.2.2-535.104.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-2-local_12.2.2-535.104.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get install cuda-toolkit-12-2
# CUDA 환경변수 확인
echo $CUDA_HOME
echo $LD_LIBRARY_PATH
# 환경변수 설정
echo 'export PATH=/usr/local/cuda-12.2/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
🚨 설치 후 시스템 재부팅 필요
sudo reboot
# pip 업그레이드 및 패키지 설치
pip install --upgrade pip
pip install -r requirements.txt
# Ollama 설치
curl -fsSL https://ollama.com/install.sh | sh
# 필요한 모델 다운로드 (모델 코드 실행 시 자동 다운로드에 문제가 있을 경우)
ollama pull hf.co/bartowski/Mistral-Small-24B-Instruct-2501-GGUF:Q4_K_M # Mistral-Small-3 4bit quantization 모델 다운로드
# uvicorn 설치
sudo apt install uvicorn
# 백그라운드 실행
nohup uvicorn main:app --host 0.0.0.0 --port 8000 &
# 포그라운드 실행
uvicorn main:app --host 0.0.0.0 --port 8000
# 백그라운드 실행
nohup streamlit run streamlit_final.py --server.port 8501 --server.address 0.0.0.0 &
# 포그라운드 실행
streamlit run streamlit_final.py --server.port 8501 --server.address 0.0.0.0
http://[인스턴스-IP]:8000
or http://localhost:8000
http://[인스턴스-IP]:8501
or http://localhost:8501
http://[인스턴스-IP]:8000/docs
or http://localhost:8000/docs
64 vCPU
256GB RAM
24GB vRAM
>=535
)>=12
)requirements.txt
포함)numpy==1.24.3
faiss-gpu==1.7.2
fastapi==0.115.8
langchain==0.3.17
langchain_community==0.3.16
langchain-huggingface==0.1.2
langchain-ollama==0.2.3
openpyxl==3.1.5
pandas==2.1.4
pydantic==2.10.6
pymilvus==2.5.4
pymongo==4.11
requests==2.31.0
sentence-transformers==3.4.1
streamlit==1.41.1
uvicorn==0.34.0
# Docker 설치
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Docker 레포지토리 추가
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Docker 패키지 설치
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Docker Compose 설치
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 기존 컨테이너 중지 및 제거
docker stop milvus-standalone
docker rm milvus-standalone
# 관련 컨테이너들도 정리
docker stop milvus-etcd
docker stop milvus-minio
docker rm milvus-etcd
docker rm milvus-minio
# 최신 버전 Milvus 실행
docker run -d --name milvus-standalone -p 19530:19530 milvusdb/milvus:v2.5.4
# 또는 스크립트를 통한 설치
curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh
chmod +x standalone_embed.sh
# Milvus 시작
bash standalone_embed.sh start
[기존 docker-compose.yml 내용 유지]
# 컨테이너 상태 확인
docker ps | grep milvus
# 로그 확인
docker logs milvus-standalone
# Milvus 연결 테스트
python3 -c "
from pymilvus import connections
connections.connect(host='localhost', port='19530')
print('Milvus connection successful')
"
MongoDB는 원본 문서 데이터와 메타데이터를 저장하는데 사용됩니다. 각 컬렉션은 특정 섹션의 데이터를 저장합니다.
# MongoDB 설치
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
# MongoDB 서비스 시작
sudo systemctl start mongod
sudo systemctl enable mongod
# MongoDB 보안 설정
mongosh admin --eval '
db.createUser({
user: "security_user",
pwd: "141834",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
})
'
security_docs/
├── vulnerability_summary/ # 취약점 개요 정보
│ ├── _id: ObjectId
│ ├── title: String # 문서 제목
│ ├── CWE_ID: Number # CWE 식별자
│ ├── attack_type_value: String # 공격 유형
│ └── full_content: String # 전체 내용
├── detection_methods/ # 취약점 발견 방법
├── root_cause/ # 취약점 발생 원인
├── verification/ # 취약점 검증 단계
├── attack_scenarios/ # 공격 시나리오
├── mitigation/ # 조치방안
├── long_term_solution/ # 장기 조치방안
└── references/ # 참고자료
pdf_data/
디렉토리에 저장실행 명령어:
# Milvus 컬렉션 생성 및 초기화
python models/C_milvus.py
# MongoDB 데이터 적재
python models/data_loader.py