
LangChain-Chatchat이란?
대규모 언어 모델(LLM)을 실제 서비스에 적용할 때 가장 많이 활용되는 방식 중 하나가 바로 RAG(Retrieval-Augmented Generation) 입니다. 하지만 자체 지식 기반을 구축하고, 오픈소스 모델을 활용해 완전한 오프라인 환경을 구성하는 것은 생각보다 쉽지 않습니다.
LangChain-Chatchat은 이러한 문제를 해결하기 위해 개발된 오픈소스 프로젝트입니다. LangChain 프레임워크를 기반으로 ChatGLM을 비롯한 다양한 오픈소스 LLM과 Embedding 모델을 활용하여 로컬 지식 기반 질의응답(RAG) 및 Agent 기능을 구현할 수 있도록 지원합니다.
특히 최신 버전에서는 Xinference, Ollama 등 다양한 모델 추론 프레임워크를 지원하며, FastAPI 기반 API 서비스와 Streamlit 기반 WebUI를 함께 제공해 개발과 운영을 더욱 편리하게 수행할 수 있습니다.
이번 글에서는 LangChain-Chatchat의 개념부터 주요 기능, 동작 방식, 지원 모델, 설치 방법까지 정리해보겠습니다.
LangChain-Chatchat의 특징
LangChain-Chatchat은 중국어 환경과 오픈소스 LLM 활용에 최적화된 로컬 지식 기반 질의응답 프로젝트입니다.
프로젝트의 주요 목표는 다음과 같습니다.
- 오픈소스 LLM 기반 RAG 시스템 구축
- 오프라인 환경에서의 완전한 프라이빗 배포 지원
- 다양한 Embedding 모델과 벡터 데이터베이스 지원
- Agent 기반 AI 서비스 제공
- API 및 WebUI 제공
또한 모든 구성 요소를 오픈소스로 구성할 수 있어 기업 내부망이나 인터넷 연결이 제한된 환경에서도 활용할 수 있습니다.
LangChain-Chatchat의 동작 원리
LangChain-Chatchat은 일반적인 RAG(Retrieval-Augmented Generation) 구조를 기반으로 동작합니다.
전체 처리 과정은 다음과 같습니다.
- 문서 업로드
- 문서 내용 추출
- 문서 분할(Text Split)
- 문서 임베딩(Vector Embedding)
- 사용자 질문 임베딩
- 벡터 데이터베이스에서 유사 문서 검색(Top-K)
- 검색된 문서를 Prompt에 포함
- LLM이 최종 답변 생성
즉, 사용자의 질문에 대해 단순히 언어 모델만 사용하는 것이 아니라, 사전에 구축된 지식 기반에서 가장 관련성이 높은 정보를 찾아 함께 전달하기 때문에 보다 정확한 답변을 생성할 수 있습니다.
문서 처리 과정 역시 다음과 같은 단계로 구성됩니다.
- 문서 읽기
- 텍스트 추출
- 텍스트 분할
- 임베딩 생성
- 벡터 저장
- 검색
- 답변 생성
프로젝트 자체에는 모델 학습이나 파인튜닝 과정은 포함되지 않지만, 별도의 학습을 통해 성능을 더욱 향상시킬 수 있습니다.
0.3.x 버전 주요 기능
최신 0.3.x 버전에서는 프로젝트 구조가 크게 개선되었으며 Agent 기능이 핵심 기능으로 자리잡았습니다.
주요 기능은 다음과 같습니다.
다양한 모델 추론 프레임워크 지원
기존 FastChat 중심 구조에서 벗어나 다음과 같은 다양한 프레임워크를 지원합니다.
- Xinference
- Ollama
- LocalAI
- FastChat
- One API
또한 모든 모델은 OpenAI SDK 형태로 통합 사용할 수 있습니다.
Agent 기능 강화
기존 버전에서는 Agent 기능이 불안정했지만,
0.3.x에서는
- ChatGLM3
- Qwen
등을 중심으로 Agent 기능이 크게 개선되었습니다.
필요한 경우 사용자가 직접 Tool Calling을 구현하는 것도 가능합니다.
다양한 대화 기능 제공
LangChain-Chatchat은 단순한 채팅만 제공하는 것이 아닙니다.
지원 기능은 다음과 같습니다.
- 일반 LLM 대화
- 지식 기반 대화
- 검색 엔진 기반 대화
- 파일 기반 RAG
- 데이터베이스 질의응답
- 이미지 기반 멀티모달 대화
- ArXiv 논문 질의응답
- Wolfram 연산 기능
- Text-to-Image 생성
- 로컬 지식베이스 관리
- WebUI
특히 파일 기반 대화는 기존 단순 벡터 검색에서 발전하여 BM25와 KNN 등 다양한 검색 방식을 함께 지원합니다.
지원하는 모델 및 플랫폼
LangChain-Chatchat은 특정 모델에 종속되지 않습니다.
대표적으로 다음과 같은 최신 오픈소스 모델을 지원합니다.
- GLM-4-Chat
- Qwen2-Instruct
- Llama3
Embedding 모델 역시 다양한 오픈소스 모델을 사용할 수 있습니다.
또한 온라인 API 연동도 지원합니다.
지원 대상은 다음과 같습니다.
- OpenAI ChatGPT
- Azure OpenAI
- Anthropic Claude
- Zhipu AI
- Baichuan
- One API
이를 통해 로컬 모델과 클라우드 모델을 혼합하여 사용할 수도 있습니다.
시스템 요구사항
소프트웨어
다음 환경에서 사용할 수 있습니다.
- Python 3.8 ~ 3.11
- Windows
- macOS
- Linux
하드웨어
0.3.x 버전부터는 모델 추론 프레임워크를 사용하는 구조로 변경되어 다양한 환경을 지원합니다.
예를 들어 다음과 같은 하드웨어에서 실행 가능합니다.
- CPU
- GPU
- NPU
- Apple MPS
설치 방법
1. LangChain-Chatchat 설치
가장 간단한 설치 방법은 pip를 이용하는 것입니다.
pip install langchain-chatchat -U
Xinference를 함께 사용하는 경우에는 추가 의존성을 설치합니다.
pip install "langchain-chatchat[xinference]" -U
2. 모델 추론 프레임워크 준비
프로젝트 실행 전에 먼저 모델 추론 프레임워크를 실행해야 합니다.
예를 들어 다음과 같은 플랫폼을 사용할 수 있습니다.
- Xinference
- Ollama
- LocalAI
- FastChat
- One API
이후 원하는 LLM과 Embedding 모델을 로드합니다.
3. 프로젝트 초기화
프로젝트를 초기화합니다.
chatchat init
이 명령은 다음 작업을 수행합니다.
- 데이터 디렉터리 생성
- 샘플 지식베이스 생성
- YAML 설정 파일 생성
4. 모델 설정
생성된 설정 파일에서 다음 항목을 수정합니다.
- 기본 LLM
- 기본 Embedding 모델
- 모델 플랫폼 정보
- 지식베이스 저장 위치
- 데이터베이스 위치
YAML 기반 설정을 사용하기 때문에 서버를 재시작하지 않아도 설정 변경이 반영됩니다.
5. 지식베이스 생성
모델과 Embedding이 실행 중인 상태에서 다음 명령을 수행합니다.
chatchat kb -r
명령이 완료되면 문서 수, 임베딩 개수, 처리 시간 등의 정보를 확인할 수 있습니다.
6. 프로젝트 실행
프로젝트는 다음 명령으로 실행합니다.
chatchat start -a
기본적으로 127.0.0.1에서 실행되며, 외부에서 접근하려면 설정 파일에서 바인드 주소를 0.0.0.0으로 변경해야 합니다.
Docker 배포 지원
LangChain-Chatchat은 Docker 이미지도 제공합니다.
공식 Docker 이미지를 사용할 수 있으며, 프로젝트에서는 docker-compose를 이용한 배포를 권장하고 있습니다.
프로젝트 발전 과정
LangChain-Chatchat은 지속적으로 발전하고 있는 오픈소스 프로젝트입니다.
주요 이력은 다음과 같습니다.
- 2023년 4월 : Langchain-ChatGLM 0.1.0 공개
- 2023년 8월 : Langchain-Chatchat으로 프로젝트명 변경
- 2023년 10월 : 0.2.5 버전에서 Agent 기능 추가
- 2023년 12월 : GitHub Star 20,000개 달성
- 2024년 6월 : 0.3.0 출시 및 새로운 프로젝트 아키텍처 적용
LangChain-Chatchat은 오픈소스 LLM과 LangChain을 활용하여 오프라인 환경에서도 완전한 RAG 기반 지식 검색 시스템을 구축할 수 있도록 지원하는 프로젝트입니다.
특히 최신 0.3.x 버전에서는 다양한 모델 추론 프레임워크를 지원하고, Agent 기능을 강화했으며, 데이터베이스 질의응답, 멀티모달 대화, 파일 기반 RAG, 문서 검색 등 폭넓은 기능을 제공해 활용 범위를 크게 확장했습니다.
또한 FastAPI 기반 API와 Streamlit WebUI를 함께 제공하여 개발과 운영 편의성을 높였으며, 다양한 오픈소스 LLM과 Embedding 모델을 유연하게 연동할 수 있는 구조를 갖추고 있습니다.
오픈소스 기반의 프라이빗 AI 시스템이나 사내 지식 검색 서비스를 구축하려는 조직이라면, LangChain-Chatchat은 RAG와 Agent 기능을 효과적으로 구현할 수 있는 유용한 선택지가 될 수 있습니다.
https://github.com/chatchat-space/Langchain-Chatchat
GitHub - chatchat-space/Langchain-Chatchat: Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 L
Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 Llama 等语言模型的 RAG 与 Agent 应用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and...
github.com

'인공지능' 카테고리의 다른 글
| Archify란? 아키텍처부터 워크플로우까지 기술 다이어그램을 쉽고 빠르게 생성하는 방법 (0) | 2026.07.13 |
|---|---|
| Meta Muse Spark 1.1 공개, 에이전트 AI를 위한 멀티모달 추론 모델과 Meta Model API 살펴보기 (0) | 2026.07.13 |
| 스트리밍 없이 PC 게임을 안드로이드에서 실행하는 GameNative (0) | 2026.07.13 |
| 25GB RAM으로 744B AI 모델을 실행하다, colibrì가 제시하는 새로운 LLM 추론 방식 (0) | 2026.07.13 |
| Gemini API Managed Agents 업데이트: 백그라운드 실행부터 Remote MCP 연동까지 핵심 기능 정리 (0) | 2026.07.13 |