프로젝트 소개
Langchain-Chatchat(구 Langchain-ChatGLM)은 Langchain 프레임워크와 ChatGLM, Qwen, Llama 등 대규모 언어 모델을 기반으로 구현된 오픈소스이며 오프라인 배포가 가능한 RAG(검색 증강 생성) 및 에이전트 애플리케이션 프로젝트입니다. 이 프로젝트의 목표는 중국어 상황과 오픈소스 모델에 친화적이고 완전히 오프라인으로 실행 가능한 지식 기반 질의응답 솔루션을 구축하는 것입니다.
핵심 원리 프로세스는 다음과 같습니다: 파일 로드, 텍스트 읽기, 텍스트 분할, 텍스트 벡터화, 질문 문장 벡터화, 벡터 데이터베이스에서 가장 유사한 상위 k개 텍스트 매칭, 매칭된 텍스트를 컨텍스트로 질문과 함께 프롬프트에 추가, LLM에 제출하여 답변 생성. 프로젝트 자체는 미세 조정이나 학습을 포함하지 않지만, 미세 조정을 통해 성능을 최적화할 수 있습니다.
0.3.x 버전의 기능에는 LLM 대화, 지식 기반 대화, 검색 엔진 대화, 파일 대화(다양한 검색 방식을 지원하는 BM25+KNN 등을 포함하는 통합 File RAG), 데이터베이스 대화, 멀티모달 이미지 대화, ARXIV 문헌 대화, Wolfram 대화, 텍스트-이미지 생성, 로컬 지식 기반 관리 및 WebUI가 포함됩니다. 핵심 기능은 에이전트를 통해 구현되며, 사용자는 자동 도구 호출, 도구 파라미터만 파싱, 수동 파라미터 입력 등 다양한 모드에서 수동으로 도구를 호출할 수도 있습니다.
모델 연동 측면에서, 0.3.x는 더 이상 로컬 경로로 모델을 직접 로드하지 않고 Xinference, LocalAI, Ollama, FastChat 등 주요 모델 추론 프레임워크와 One API(OpenAI, Azure OpenAI, Anthropic Claude, Zhipu Qingyan, Baichuan 등 지원) 같은 온라인 API 프레임워크를 통해 연동합니다. 모든 모델 연동은 OpenAI SDK와 호환됩니다.
배포 방식으로는 pip 설치(pip install langchain-chatchat -U), 소스 코드 설치/개발 배포 및 Docker 배포를 제공합니다. 사용 절차는 모델 추론 프레임워크를 시작하고 모델을 로드한 후, chatchat init을 실행하여 설정 및 데이터 디렉터리를 초기화하고, model_settings.yaml 등 구성 파일을 수정한 후, chatchat kb -r을 실행하여 지식 기반을 초기화하고, chatchat start -a를 실행하여 프로젝트를 시작하는 순서입니다. 이 프로젝트는 Python 3.8-3.11을 지원하며 Windows, macOS, Linux에서 실행할 수 있고, 하드웨어는 CPU, GPU, NPU, MPS를 지원합니다.
프로젝트 코드는 Apache-2.0 라이선스를 따릅니다. 주요 마일스톤으로는 2023년 4월 0.1.0 릴리스, 2023년 8월 이름 변경 및 0.2.0 릴리스, 2023년 12월 2만 개 이상의 스타 획득, 2024년 6월 완전히 새로운 아키텍처의 0.3.0 릴리스가 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.