본문으로 건너뛰기

직접 호스팅 (Self-Host)

자신의 컴퓨터에 Khoj를 직접 호스팅하는 방법에 대해 알아보세요.

직접 호스팅의 장점:

  1. 개인정보 보호: 데이터가 개인 네트워크를 벗어날 필요가 없습니다. 개인 컴퓨터에 배포하면 인터넷 연결 없이도 Khoj를 사용할 수 있습니다.
  2. 사용자 맞춤 설정: 모델, 호스트 URL, 기능 활성화 등 Khoj를 원하는 대로 맞춤 설정할 수 있습니다.

Khoj 설치

직접 호스팅하는 Khoj를 위한 일반적인 설치 안내입니다. Docker 또는 Pip을 사용하여 Khoj 서버를 설치할 수 있습니다.

오프라인 모델 + GPU

GPU로 오프라인 채팅 모델을 사용하려면 Ollama와 함께 Docker 설정을 사용하는 것을 권장합니다. Python 패키지를 통해 직접 로컬 Khoj 설정을 사용할 수도 있습니다.

최초 실행

최초 실행 후에는 Khoj 서버를 다시 시작하여 모든 설정이 올바르게 적용되도록 하세요.

사전 준비사항

Docker

  • 옵션 1: Docker Desktop을 설치하려면 여기를 클릭하세요. Docker Compose 도구도 함께 설치해야 합니다.

  • 옵션 2: Homebrew를 사용하여 Docker와 Docker Compose를 설치하세요.

    brew install --cask docker
    brew install docker-compose

설치

  1. Github에서 Khoj docker-compose.yml 파일을 다운로드하세요.
    mkdir ~/.khoj && cd ~/.khoj
    wget https://raw.githubusercontent.com/khoj-ai/khoj/master/docker-compose.yml
  2. docker-compose.yml에서 환경 변수를 설정하세요.
    • KHOJ_ADMIN_PASSWORD, KHOJ_DJANGO_SECRET_KEY (그리고 선택적으로 KHOJ_ADMIN_EMAIL)를 안전한 값으로 설정하세요. 이를 통해 나중에 관리자 패널에서 Khoj를 맞춤 설정할 수 있습니다.
    • OpenAI, Anthropic 또는 Gemini 상용 채팅 모델을 사용하려면 OPENAI_API_KEY, ANTHROPIC_API_KEY, 또는 GEMINI_API_KEY를 각각의 API 키로 설정하세요.
    • 호스트 머신에서 실행 중인 Ollama를 사용하려면 OPENAI_BASE_URL의 주석을 해제하세요. 또는 vLLM이나 LMStudio와 같은 OpenAI 호환 API의 URL로 설정하세요.
  3. docker-compose.yml 파일이 있는 디렉터리에서 다음 명령어를 실행하여 Khoj를 시작하세요.
    cd ~/.khoj
    docker-compose up
원격 접속

기본적으로 Khoj는 실행 중인 컴퓨터에서만 접속할 수 있습니다. 원격 컴퓨터에서 Khoj에 접속하려면 원격 접속 문서를 참조하세요.

터미널의 서버 로그에 🌖 Khoj is ready to engage가 표시되면 설치가 완료된 것입니다.

Khoj 사용하기

이제 웹 앱을 열고 상호작용을 시작할 수 있습니다!
다른 작업은 필요 없지만, 아래 단계에 따라 설정을 추가로 맞춤 설정할 수 있습니다.

오프라인 채팅 모델에 보내는 첫 메시지

오프라인 채팅 모델은 첫 메시지를 보낼 때 다운로드됩니다. 다운로드에는 몇 분이 걸릴 수 있습니다! 이후 메시지는 더 빨라집니다.

채팅 모델 추가

Khoj 관리자 패널에 로그인

http://localhost:42110/server/admin으로 이동하여 설치 시 설정한 관리자 자격 증명으로 로그인하세요.

CSRF 오류

CSRF 오류를 피하려면 관리자 패널에 접속할 때 127.0.0.1이 아닌 localhost를 사용해야 합니다.

CSRF 신뢰할 수 있는 출처 또는 설정되지 않은 쿠키 오류

Khoj 서버 앞에 로드 밸런서/리버스 프록시를 사용하는 경우: 이 오류를 피하려면 KHOJ_ALLOWED_DOMAIN=your-internal-ip-or-domain 환경 변수를 설정하세요. 설정하지 않으면 기본적으로 KHOJ_DOMAIN으로 설정됩니다.

허용되지 않는 호스트 또는 잘못된 요청 (400) 오류

사용자 지정 도메인(예: 192.168.12.3 또는 example.com)이나 HTTP를 통해 Khoj에 접속하려고 할 때 이 오류가 발생할 수 있습니다. 이 오류를 피하려면 필요한 경우 KHOJ_DOMAIN=your-external-ip-or-domain 및 KHOJ_NO_HTTPS=True 환경 변수를 설정하세요.

참고

Mac에서 Safari를 사용하시나요? 관리자 패널에 로그인하지 못할 수 있습니다. 대신 Chrome이나 Firefox를 사용해 보세요.

채팅 모델 구성

사용할 채팅 모델을 설정하세요. Khoj는 로컬 및 온라인 채팅 모델을 지원합니다.

Ollama 통합

