mirror of
https://github.com/mudler/LocalAI.git
synced 2024-12-24 14:56:41 +00:00
examples(telegram): add (#547)
This commit is contained in:
parent
6f0bdbd01c
commit
3b3164b039
@ -106,6 +106,16 @@ Shows how to integrate with `Langchain` and `Chroma` to enable question answerin
|
|||||||
|
|
||||||
[Check it out here](https://github.com/go-skynet/LocalAI/tree/master/examples/langchain-chroma/)
|
[Check it out here](https://github.com/go-skynet/LocalAI/tree/master/examples/langchain-chroma/)
|
||||||
|
|
||||||
|
### Telegram bot
|
||||||
|
|
||||||
|
_by [@mudler](https://github.com/mudler)
|
||||||
|
|
||||||
|
![Screenshot from 2023-06-09 00-36-26](https://github.com/go-skynet/LocalAI/assets/2420543/e98b4305-fa2d-41cf-9d2f-1bb2d75ca902)
|
||||||
|
|
||||||
|
Use LocalAI to power a Telegram bot assistant, with Image generation and audio support!
|
||||||
|
|
||||||
|
[Check it out here](https://github.com/go-skynet/LocalAI/tree/master/examples/telegram-bot/)
|
||||||
|
|
||||||
### Template for Runpod.io
|
### Template for Runpod.io
|
||||||
|
|
||||||
_by [@fHachenberg](https://github.com/fHachenberg)_
|
_by [@fHachenberg](https://github.com/fHachenberg)_
|
||||||
|
30
examples/telegram-bot/README.md
Normal file
30
examples/telegram-bot/README.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
## Telegram bot
|
||||||
|
|
||||||
|
![Screenshot from 2023-06-09 00-36-26](https://github.com/go-skynet/LocalAI/assets/2420543/e98b4305-fa2d-41cf-9d2f-1bb2d75ca902)
|
||||||
|
|
||||||
|
This example uses a fork of [chatgpt-telegram-bot](https://github.com/karfly/chatgpt_telegram_bot) to deploy a telegram bot with LocalAI instead of OpenAI.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Clone LocalAI
|
||||||
|
git clone https://github.com/go-skynet/LocalAI
|
||||||
|
|
||||||
|
cd LocalAI/examples/telegram-bot
|
||||||
|
|
||||||
|
git clone https://github.com/mudler/chatgpt_telegram_bot
|
||||||
|
|
||||||
|
cp -rf docker-compose.yml chatgpt_telegram_bot
|
||||||
|
|
||||||
|
cd chatgpt_telegram_bot
|
||||||
|
|
||||||
|
mv config/config.example.yml config/config.yml
|
||||||
|
mv config/config.example.env config/config.env
|
||||||
|
|
||||||
|
# Edit config/config.yml to set the telegram bot token
|
||||||
|
vim config/config.yml
|
||||||
|
|
||||||
|
# run the bot
|
||||||
|
docker-compose --env-file config/config.env up --build
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: LocalAI is configured to download `gpt4all-j` in place of `gpt-3.5-turbo` and `stablediffusion` for image generation at the first start. Download size is >6GB, if your network connection is slow, adapt the `docker-compose.yml` file healthcheck section accordingly (replace `20m`, for instance with `1h`, etc.).
|
||||||
|
To configure models manually, comment the `PRELOAD_MODELS` environment variable in the `docker-compose.yml` file and see for instance the [chatbot-ui-manual example](https://github.com/go-skynet/LocalAI/tree/master/examples/chatbot-ui-manual) `model` directory.
|
66
examples/telegram-bot/docker-compose.yml
Normal file
66
examples/telegram-bot/docker-compose.yml
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
api:
|
||||||
|
image: quay.io/go-skynet/local-ai:v1.18.0-ffmpeg
|
||||||
|
# As initially LocalAI will download the models defined in PRELOAD_MODELS
|
||||||
|
# you might need to tweak the healthcheck values here according to your network connection.
|
||||||
|
# Here we give a timespan of 20m to download all the required files.
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:8080/readyz"]
|
||||||
|
interval: 1m
|
||||||
|
timeout: 20m
|
||||||
|
retries: 20
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
environment:
|
||||||
|
- DEBUG=true
|
||||||
|
- MODELS_PATH=/models
|
||||||
|
- IMAGE_PATH=/tmp
|
||||||
|
# You can preload different models here as well.
|
||||||
|
# See: https://github.com/go-skynet/model-gallery
|
||||||
|
- 'PRELOAD_MODELS=[{"url": "github:go-skynet/model-gallery/gpt4all-j.yaml", "name": "gpt-3.5-turbo"}, {"url": "github:go-skynet/model-gallery/stablediffusion.yaml"}, {"url": "github:go-skynet/model-gallery/whisper-base.yaml", "name": "whisper-1"}]'
|
||||||
|
volumes:
|
||||||
|
- ./models:/models:cached
|
||||||
|
command: ["/usr/bin/local-ai" ]
|
||||||
|
mongo:
|
||||||
|
container_name: mongo
|
||||||
|
image: mongo:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:${MONGODB_PORT:-27017}:${MONGODB_PORT:-27017}
|
||||||
|
volumes:
|
||||||
|
- ${MONGODB_PATH:-./mongodb}:/data/db
|
||||||
|
# TODO: add auth
|
||||||
|
|
||||||
|
chatgpt_telegram_bot:
|
||||||
|
container_name: chatgpt_telegram_bot
|
||||||
|
command: python3 bot/bot.py
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- OPENAI_API_KEY=sk---anystringhere
|
||||||
|
- OPENAI_API_BASE=http://api:8080/v1
|
||||||
|
build:
|
||||||
|
context: "."
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
depends_on:
|
||||||
|
api:
|
||||||
|
condition: service_healthy
|
||||||
|
mongo:
|
||||||
|
condition: service_started
|
||||||
|
|
||||||
|
mongo_express:
|
||||||
|
container_name: mongo-express
|
||||||
|
image: mongo-express:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:${MONGO_EXPRESS_PORT:-8081}:${MONGO_EXPRESS_PORT:-8081}
|
||||||
|
environment:
|
||||||
|
- ME_CONFIG_MONGODB_SERVER=mongo
|
||||||
|
- ME_CONFIG_MONGODB_PORT=${MONGODB_PORT:-27017}
|
||||||
|
- ME_CONFIG_MONGODB_ENABLE_ADMIN=false
|
||||||
|
- ME_CONFIG_MONGODB_AUTH_DATABASE=chatgpt_telegram_bot
|
||||||
|
- ME_CONFIG_BASICAUTH_USERNAME=${MONGO_EXPRESS_USERNAME:-username}
|
||||||
|
- ME_CONFIG_BASICAUTH_PASSWORD=${MONGO_EXPRESS_PASSWORD:-password}
|
||||||
|
depends_on:
|
||||||
|
- mongo
|
Loading…
Reference in New Issue
Block a user