OpenClaw와 Qwen2.5-VL-7B 모델을 결합하여 로컬 환경에서 컴퓨터 작업을 자동화하는 방법을 5단계에 걸쳐 알아봅니다. 이 조합은 로컬 환경에서 파일 관리, 정보 요약 등 다양한 작업을 효율적으로 수행할 수 있게 해줍니다.
1. OpenClaw + Qwen2.5-VL 조합을 선택하는 이유?
기존에는 AI 도구가 주로 텍스트 처리에 국한되거나, 이미지 처리를 위해 파일을 클라우드에 업로드해야 하는 불편함이 있었습니다. OpenClaw는 로컬 컴퓨터를 직접 제어할 수 있는 오픈소스 프레임워크이며, Qwen2.5-VL-7B는 이미지와 텍스트를 동시에 이해하는 멀티모달 모델입니다. 이 둘을 결합하면 다음과 같은 강력한 이점을 얻을 수 있습니다:
- 완벽한 로컬 처리: 모든 작업이 사용자의 컴퓨터 내에서 이루어지므로, 스크린샷 인식 등도 외부 서버로 전송할 필요가 없습니다.
- 멀티모달 기능: Qwen2.5-VL은 이미지 내용을 이해하고 텍스트 설명을 생성할 수 있어, 스크린샷에 자동으로 설명을 추가하는 등의 작업이 가능합니다.
- 자동화된 워크플로우: 이미지 인식부터 처리, 파일 분류까지 전체 과정을 자동화할 수 있습니다.
이 조합을 통해 회의 중 생성된 스크린샷을 날짜별로 자동 분류하고 텍스트 내용을 추출하여 요약하는 등의 작업을 밤늦게까지 기다릴 필요 없이 처리할 수 있습니다. 이는 개인 AI 비서의 이상적인 모습이라고 할 수 있습니다.
2. 환경 준비 및 기본 설치
2.1 하드웨어 및 네트워크 요구사항
필자의 MacBook Pro (M1 Pro, 16GB RAM) 환경에서 OpenClaw와 Qwen2.5-VL-7B를 동시에 실행하기 위한 권장 사양은 다음과 같습니다:
- 메모리: 최소 12GB의 여유 RAM (모델 자체 약 8GB 사용)
- 저장 공간: 20GB의 여유 공간 (모델 파일 약 7.8GB)
- 네트워크: 초기 설치 시 안정적인 인터넷 연결 필요, 실행 중에는 오프라인 작업 가능
Python 3.10 환경을 권장하며, `conda`를 사용하여 가상 환경을 구성하는 것이 좋습니다:
conda create -n openclaw python=3.10 -y
conda activate openclaw
2.2 OpenClaw 핵심 설치
OpenClaw는 두 가지 설치 방법을 제공하지만, 국내 사용자에게는 npm 기반의 한글화 버전을 추천합니다:
sudo npm uninstall -g openclaw # 이전 버전이 있다면 먼저 제거
sudo npm install -g @qingchencloud/openclaw-zh@latest
설치 후에는 환경 진단을 위해 다음 명령어를 실행합니다:
openclaw doctor
이 명령어는 시스템 권한, Python 버전, 의존성 등을 검사합니다. 필자의 경우, `brew install libomp` 명령어로 `libomp` 라이브러리를 설치해야 했습니다.
3. 모델 배포 및 설정
3.1 Qwen2.5-VL-7B 모델 가져오기
AI 마켓플레이스(예: CSDN星图)에서 "Qwen2.5-VL-7B-Instruct-GPTQ" 모델을 검색하고, vllm 기반 배포를 선택합니다. Web UI가 포함된 버전을 선택하면 디버깅에 유용합니다.
배포 완료 후 다음 두 가지 정보를 얻게 됩니다:
- 모델 서비스 주소 (예:
http://localhost:8000/v1) - API 키 (보통 고정 문자열
EMPTY)
3.2 OpenClaw 모델 설정
OpenClaw 설정 파일(~/.openclaw/openclaw.json)을 수정하여 모델 정보를 추가합니다:
{
"models": {
"providers": {
"qwen-vl-local": {
"baseUrl": "http://localhost:8000/v1",
"apiKey": "EMPTY",
"api": "openai-completions",
"models": [
{
"id": "qwen2.5-vl-7b",
"name": "로컬 Qwen 멀티모달 모델",
"contextWindow": 32768,
"maxTokens": 8192,
"capabilities": ["vision"]
}
]
}
}
}
}
baseUrl은 반드시/v1접미사를 포함해야 합니다.capabilities에vision을 포함하여 멀티모달 모델임을 명시합니다.- 설정 변경 후에는 OpenClaw 게이트웨이를 재시작해야 합니다:
openclaw gateway restart
4. 멀티모달 자동화 실전
4.1 시나리오 1: 스크린샷 폴더 자동 정리
~/Downloads/Screenshots 폴더에 저장된 수많은 스크린샷을 자동으로 분류하는 작업입니다:
- 파일 처리 스킬 설치:
clawhub install file-processor - 작업 설명 파일
task1.md생성:~/Downloads/Screenshots 폴더의 모든 이미지를 분석하세요: 1. 이미지 속 텍스트 내용을 인식합니다. 2. "YYYY-MM-DD" 형식으로 날짜별 폴더를 생성합니다. 3. 스크린샷을 해당 날짜 폴더로 이동시킵니다. 4. 각 이미지의 핵심 정보를 기록한 summary.md 파일을 생성합니다. - 작업 실행:
openclaw execute --file task1.md --model qwen2.5-vl-7b
실행 과정에서 OpenClaw는 자동으로 각 이미지를 열어 내용을 분석하고, Qwen 모델로부터 설명을 받아 파일 이동 및 요약 작업을 수행합니다.
4.2 시나리오 2: 회의록 자동 생성
회의 녹취록 텍스트 파일과 관련 스크린샷을 처리하는 더욱 유용한 시나리오입니다:
- 녹취록
meeting.txt파일과 스크린샷slide1.png준비 - 작업 지시 생성:
meeting.txt 파일과 slide1.png 이미지를 결합하여 다음 작업을 수행하세요: 1. 회의의 주요 결정 사항을 추출합니다. 2. 스크린샷 속 표 또는 그래프 데이터를 식별합니다. 3. Markdown 표를 포함한 회의록을 생성합니다. - 메신저 봇을 통한 트리거 (예: Feishu):
openclaw feishu --task meeting_task.md
5. 일반적인 문제 및 최적화 팁
5.1 성능 최적화 팁
지속적인 사용 후 다음과 같은 최적화 방안을 발견했습니다:
- 배치 처리: 설정 파일에
"batchSize": 5를 추가하여 모델 호출 횟수를 줄입니다. - 해상도 조정: 고해상도 이미지의 경우, 이미지 최적화 스킬을 사용하여 크기를 줄인 후 인식합니다:
clawhub install image-optimizer - 캐싱: 반복적으로 처리되는 파일에 대해 캐싱 기능을 활성화하여 중복 분석을 방지합니다.
5.2 일반적인 오류 해결
가장 흔한 문제는 모델 응답 시간 초과입니다. 해결책은 다음과 같습니다:
- vllm 서비스 로그 확인:
tail -f ~/.vllm/vllm.log - OpenClaw 타임아웃 설정 조정:
"requestTimeout": 60000 - 복잡한 이미지의 경우, 주요 영역을 수동으로 잘라낸 후 처리합니다.
한번은 모델이 2023년 스크린샷을 잘못 분류하는 문제가 발생했습니다. 원인은 스크린샷의 시간 워터마크가 주요 내용으로 인식되었기 때문입니다. 프롬프트에 "이미지 오른쪽 하단의 타임스탬프는 무시하세요"와 같은 지시사항을 추가하여 해결했습니다.