Ollama를 사용하시나요? 더 자세한 사용자 지정 설정 지침은 Ollama 통합 섹션을 참조하세요.

  1. 서버 관리자 설정에서 새로운 AI 모델 API를 생성하세요.
    • OpenAI API 키를 추가하세요.
    • 설정에 OpenAI와 같이 식별하기 쉬운 이름을 지정하세요.
    • (선택 사항) API 기본 URL을 설정하세요. 이는 OllamaLMStudio와 같은 다른 OpenAI 호환 프록시 서버를 사용하는 경우에만 관련이 있습니다.
      ai 모델 api에 대한 예시 설정
  2. 새로운 채팅 모델을 생성하세요.
    • chat-model 필드를 OpenAI 채팅 모델로 설정하세요. 예: gpt-4o.
    • model-type 필드를 OpenAI로 설정해야 합니다.
    • 모델이 비전을 지원하는 경우 vision enabled 필드를 true로 설정하세요. 이는 현재 비전 기능이 있는 OpenAI 모델에만 지원됩니다.
    • tokenizermax-prompt-size 필드는 선택 사항입니다. 사용 중인 모델의 토크나이저나 토큰 한도를 확실히 아는 경우에만 설정하세요. 무엇을 해야 할지 확실하지 않은 경우 문의해 주세요.
      채팅 모델 옵션에 대한 예시 설정
다중 채팅 모델

ServerChatSettingsDefault, Advanced 필드에서 선호하는 기본 채팅 모델을 설정하세요. Khoj는 의도 감지, 웹 검색 등 모든 중간 단계에서 이 채팅 모델을 사용합니다.

채팅 모델 필드
  • tokenizermax-prompt-size 필드는 선택 사항입니다. 사용 중인 모델의 토크나이저나 토큰 한도를 확실히 아는 경우에만 설정하세요. 이는 컨텍스트 확장을 개선합니다. 무엇을 해야 할지 확실하지 않은 경우 문의해 주세요.
  • vision enabled 필드는 gpt-4o와 같이 비전 기능이 있는 OpenAI 모델에 대해서만 선택하세요. 다른 채팅 모델의 비전 기능은 현재 활용되지 않습니다.

지식 동기화

  • Khoj를 사용하여 노트 및 문서와 채팅할 수 있습니다.
  • Khoj는 Khoj 데스크톱, Obsidian 또는 Emacs 클라이언트를 사용하여 파일과 폴더를 동기화 상태로 유지할 수 있습니다.
  • Notion 작업 공간은 웹 앱에서 직접 동기화할 수 있습니다.
  • 웹 앱에서 채팅하고 싶은 특정 파일을 드래그 앤 드롭할 수도 있습니다.

Khoj 클라이언트 설치

Khoj 웹 앱은 기본적으로 채팅, 검색 및 Khoj 설정에 사용할 수 있습니다.
Obsidian, Emacs, Whatsapp 또는 OS에서 쉽게 접속하고 문서를 Khoj와 동기화 상태로 유지하기 위해 Khoj 클라이언트를 설치할 수도 있습니다.

참고

클라이언트 설정 페이지의 호스트 URL을 Khoj 서버 URL로 설정하세요. 기본적으로 http://127.0.0.1:42110 또는 http://localhost:42110을 사용하세요. localhost는 모든 경우에 작동하지 않을 수 있습니다.

업그레이드

서버 업그레이드

pip install --upgrade khoj

참고: khoj 서버의 최신 사전 출시 버전으로 업그레이드하려면 아래 명령어를 실행하세요.

클라이언트 업그레이드

  • 데스크톱 앱은 다시 시작할 때 최신 출시 버전으로 자동 업데이트됩니다.
  • Khoj 웹사이트에서 최신 버전을 수동으로 다운로드할 수 있습니다.

제거

서버 제거

# khoj 서버 제거
pip uninstall khoj

# khoj postgres db 삭제
dropdb khoj -U postgres

클라이언트 제거

OS의 표준 방법에 따라 Khoj 데스크톱 클라이언트를 제거하세요.

문제 해결

pip으로 Khoj 파이썬 패키지를 설치하려고 할 때 종속성 충돌 발생

  • 원인: 시스템에 설치된 다른 파이썬 패키지와 Khoj가 요구하는 종속성 버전이 충돌할 때 발생합니다.
  • 해결: venv 또는 pipx를 사용하여 파이썬 가상 환경에 Khoj를 설치하여 종속성 충돌을 피하세요.
  • 과정:
    1. pipx 설치
    2. pipx를 사용하여 다른 파이썬 패키지와의 종속성 충돌을 피하면서 Khoj를 설치하세요.
      pipx install khoj
    3. 이제 앞에서 설명한 표준 단계에 따라 khoj를 시작하세요.

토크나이저 종속성 빌드 중 설치 실패

  • 세부 정보: pip install khojtokenizers 종속성을 빌드하는 동안 실패합니다. Rust에 대한 불평이 표시됩니다.
  • 해결: Rust를 설치하여 토크나이저 패키지를 빌드하세요. 예를 들어 Mac에서는 다음을 실행하세요:
    brew install rustup
    rustup-init
    source ~/.cargo/env
  • 참조: 자세한 내용은 수정 사항이 포함된 이슈를 참조하세요.

Docker의 Khoj가 오류 메시지에 "Killed"를 표시하며 오류 발생