이것은 GPT-3.5-Turbo-* 모델과 함께 OpenAI API를 사용하여 대화 상담 방식으로 사용자에게 대화적인 응답을 제공하는 파이썬 기반 Telegram Chatbot입니다.
models.yml 파일을 사용하여 챗봇의 OpenAI 모델의 매개 변수를 쉽게 구성 할 수 있습니다. 이 접근법을 사용하면 코드를 변경하지 않고 temperature , max_tokens , voice 등과 같은 모델 설정을 빠르게 조정할 수 있습니다. 필요에 따라 챗봇의 동작과 응답 스타일을 변경하려면 models.yml 파일을 편집하기 만하면됩니다.
저장소를 복제하거나 다운로드하십시오.
git clone [email protected]:welel/dialog-chat-bot.git
GPT-3.5-Turbo 지점에서 체크 아웃.
git checkout gpt-3.5-turbo
가상 환경을 생성하고 활성화하고 종속성을 설치하십시오.
python -m venv env
source env/bin/activate
pip install --upgrade pip && pip install -r requirements.txt
음성 메시지를 사용하려면 FFMPEG를 설치하십시오.
# on Ubuntu or Debian
sudo apt update && sudo apt install ffmpeg
# on Arch Linux
sudo pacman -S ffmpeg
# on MacOS using Homebrew (https://brew.sh/)
brew install ffmpeg
# on Windows using Chocolatey (https://chocolatey.org/)
choco install ffmpeg
# on Windows using Scoop (https://scoop.sh/)
scoop install ffmpeg
.env.dist .env 로 복사하고 데이터로 채우십시오.
cp .env.dist .env
Telegram Bot을 설치하고 봇 토큰을 얻으십시오 (지침은 https://medium.com/geekculture/generate-telegram-token-for-bot-pi-paf9bf064 참조).
OpenAI 계정을 설정하고 API 키를 얻으십시오 (지침은 https://beta.openai.com/docs/quickstart 참조).
봇을 실행하십시오.
python bot.py
Docker 및 Docker Compose를 설치하십시오 (방법을 모르는 경우 링크).
.env.dist .env 로 복사하고 데이터로 채우십시오.
cp .env.dist .env
이제 단순히 이미지를 만들고 Docker Compose로 실행하십시오.
docker compose build
docker compose up -d
봇과 상호 작용하려면 Telegram Bot에 메시지를 보냅니다.
챗봇은 models.yml 파일에 지정된 구성을 사용하여 응답을 조정합니다. 이 파일을 사용하면 OpenAI 모델 매개 변수의 자세한 사용자 정의가 가능하여 다양한 요구 나 컨텍스트에 따라 봇의 동작을 조정할 수있는 유연성을 제공합니다.
models.yml 로 모델 구성 프로젝트 디렉토리의 models.yml 파일에는 다양한 모델 또는 시나리오에 대한 구성이 포함되어 있습니다. 구성 방법은 다음과 같습니다.
모델 선택 : models 키에서 여러 구성을 정의 할 수 있습니다.
각 구성은 다른 OpenAI 모델을 지정할 수 있습니다. 예를 들어, default 구성은 max_tokens 한계가 100 인 gpt-3.5-turbo 사용합니다. 구성을 선택하려면 환경 변수 MODEL_CONFIG_NAME 에서 모델 구성 이름을 설정해야합니다.
OpenAi 채팅 모델 구성 ( chat_model 섹션) :
gpt-3.5-turbo 모델이 포함됩니다. 챗봇 동작 구성 ( chatbot 섹션) :
max_context_len 매개 변수는 단일 대화 창에서 고려 된 총 토큰 수 (사용자 입력 및 봇 응답)를 정의합니다. 이를 조정하면 대화 이력의 세부 사항을 관리하고 계산 요구 사항 및 청구에 영향을 줄 수 있습니다. 봇 음성 구성 ( voice 섹션) :
alloy , echo , fable , onyx , nova 및 shimmer 와 같은 지원되는 옵션에서 사용할 특정 음성 아이덴티티를 선택하십시오. 각 목소리에는 독특한 톤과 스타일이 있습니다.