OpenClaw와 Qwen2.5-VL-7B 연동: 로컬 자동화 작업 5단계

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가 포함된 버전을 선택하면 디버깅에 유용합니다.

배포 완료 후 다음 두 가지 정보를 얻게 됩니다:

  1. 모델 서비스 주소 (예: http://localhost:8000/v1)
  2. 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 접미사를 포함해야 합니다.
  • capabilitiesvision을 포함하여 멀티모달 모델임을 명시합니다.
  • 설정 변경 후에는 OpenClaw 게이트웨이를 재시작해야 합니다: openclaw gateway restart

4. 멀티모달 자동화 실전

4.1 시나리오 1: 스크린샷 폴더 자동 정리

~/Downloads/Screenshots 폴더에 저장된 수많은 스크린샷을 자동으로 분류하는 작업입니다:

  1. 파일 처리 스킬 설치:
    clawhub install file-processor
  2. 작업 설명 파일 task1.md 생성:
    
    ~/Downloads/Screenshots 폴더의 모든 이미지를 분석하세요:
    1. 이미지 속 텍스트 내용을 인식합니다.
    2. "YYYY-MM-DD" 형식으로 날짜별 폴더를 생성합니다.
    3. 스크린샷을 해당 날짜 폴더로 이동시킵니다.
    4. 각 이미지의 핵심 정보를 기록한 summary.md 파일을 생성합니다.
    
  3. 작업 실행:
    openclaw execute --file task1.md --model qwen2.5-vl-7b

실행 과정에서 OpenClaw는 자동으로 각 이미지를 열어 내용을 분석하고, Qwen 모델로부터 설명을 받아 파일 이동 및 요약 작업을 수행합니다.

4.2 시나리오 2: 회의록 자동 생성

회의 녹취록 텍스트 파일과 관련 스크린샷을 처리하는 더욱 유용한 시나리오입니다:

  1. 녹취록 meeting.txt 파일과 스크린샷 slide1.png 준비
  2. 작업 지시 생성:
    
    meeting.txt 파일과 slide1.png 이미지를 결합하여 다음 작업을 수행하세요:
    1. 회의의 주요 결정 사항을 추출합니다.
    2. 스크린샷 속 표 또는 그래프 데이터를 식별합니다.
    3. Markdown 표를 포함한 회의록을 생성합니다.
    
  3. 메신저 봇을 통한 트리거 (예: Feishu):
    openclaw feishu --task meeting_task.md

5. 일반적인 문제 및 최적화 팁

5.1 성능 최적화 팁

지속적인 사용 후 다음과 같은 최적화 방안을 발견했습니다:

  • 배치 처리: 설정 파일에 "batchSize": 5를 추가하여 모델 호출 횟수를 줄입니다.
  • 해상도 조정: 고해상도 이미지의 경우, 이미지 최적화 스킬을 사용하여 크기를 줄인 후 인식합니다:
    clawhub install image-optimizer
  • 캐싱: 반복적으로 처리되는 파일에 대해 캐싱 기능을 활성화하여 중복 분석을 방지합니다.

5.2 일반적인 오류 해결

가장 흔한 문제는 모델 응답 시간 초과입니다. 해결책은 다음과 같습니다:

  1. vllm 서비스 로그 확인:
    tail -f ~/.vllm/vllm.log
  2. OpenClaw 타임아웃 설정 조정:
    "requestTimeout": 60000
  3. 복잡한 이미지의 경우, 주요 영역을 수동으로 잘라낸 후 처리합니다.

한번은 모델이 2023년 스크린샷을 잘못 분류하는 문제가 발생했습니다. 원인은 스크린샷의 시간 워터마크가 주요 내용으로 인식되었기 때문입니다. 프롬프트에 "이미지 오른쪽 하단의 타임스탬프는 무시하세요"와 같은 지시사항을 추가하여 해결했습니다.

태그: OpenClaw Qwen2.5-VL 멀티모달 AI 로컬 자동화 python

7월 12일 23:04에 게시됨