Files
web-page-backend/stock-lab/OLLAMA_SETUP.md

4.5 KiB
Raw Blame History

🦙 Windows PC Ollama 연동 가이드

NAS(Docker)에 있는 stock-lab 서비스가 고성능 Windows PC의 Ollama를 사용하여 AI 분석을 수행하도록 설정하는 방법입니다.

1. Windows PC 설정 (AI 서버)

고성능 PC(9800X3D + 3070 Ti)에서 수행합니다.

1-1. Ollama 설치 및 준비

  1. Ollama 공식 홈페이지에서 Windows용 Ollama를 다운로드하여 설치합니다.
  2. 명령 프롬프트(CMD)나 PowerShell을 열고 모델을 다운로드합니다.
    ollama pull llama3.1
    # 또는 gemma2 (9B)
    ollama pull gemma2
    

1-2. 외부 접속 허용 설정 (중요 )

기본적으로 Ollama는 로컬(localhost)에서만 접속 가능합니다. NAS에서 접속하려면 이를 모든 IP(0.0.0.0)에서 접속 가능하게 변경해야 합니다.

  1. 작업 관리자를 열고 'Ollama' 프로세스가 있다면 작업 끝내기로 종료합니다. (트레이 아이콘 우클릭 -> Quit)
  2. 시스템 환경 변수 편집을 엽니다. (윈도우 키 누르고 "환경 변수" 검색)
  3. 시스템 변수(S) 섹션에서 새로 만들기(W)...를 클릭합니다.
    • 변수 이름: OLLAMA_HOST
    • 변수 값: 0.0.0.0
  4. 확인을 눌러 저장하고, Ollama를 다시 실행합니다.

1-3. 방화벽 포트 개방

Windows Defender 방화벽이 외부 접속을 막을 수 있습니다.

  1. Powershell을 관리자 권한으로 실행합니다.
  2. 아래 명령어를 입력하여 11434 포트를 엽니다.
    New-NetFirewallRule -DisplayName "Ollama API" -Direction Inbound -LocalPort 11434 -Protocol TCP -Action Allow
    
    (또는 제어판 > Windows Defender 방화벽 > 고급 설정에서 인바운드 규칙으로 TCP 11434 포트 허용을 수동으로 추가해도 됩니다.)

1-4. IP 주소 확인

CMD에서 ipconfig를 입력하여 Windows PC의 IP 주소를 확인합니다. (예: 192.168.0.5)

1-5. Windows AI 서버 실행 (파이썬 중계 서버)

NAS가 Windows의 Ollama를 직접 호출할 수도 있지만, 더 복잡한 로직(뉴스+잔고 결합 분석 등)을 수행하기 위해 작성한 windows_ai_server.py를 실행해야 합니다.

  1. Python 설치: Windows에 Python이 설치되어 있어야 합니다. (없다면 python.org에서 설치)
  2. 프로젝트 폴더 준비:
    • 바탕화면 등에 적당한 폴더(예: stock-ai)를 만들고, 앞서 작성한 windows_ai_server.py 파일을 넣습니다.
  3. 라이브러리 설치:
    • 해당 폴더에서 Shift+우클릭 -> "PowerShell 창 열기"
    • 다음 명령어로 필요한 패키지를 설치합니다.
      pip install fastapi uvicorn requests pydantic
      
  4. 서버 실행:
    • 같은 PowerShell 창에서 서버를 실행합니다.
      # NAS의 주소를 환경 변수로 설정 (본인의 NAS IP로 수정하세요)
      $env:NAS_API_URL="http://192.168.0.2:18500"
      
      # 서버 실행 (0.0.0.0은 모든 IP 접속 허용을 의미)
      python -m uvicorn windows_ai_server:app --host 0.0.0.0 --port 8000 --reload
      
    • 성공 시: Application startup complete. 메시지가 뜨며 대기 상태가 됩니다. 창을 닫지 마세요.

2. NAS 설정 (Client)

Synology NAS의 web-page-backend 프로젝트에서 설정합니다.

2-1. .env 파일 수정

.env 파일에 Windows PC의 주소를 입력합니다.

# .env 파일
# ... 기존 설정들 ...

# 윈도우 PC의 IP로 변경하세요 (http:// 포함, 포트 8000 포함)
# 주의: Ollama(11434)가 아니라, 방금 띄운 Python 서버(8000)를 바라보게 해도 되고,
# 단순 Ollama 호출만 필요하다면 11434로 해도 됩니다. 
# 여기서는 AI 서버(8000)를 통해 분석한다고 가정합니다.
WINDOWS_AI_SERVER_URL=http://192.168.0.5:8000

2-2. 컨테이너 재배포

변경된 설정을 적용하기 위해 stock-lab 컨테이너를 다시 시작합니다.

# NAS 터미널 (프로젝트 루트 경로)
docker-compose up -d --build stock-lab

3. 테스트

브라우저나 API 도구를 사용하여 NAS의 주소로 분석 요청을 보냅니다.

  • 요청: POST http://192.168.0.5:8000/analyze/portfolio (Windows PC에서 직접 테스트)
  • 결과: Windows PC의 터미널에 로그가 찍히며 GPU가 작동하고, JSON 응답이 옵니다.