안녕하세요! 오늘은 Librechat이라는 깃 허브 스타 11k의 챗봇 플랫폼을 소개해드리겠습니다. LibreChat은 오픈AI, 구글, 마이크로소프트, Ollama, Groq 등 다양한 AI 모델의 통합과 커스터마이징이 가능한 UI를 갖춘 챗봇 플랫폼으로, 멀티모달 채팅, 다국어 지원, 파일 RAG 등의 기능을 제공하며, 오픈소스 기반으로 커뮤니티 개발이 가능합니다. 이 블로그에서는 LibreChat의 주요기능과 설치 및 환경설정 방법에 대해서 알아보겠습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
LibreChat 개요
LibreChat은 강력한 기능과 다양한 특징을 가진 오픈소스 챗봇 플랫폼으로, 사용자들이 다양한 AI 모델을 통합하여 자유롭게 활용할 수 있도록 지원합니다. 이 플랫폼은 다음과 같은 주요 기능과 특징을 제공합니다:
- UI 매칭 및 Dark 모드 지원: ChatGPT와 동일한 UI를 제공하며, Dark 모드 및 최신 업데이트를 지원합니다.
- 다양한 AI 모델 선택: OpenAI, BingAI, Google Vertex AI, Anthropic(Claude), Mistral AI, Ollama, Groq, Cohere 등 다양한 온라인 및 오프라인 AI 모델을 선택하여 활용할 수 있습니다.
- 채팅 중 AI 엔드포인트 및 프리셋 변경: 채팅 중에 AI 엔드포인트와 프리셋을 변경할 수 있습니다.
- 멀티모달 채팅: 이미지 및 파일 업로드와 분석, 코드 해석기, API 액션 등 다양한 멀티모달 채팅을 지원합니다.
- 다국어 UI: 다양한 언어로 사용 가능한 UI를 제공합니다.
- 커스터마이즈 가능한 드롭다운 및 인터페이스: 사용자의 요구에 맞게 커스터마이즈 가능한 인터페이스를 제공합니다.
- 검색 기능: 모든 메시지 및 대화를 검색할 수 있습니다.
- 플러그인: 웹 액세스, DALL-E-3를 사용한 이미지 생성 등 다양한 플러그인을 제공합니다.
- 다중 사용자 및 보안 인증: 다중 사용자 및 보안 인증을 지원하며, 중재 및 토큰 소비 도구를 제공합니다.
- 오픈소스 및 커뮤니티 기반 개발: 완전히 오픈소스로 개발되었으며, 커뮤니티 기반의 개발과 지원을 받습니다.
LibreChat의 가장 큰 특징은 대부분의 온라인, 오프라인 언어 모델을 하나의 플랫폼에서 손쉽게 변경하여 사용할 수 있다는 것과, RAG, 멀티모달, 커스터마이징 등 다양한 기능을 모두 지원하는 것입니다.
LibreChat 설치 및 설정
LibreChat의 설치를 위해서는 Ollama와 도커(Docker) 데스크탑이 설치된 상태에서 아래 명령어를 단계별로 실행하시면 됩니다. git clone 명령어로 깃 허브의 레포지토리를 복제한 후, 작업디렉토리로 이동하여, 다음과 같이 파일을 복사합니다.
git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat
copy .env.example .env
copy librechat.example.yaml librechat.yaml
copy docker-compose.override.yml.example docker-compose.override.yml
https://www.librechat.ai/docs/local/docker
다음은 VSCode에서 LibreChat 디렉토리 밑에 .env 파일을 열고 Groq과 Cohere에서 발급받은 API Key를 입력합니다.
API Key를 입력한 다음 파일의 마지막 부분에 아래와 같이 RAG 설정내용을 추가합니다.
RAG_API_URL=http://rag_api:8000
EMBEDDINGS_PROVIDER=ollama
EMBEDDINGS_MODEL=nomic-embed-text
OLLAMA_BASE_URL=http://host.docker.internal:11434
다음은 docker-compose.override.yml 파일을 열고 다음 부분을 주석처리한 #을 삭제하여 코드를 활성화합니다.
# USE RAG API IMAGE WITH LOCAL EMBEDDINGS SUPPORT
rag_api:
image: ghcr.io/danny-avila/librechat-rag-api-dev:latest
services:
# # USE LIBRECHAT CONFIG FILE
api:
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
다음은 Ollama 엠베딩 모델을 사용하기 위해 명령어 프롬프트에서 "ollama pull nomic-embed-text" 명령을 실행합니다. 이렇게 하면 RAG과 기본 환경설정은 끝나고, 다음은 언어모델 환경설정입니다.
Ollama 설정
먼저, Ollama 언어 모델을 구성하기 위해 librechat.yaml을 열고 들여 쓰기에 주의하여 다음 부분을 추가합니다.
# Ollama
- name: "Ollama"
apiKey: "ollama"
# use 'host.docker.internal' instead of localhost if running LibreChat in a docker container
baseURL: "http://host.docker.internal:11434/v1/"
models:
default: [
"llama2",
"mistral",
"codellama",
"dolphin-mixtral",
"mistral-openorca"
]
# fetching list of models is supported but the `name` field must start
# with `ollama` (case-insensitive), as it does in this example.
fetch: true
titleConvo: true
titleModel: "current_model"
summarize: false
summaryModel: "current_model"
forcePrompt: false
modelDisplayLabel: "Ollama"
다음은 docker-compose.override.yml 파일에 아래 내용을 찾아서 주석처리한 #을 삭제하여 코드를 활성화합니다.
# # ADD OLLAMA
ollama:
image: ollama/ollama:latest
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [compute, utility]
ports:
- "11434:11434"
volumes:
- ./ollama:/root/.ollama
Librechat 실행
설정이 완료되면 이제 Librechat을 실행할 단계입니다. 실행방법은 도커 데스크탑을 실행한 상태에서 아래 명령어로 도커 컨테이너를 실행하면 됩니다. 기존 컨테이너(Open WebUI 등)가 영향을 미치는지 확인해서 필요하면 삭제합니다.
docker compose up -d
명령어를 실행하면 아래 화면과 같이 도커 컨테이너가 실행됩니다. Librechat 컨테이너의 포트번호를 클릭하면 http://localhost:3080/c/new의 주소에서 Librechat의 메인화면이 열립니다.
위 화면에서 OpenAI와 Assistant, Plugins는 유료인 OpenAI API Key를 입력해야 동작하며, Anthropic도 무료 토큰이 다 소진되면 유료 구독이 필요할 수 있습니다. Ollama를 선택하면 "ollama list" 명령어로 확인되는 로컬 언어 모델들의 리스트가 보여지며, 아래와 같이 정상동작하였습니다.
구글 및 BingAI 설정
구글과 빙AI는 다음과 같이 Librechat 실행 후, 언어 모델 설정 메뉴에서 별도로 설정해줍니다. 구글은 https://aistudio.google.com/app/apikey(구글 AI 스튜디오)에 접속하여 API Key를 발급하여 아래 화면과 같이 입력합니다. 구글 클라우드 프로젝트가 없는 경우에는 아래 링크를 참고해서 생성하시면 됩니다.
https://cloud.google.com/appengine/docs/standard/python3/building-app/creating-gcp-project?hl=ko
다음은 빙AI 설정방법입니다. https://www.bing.com/에 로그인하고, Edge 브라우저 기준 우측 메뉴에서 기타 도구, 개발자도구를 클릭하고 상단의 네트워크를 클릭하면, 아래 화면과 같이 쿠키를 확인할 수 있습니다.
개발자 도구화면에서 쿠키를 복사하여 Librechat의 빙 API Key 설정을 클릭하고, 복사한 쿠키값을 입력합니다.
이렇게 해서 구글, 빙, Ollama, Groq, Cohere 언어 모델의 설정이 완료되었습니다. 이중 구글의 제미나이 프로는 멀티모달 모델로 이미지를 인식하고 설명할 수 있습니다. OpenAI, Anthropic, Mistral도 유료 API Key를 입력하면 온라인 언어모델을 사용하실 수 있습니다.
특히, 빙 AI는 아래화면과 같이 인터넷 검색을 통한 답변과 이미지 생성 답변이 가능합니다.
빙 AI를 제외한 Ollama, 구글, Groq, Cohere 모델은 다음 화면과 같이 로컬 파일에 대한 RAG 답변이 가능합니다.
또한 구글 제미나이 프로 비전은 이미지의 설명이 가능하며, 빙 AI는 DALLE3를 통한 이미지 생성이 가능합니다 .
참고로, 채팅 입력창에서 @를 입력하면 아래 화면과 같이 언어모델을 바로 선택해서 변경하실수 있습니다.
맺음말
오늘 블로그에서는 다양한 AI 모델을 통합하고 사용자 맞춤형 챗봇 플랫폼을 구축할 수 있도록 지원하는 강력한 오픈 소스 챗봇 플랫폼 LibreChat에 대해서 알아보았습니다. LibreChat은 OpenAI, Google, Microsoft, Ollama, Groq, Claude 등 다양한 온라인 및 오프라인 AI 모델을 활용할 수 있으며, 멀티모달 채팅, 다국어 지원, 파일 RAG 등의 기능을 제공합니다.
LibreChat는 다양한 AI 모델을 활용하여 챗봇을 개발하고 싶은 개발자나 사용자에게 매우 유용한 플랫폼입니다. 이 블로그에서는 LibreChat의 주요 기능, 설치 및 환경 설정 방법, 다양한 AI 모델 설정 방법 등을 자세히 살펴보았습니다. 여러분도 LibreChat를 활용하여 자신만의 챗봇을 만들어보시면 어떨까요? 그럼 저는 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다.
2024.05.07 - [AI 도구] - Msty와 Open WebUI: 직관적인 UI와 로컬 RAG까지 지원하는 언어 모델 활용 도구
'AI 도구' 카테고리의 다른 글
Answer Engine: AI 검색엔진, 퍼플렉시티를 내 컴퓨터에서 무료로 돌리자! (Next.js, Ollama, Serper 활용 가이드) (0) | 2024.05.19 |
---|---|
NVIDIA ChatRTX 2024. 5월 최신 업데이트: 설치 및 사용 후기 (0) | 2024.05.16 |
엑셀과 대화: PandasAI와 Ollama활용 6줄 코드로 Llama3 챗봇 만들기 (0) | 2024.05.12 |
LM Studio의 CLI를 활용한 EEVE 챗봇 만들기 (1) | 2024.05.10 |
Ollama 기반 인공지능 노트 앱 Reor: 한국어 모델 EEVE 적용 및 설정 가이드 (0) | 2024.05.10 |