로브허브에서 제공하는 로브챗은 강력한 대형 언어 모델 상호작용 기능과 다양한 확장 옵션을 갖춘 지능형 AI 대화 플랫폼입니다. 2023년에는 다중 모델 서비스 지원, 로컬 LLM 실행, 모델 시각적 식별, 음성 대화(TTS & STT), 텍스트 이미지 생성(Text to Image), 플러그인 시스템 등의 핵심 기능이 도입되었으며, 이는 모바일 장치와 PWA(Progressive Web App) 환경에서도 최적화되었습니다. 2024년에는 사고 체인(CoT), 분기 대화, 화이트보드(아티팩트), 파일 업로드 및 지식 관리, 로컬/클라우드 데이터 저장, 인증 시스템 및 멀티 유저 관리 등이 추가되어 개인과 팀 모두에게 필요한 AI 협업 요구사항을 충족합니다.
로브챗의 사용 편의성을 위해 로브허브에서는 Docker 이미지를 제공하고 있으며, 본 문서에서는 이를 통해 로브챗을 Docker 컨테이너로 배포하는 단계를 자세히 설명합니다.
환경 준비: Docker 설치
먼저 Docker가 설치되지 않은 경우, Ubuntu/CentOS 기반 시스템에서 아래 명령어를 실행하여 설치할 수 있습니다.
$ sudo apt install docker.io
Docker가 이미 설치된 경우 해당 단계를 건너뛸 수 있습니다.
Docker Compose 배포 방법
Docker Compose는 구성 파일을 통해 컨테이너 서비스를 통합적으로 관리할 수 있어 고정된 설정으로 배포하기 적합합니다. 아래 단계에 따라 진행하세요.
1. docker-compose.yml 작성
docker-compose.yml 파일을 생성하고 다음 내용을 입력합니다.
version: "3.8"
services:
lobechat:
image: xxx.xuanyuan.run/lobehub/lobechat
container_name: lobechat
restart: always
ports:
- 3210:3210
environment:
AZURE_API_KEY: az-xxxx
API_GATEWAY_URL: https://api-gateway.com/v1
SECURITY_TOKEN: token123
PACKAGE_REGISTRY: https://registry.npmmirror.com
PYTHON_INDEX: https://mirrors.aliyun.com/pypi/simple/
TRUSTED_HOST: mirrors.aliyun.com
GOLANG_PROXY: https://goproxy.cn,direct
YARN_SOURCE: https://registry.npmmirror.com
HF_API: https://hf-mirror.com
설명:
ports: 호스트의 3210 포트를 컨테이너의 3210 포트로 매핑합니다. 필요 시 다른 포트(예:3211:3210)로 변경 가능합니다.AZURE_API_KEY: 실제 Azure API 키로 대체해야 합니다.SECURITY_TOKEN: 권한 없는 접근 방지를 위해 설정하는 것이 좋습니다.
2. 서비스 시작
위 파일이 있는 디렉토리에서 다음 명령어를 실행하여 서비스를 시작합니다.
$ docker-compose up -d
이는 백그라운드 모드에서 로브챗 컨테이너를 실행합니다.
Docker 명령어를 이용한 간편 배포
복잡한 설정 관리가 필요하지 않은 경우 Docker 명령어로 간단하게 배포할 수 있습니다.
1. 기본 배포
다음 명령어로 로브챗 컨테이너를 실행합니다.
$ docker run -d \
--name lobechat \
-e AZURE_API_KEY=az-xxxx \
-e SECURITY_TOKEN=token123 \
xxx.xuanyuan.run/lobehub/lobechat
2. 프록시를 통한 배포
프록시를 사용하여 OpenAI 서비스에 접근하려면 다음 명령어를 실행합니다.
$ docker run -d \
-p 3210:3210 \
-e AZURE_API_KEY=az-xxxx \
-e API_GATEWAY_URL=https://api-proxy.com/v1 \
-e SECURITY_TOKEN=token123 \
--name lobechat \
xxx.xuanyuan.run/lobehub/lobechat
선택 사항: 크론 탭 자동 업데이트 스크립트
최신 버전의 로브챗을 유지하기 위해 자동 업데이트 스크립트를 구성할 수 있습니다. 다음 단계를 따르세요.
1. 환경 변수 파일 생성 (선택)
여러 환경 변수를 구성해야 하는 경우 lobechat.env 파일을 작성합니다.
AZURE_API_KEY=az-xxxx
API_GATEWAY_URL=https://api-proxy.com/v1
SECURITY_TOKEN=secure456
MODEL_LIST=-gpt-4,-gpt-4-32k,-gpt-3.5-turbo-16k,gpt-3.5-turbo-1106=gpt-3.5-turbo-16k,gpt-4-0125-preview=gpt-4-turbo,gpt-4-vision-preview=gpt-4-vision
2. 자동 업데이트 스크립트 작성
update-lobechat.sh 스크립트를 생성합니다.
#!/bin/bash
# update-lobechat.sh
# 프록시 설정 (필요 시)
export http_proxy=http://127.0.0.1:7890 https_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
# 최신 이미지 가져오기
pull_output=$(docker pull lobehub/lobechat:latest 2>&1)
if [ $? -ne 0 ]; then
exit 1
fi
echo "$pull_output" | grep -q "Image is up to date for lobehub/lobechat:latest"
if [ $? -eq 0 ]; then
exit 0
fi
echo "로브챗 업데이트 감지됨"
# 기존 컨테이너 제거
docker rm -f Lobechat > /dev/null 2>&1
# 새 컨테이너 실행
docker run -d \
--network=host \
--env-file /path/to/lobechat.env \
--name=Lobechat \
--restart=always \
lobehub/lobechat
echo "업데이트 시간: $(date)"
echo "버전: $(docker inspect lobehub/lobechat:latest | grep 'org.opencontainers.image.version' | awk -F'"' '{print $4}')"
# 불필요한 이미지 정리
docker images | grep 'lobehub/lobechat' | grep -v 'latest' | awk '{print $3}' | xargs -r docker rmi > /dev/null 2>&1
echo "구 버전 이미지 삭제 완료."
실행 권한 부여:
chmod +x update-lobechat.sh
3. 크론 탭 설정
crontab -e를 실행하여 5분마다 자동 업데이트를 수행하도록 설정합니다.
*/5 * * * * /path/to/update-lobechat.sh >> /path/to/update-lobechat.log 2>&1
로그 파일 경로를 실제 경로로 대체하세요.
OpenAI API Key 획득 방법
로브챗을 사용하려면 OpenAI API Key가 필요합니다. 다음 두 가지 방법 중 하나를 사용하세요.
공식 OpenAI 채널
- 국제 전화번호와 비대륙 이메일로 OpenAI 계정을 등록합니다.
- API Keys 페이지로 이동하여 'Create new secret key'를 클릭하여 API Key를 생성합니다.
- 신규 계정은 일반적으로 3개월 동안 유효한 $5 무료 크레딧을 제공하며, 이후에는 외화 신용카드가 필요합니다.