kebijuelun/weblangchain_chatglm
요약
이 저장소는 LangChain을 기반으로 하며, OpenAI ChatGPT와 ChatGLM3 같은 다양한 LLM 호출을 지원합니다. 특히 Tavily를 활용한 RAG 기능을 구현하여 웹 검색을 통해 정보를 보강하고, 대규모 언어 모델의 환각 문제를 완화하는 방법을 제시합니다.
핵심 포인트
- LangChain 기반으로 다중 LLM(ChatGPT, ChatGLM3) 연동 가능
- Tavily를 이용해 웹 전체를 문서 저장소로 활용 (RAG)
- conda 환경 격리를 통해 호환성 문제 방지 및 안정적 개발 환경 구축
- OpenAI와 Tavily API 키 설정이 필수이며, `main.py` 수정으로 검색기 커스터마이징 가능
이 코드 저장소는 LangChain을 기반으로 하며 OpenAI ChatGPT 및 ChatGLM3와 같은 모델 호출을 지원합니다. 또한 Tavily와 같은 검색 라이브러리를 통해 검색 증강 생성(Retrieval Augmented Generation, RAG) 기능을 구현하여 전체 인터넷을 문서 저장소로 활용할 수 있게 함으로써 대규모 언어 모델에서 발생하는 환각 문제(hallucination problem)를 완화합니다.
conda를 사용하여 환경 격리:
conda create -n chatglm python==3.10; conda activate chatglm
(참고: ChatGLM3와 WebLangChain의 호환성 문제를 방지하기 위해 두 환경을 격리하는 것이 중요합니다.)
-
ChatGLM3 코드 서브모듈 가져오기:
git submodule update --init --recursive -
ChatGLM3 Hugging Face 모델 다운로드:
git clone https://huggingface.co/THUDM/chatglm3-6b -
ChatGLM3 모델 경로에 환경 변수 설정:
export MODEL_PATH=$(realpath ./chatglm3-6b) -
환경 종속성 설치:
pip install -r requirements.txt -
ChatGLM3 모델 서비스 배포:
cd openai_api_demo; python3 openai_api.py
conda를 사용하여 환경 격리: conda create -n weblangchain python==3.10; conda activate weblangchain
- 백엔드 종속성 설치:
poetry install
. - 환경 변수 설정:
source env.sh
- 참고: 애플리케이션을 구성하려면 반드시 환경 변수를 설정해야 합니다. 기본적으로 WebLangChain은 Tavily를 사용하여 웹 페이지에서 콘텐츠를 검색합니다. Tavily 등록을 통해 Tavily API 키를 얻어
./env.sh에 업데이트하세요.
. 또한, OpenAI 등록을 통해 openai API 키를 얻어 ./env.sh에 업데이트하세요.
. 다른 기본 검색기(예: 자체 데이터 소스 사용)를 추가하거나 대체하려면 main.py의 get_retriever() 메서드를 업데이트하세요.
. - Python 백엔드 시작:
poetry run make start
. - 프론트엔드 종속성 설치를 위해 yarn 실행:
-
Node Version Manager (NVM) 설치:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | zsh -
NVM 환경 변수 설정:
`export NVM_DIR="${XDG_CONFIG_HOME:-$HOME}\
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기