Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sLLMates

Static Badge

로컬 LLM을 사용하는 에이전트 챗봇 시스템

주요 기능

  • 에이전트 시스템: LLM이 사용자의 질의를 해결하기 위해 능동적으로 문제 해결 방법을 구상하고 도구 사용을 판단.
  • LLM 답변 최적화: 사용자 질의의 난이도에 따라 LLM의 Thinking Mode 사용을 제어하여 답변 속도를 최적화.
  • 사용자 맞춤 메모리: 사용자 질의에 포함된 맞춤 정보를 추출 및 저장하여 추후 대화에서 답변 개선에 사용.
  • 대화 기록 관리: 사용자와의 대화 기록을 데이터베이스에 저장.
  • 편리한 채팅 관리: 사용자의 채팅 기록을 채팅방 단위로 관리할 수 있도록 UI에서 기능 제공.

현재 사용 가능 도구

  • RAG(Retrieval-Augmented Generation)

Quick start

Requirements

  • Python 3.9 버전 이상 필요
  • GPU(NVIDIA) 사용 시 CUDA Toolkit 설치 필요

Clone Project

# Clone project code
git clone https://github.com/HandongSF/sLLMates.git

# Move into project folder
cd sLLMates

Set Enviroment

# Make conda enviroment and install packages
conda env create -f environment.yml

# Activate conda enviroment
conda activate sLLMates

# Install Llama-cpp-python with Using CUDA option
CMAKE_ARGS="-DGGML_CUDA=on" FORCE_CMAKE=1 pip install llama-cpp-python

Download Model

  1. 루트 폴더의 models/ 내부에 허깅페이스 등에서 다운로드한 로컬 모델의 gguf 파일과 기타 모델 파일을 추가(만약 임베딩 모델이 필요할 경우 임베딩 모델은 양자화하지 않은 상태로 넣을 것)
  2. 그리고 루트 폴더의 src/configs/ 내부에 자신의 모델 세팅에 맞는 세팅 파일 제작 후 추가

Start Project

# Start project
python main.py

# 만약 GPU를 2개 이상 사용한다면 세팅 파일의 tensor_split 옵션 조정 후 아래 명령어 사용
# CUDA_VISIBLE_DEVICES=0,1,... python main.py

Other documentation

시스템 구조, 내부 원리 등은 루트 폴더의 docs 내부 문서를 참조

About

On-device chatbot system using sLLM

Resources

Code of conduct

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages