# README
LineBotChatGPT
utilized openai api for implementation of chatGPT with LineBot
Work Environment for myself
go version go1.18.1 darwin/amd64
Usage
git clone https://github.com/TaroballzChen/LineBotChatGPT
cd LineBotChatGPT
echo ChannelSecret=your_LINE_ChannelSecret >> .env
echo ChannelAccessToken=your_LINE_ChannelAccessToken >> .env
echo OpenApiKey=your_OpenApiKey >>.env
# you could modify the GPT-3 completion model parameter by modifying `.env` file
go run main.go
then use ngrok
or other method(cloud container, nginx with certbot etc.) exposed 80
port to public network with SSL
enjoy!
Dockerfile
- download the
Dockerfile
,.env
file in this project docker build --no-cache -t LineBotChatGPT:latest .
- modify the
.env
file to fill the LINEBOT and OpneAI token:
echo ChannelSecret=your_LINE_ChannelSecret >> .env
echo ChannelAccessToken=your_LINE_ChannelAccessToken >> .env
echo OpenApiKey=your_OpenApiKey >>.env
# try to modify the GPT-3 completion model parameter by modifying `.env` file
docker run -p 8080:80 -v $PWD/.env:/LineBotChatGPT/.env LineBotChatGPT
then usengrok
or other method(cloud container like railway.app, Heroku or nginx with certbot etc.) exposed80
port to public network with SSL
enjoy!
Railway.app Deploy
- fill
PORT
80
for required environment variable - fill your LINE
ChannelSecret
,ChannelAccessToken
and OpenAIOpenAIApiKey
token, Claude2Claude2ApiKey
token for required environment variable
P.S. You should own the github account to sign up the railway.app account. When you create container by my template on the above, the railway.app would help you fork my github project to your repo. then you could modify the model parameter's value on your forked project.
enjoy!
integration of chatgpt and LINEBOT on railway.app cloud container tutorial video
result
update
- 2023.3.6 change the model from
Completion
toChatCompletion
withGPT3Dot5Turbo
- 2023.10.1 change the model from
ChatCompletion
withGPT3Dot5Turbo
toChatCompletion
withGPT4
and add Image create function - 2023.10.23 add Claude2 model
- 2023.10.28 add memory function for Claude2 model
- 2023.12.18 add Gemini model and with memory
- 2024.06.26 change the model from
ChatCompletion
withGPT4TurboPreivew
toChatCompletion
withGPT4o
Reference
- https://github.com/kkdai/linebot-group
- https://github.com/kkdai/LineBotTemplate
- https://www.learncodewithmike.com/2020/06/python-line-bot.html
- https://github.com/kkdai/chatgpt
- https://github.com/PullRequestInc/go-gpt3
- https://github.com/bincooo/claude-api
- https://github.com/google/generative-ai-go?tab=readme-ov-file