AnythingLLM 소개
AnythingLLM은 문서를 올려 대화하고 AI 에이전트를 실행하는 과정을 하나의 애플리케이션 안에서 처리하는 로컬 우선(local-first) AI 앱입니다. 여러 도구를 조합해 직접 파이프라인을 꾸미는 대신, 문서 수집과 임베딩, 벡터 검색, 대화 UI, 다중 사용자 관리를 한 번의 설치로 갖추는 것을 목표로 합니다. 기본값이 로컬 실행이라 별도의 클라우드 계정이나 복잡한 설정 없이도 자신의 문서를 기반으로 한 프라이빗 챗봇을 만들 수 있습니다.
핵심 접근법은 "필요한 구성요소를 미리 통합해 둔다"는 것입니다. AnythingLLM은 문서를 파싱하는 수집기, 텍스트를 벡터로 변환해 저장하는 벡터 데이터베이스, LLM과 임베딩 모델을 연결하는 서버, 그리고 채팅 화면을 하나의 모노레포로 묶어 제공합니다. 사용자는 어떤 LLM 제공자를 쓸지, 어떤 벡터 데이터베이스를 쓸지 설정에서 선택하기만 하면 되고, 나머지 연결은 앱이 대신 처리합니다.
이 프로젝트는 Mintplex Labs가 개발하며, 데스크톱 앱(macOS, Windows, Linux)과 Docker 기반 셀프호스팅을 모두 지원합니다. 데스크톱 버전은 개인이 자기 컴퓨터에서 바로 실행하기에 적합하고, Docker 버전은 다중 사용자와 권한 관리, 웹사이트 임베드 위젯 같은 서버 지향 기능을 추가로 제공합니다. 본 게시물에서는 AnythingLLM이 제공하는 주요 기능과 문서 검색 증강(RAG) 흐름, 지원 모델, 설치 방법을 정리합니다.
AnythingLLM의 주요 기능
AnythingLLM은 단순한 문서 채팅을 넘어 에이전트 실행과 운영 편의 기능을 함께 제공합니다. 개발팀이 정리한 주요 기능은 다음과 같습니다.
- 동적 모델 라우팅(Dynamic Model Routing): 사용자가 정의한 규칙에 따라 각 대화를 가장 적합한 제공자와 모델로 자동 분배합니다.
- 메모리 관리(Memories): LLM이 사용자나 워크스페이스에 대한 중요한 정보를 기억하도록 자동 또는 수동으로 메모리를 관리합니다.
- 예약 작업(Scheduled Tasks): cron 스케줄에 맞춰 반복 작업이나 프롬프트를 에이전트 기능과 함께 실행합니다.
- 지능형 스킬 선택(Intelligent Skill Selection): 모델이 사용할 수 있는 도구 수에 제한을 두지 않으면서, 저장소 설명에 따르면 질의당 토큰 사용량을 최대 80%까지 줄입니다.
- 노코드 에이전트 빌더: 코드 없이 AI 에이전트 흐름을 구성할 수 있으며, 커스텀 에이전트도 추가할 수 있습니다.
- MCP 호환: Model Context Protocol을 지원해 외부 도구와 컨텍스트를 표준 방식으로 연결합니다.
- 멀티모달 지원: 폐쇄형과 오픈소스 LLM 모두에서 멀티모달 입력을 다룹니다.
다중 사용자 인스턴스와 권한 관리, 웹사이트에 삽입하는 임베드 채팅 위젯은 Docker 버전에서 제공되는 기능입니다. 문서 형식은 PDF, TXT, DOCX 등 여러 종류를 지원하며, 드래그 앤 드롭 업로드와 출처 인용(citation)을 갖춘 채팅 UI를 제공합니다.
AnythingLLM의 문서 검색 증강(RAG) 흐름
AnythingLLM에서 문서 기반 대화가 동작하는 과정은 크게 두 단계로 나뉩니다. 먼저 문서를 올리면 수집기(collector)가 이를 파싱하고 구조화한 뒤, 텍스트를 임베딩해 벡터 데이터베이스에 저장하는 인덱싱 단계가 진행됩니다. 이후 사용자가 질문하면 질문과 의미적으로 가까운 근거를 벡터 데이터베이스에서 검색하고, 그 근거를 LLM에 전달해 출처가 표시된 답변을 생성하는 검색 단계가 이어집니다.
이 구조는 저장소의 기술 개요(Technical Overview)에 설명된 모노레포 구성과 대응됩니다. server 는 상호작용과 벡터 데이터베이스 관리, LLM 연동을 담당하는 NodeJS Express 서버이고, collector 는 UI에서 올라온 문서를 처리·파싱하는 NodeJS Express 서버입니다. 사용자가 다루는 화면인 frontend 는 ViteJS와 React로 만든 프론트엔드입니다. 저장소 구조는 저장소의 server 디렉토리와 collector 디렉토리에서 직접 확인할 수 있습니다.
AnythingLLM이 지원하는 모델과 벡터 데이터베이스
AnythingLLM은 특정 제공자에 종속되지 않도록 폭넓은 LLM과 임베딩 모델, 벡터 데이터베이스를 지원합니다. LLM 제공자로는 OpenAI, Azure OpenAI, AWS Bedrock, Anthropic, Google Gemini, Mistral, Groq, Cohere를 비롯한 클라우드 API와 함께, Ollama, LM Studio, LocalAI, KoboldCPP처럼 로컬에서 모델을 구동하는 방식, 그리고 llama.cpp 호환 오픈소스 모델을 직접 불러오는 방식을 지원합니다.
벡터 데이터베이스는 기본값인 LanceDB 외에 PGVector, Pinecone, Chroma, Weaviate, Qdrant, Milvus, Zilliz, Astra DB를 선택할 수 있습니다. 임베딩은 AnythingLLM 자체 임베더가 기본값으로 제공되며, OpenAI, Gemini, Ollama, Cohere, Voyage AI, Mistral 등 외부 임베더로 교체할 수 있습니다. 이 밖에 오디오 전사와 음성 합성(TTS), 음성 인식(STT)을 위한 내장 옵션과 외부 서비스 연동도 함께 지원합니다.
AnythingLLM 설치 및 사용법
가장 간단한 방법은 데스크톱 앱을 내려받는 것입니다. macOS, Windows, Linux용 설치 파일을 공식 다운로드 페이지에서 받을 수 있습니다. 서버 환경에서 다중 사용자와 임베드 위젯 같은 기능을 쓰려면 Docker로 배포하며, 배포 방법은 저장소의 Docker 문서에 정리되어 있습니다.
소스에서 직접 실행하며 개발하려면 저장소 루트에서 다음 명령을 사용합니다. yarn setup 으로 각 애플리케이션 영역에 필요한 .env 파일을 채운 뒤 서버, 프론트엔드, 수집기를 각각 실행합니다.
yarn setup # 각 영역에 필요한 .env 파일 생성
yarn dev:server # 서버 로컬 실행
yarn dev:frontend # 프론트엔드 로컬 실행
yarn dev:collector # 문서 수집기 실행
개발 실행 전에는 server/.env.development 파일이 채워져 있어야 정상 동작합니다. 텔레메트리는 익명 사용 정보만 수집하며, 서버나 Docker의 환경 변수에서 DISABLE_TELEMETRY 를 "true" 로 설정하거나 앱 내 Privacy 설정에서 끌 수 있습니다.
AnythingLLM의 라이선스
AnythingLLM은 MIT 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.
AnythingLLM 공식 홈페이지
AnythingLLM 문서 사이트
AnythingLLM 프로젝트 GitHub 저장소
더 읽어보기
-
OpenClaw: 사용자의 로컬 환경에서 구동하고 다양한 방식으로 연동할 수 있는 오픈소스 AI 비서 프로젝트 (Clawdbot, Moltbot🦞에서 이름 변경)
-
LightRAG: 지식 그래프 기반의 이중 검색 구조로 GraphRAG보다 빠른 RAG 프레임워크 (feat. EMNLP 2025)
-
PDF GPT Indexer: 로컬에서 동작하는, PDF 문서 인덱싱 및 자연어 질의가 가능한 RAG 프로젝트
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! 텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. ![]()
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()

