이 프로젝트의 목표는 사용자가 다양한 대형 언어 모델 ( LLMS )과 상호 작용할 수있는 간단하고 대화식 REPL (Read-Eval Print-Loop)을 만드는 것입니다. 이 프로젝트는 주로 LLMS와의 작업을위한 편리하고 유연한 인터페이스를 제공하는 Langchain의 두 개의 Python 라이브러리 위에 구축되었습니다. REPL은 HeadledSS 모드에서도 시작될 수 있으며 WebSocket을 사용하여 상호 작용할 수 있습니다.
현재이 프로젝트는 개발 중이며 ChatGPT와의 상호 작용 만 지원하지만 사용자 BaseLLM 를 포함하여 모든 LLM을 사용하여 확장 할 수있는 구조 ( ./src/llm_repl/llms/__init__.py ).
ChatGpt는 gpt-3.5-turbo 및 gpt4 모델 (GPT-4 API 베타를받은 사용자)을 사용하여 상호 작용할 수 있습니다.
REPL은 다음과 같은 기능을 지원합니다.
REPL은 모델이 출력 생성을 완료 할 때까지 기다리지 않지만 사용 가능한 즉시 출력을 인쇄하기 시작합니다.

REPL은 대화 메모리를 지원합니다. 즉, 모델은 이전 대화를 기억하고이를 사용하여 다음 응답을 생성 할 것입니다.

REPL은 Markdown을 지원하여 입력과 출력을 모두 렌더링합니다.
추신 :이 초기 Repl 버전에서 전체 Markdown 구문은 도구를 non-streaming 모드로 실행할 때만 가능합니다. streaming 모드에서는 코드 섹션 만 인쇄됩니다.

REPL은 헤드리스 모드로 실행할 수 있습니다. 이것은 WebSocket을 사용하는 것과 상호 작용할 수 있음을 의미합니다. 이는 REPL을 다른 응용 프로그램 / 기타 UI와 통합하는 데 유용합니다.
헤드리스 모드에서 REPL을 시작하려면 다음 명령을 실행하십시오.
llm-repl --repl websocket --port < PORT >곧 올다 ...
곧 올다 ...
pip install llm-repl먼저 OpenAI API 키를 환경 변수로 내보내십시오.
export OPENAI_API_KEY= < OPENAI_KEY >그런 다음 대체를 실행하십시오.
llm-repl또는 특정 모델을 사용하려면 :
llm-repl --llm chatgpt4docker run -it --rm -e OPENAI_API_KEY= < OPENAI_KEY > phate/llm-repl 또는 파일에서 환경 변수를 소스하려면 먼저 다음 내용으로 .env 라는 파일을 만듭니다.
OPENAI_API_KEY= < OPENAI_KEY >그런 다음 다음 명령을 실행합니다.
docker run -it --rm --env-file .env phate/llm-repl개발 모드에 REPL을 설치합니다
그런 다음 개발 모드에서 패키지를 설치합니다.
pip install -e " .[DEV] "기고하기 전에 다음 명령을 실행하십시오.
pre-commit install