"Build your own ChatGPT on Telegram, WhatsApp and Facebook Messenger!"
LangChain Assistant is a versatile chatbot that leverages state-of-the-art Language Models (currently GPT-3, GPT-3.5-Turbo and GPT-4) to interact with users via Telegram, WhatsApp and Facebook Messenger. The primary goal is to keep AI development open, fun, and accessible. LangChain Assistant can handle text messages, voice messages, put stuff in your calendar and even generate images using OpenAI's DALL-E.
- Communicate with OpenAIs GPT-3, GPT-3.5-Turbo, GPT-4 models via config.py
- Support for text and voice messages
- Integration with Telegram, WhatsApp and Facebook Messenger
- Generate images using OpenAI's DALL-E
- Add Google Calendar events via Zapier NLA
- Support gpt4all
- Support Facebook Messenger
- Send emails
- Write and store code ideas
- Docker support
- AGI...
- ... and more!
To generate images using OpenAI's DALL-E, include the text '/image' in your chat message. The default image size is "256x256" and can be modified in the config.py
file.
To deploy LangChain Assistant for free on Replit:
- Telegram guide
- WhatsApp Guide
- Guide to setup Zapier NLA
- Facebook Messenger (guide coming soon)
- Python 3.7 or higher
- A Telegram bot token from @BotFather
- An OpenAI API key
- A Twilio account with a WhatsApp enabled phone number
-
Clone the repository and navigate to the project directory.
-
Install the required Python packages:
pip install -r requirements.txt
- Create a
.env
file in the project directory and add the following variables:TELEGRAM_BOT_TOKEN= OPENAI_API_KEY= TEMPERATURE_VALUE= ACCOUNT_SID= #Twilio AUTH_TOKEN= #Twilio TWILIO_WHATSAPP_NUMBER = #Twilio sandbox / business number FACEBOOK_PAGE_ID = #
- Run the FastAPI server:
uvicorn main:app --reload --port 8000
(when running locally on Windows) 2. Expose the local server using NGROK:
ngrok http 8000
- Set up the webhook for your Telegram bot:
- Replace
{YOUR_TOKEN}
with your Telegram bot token. - Replace
{YOUR_WEBHOOK_ENDPOINT}
with your NGROK domain followed by/webhook/
.
https://api.telegram.org/bot{YOUR_TOKEN}/setWebhook?url={YOUR_WEBHOOK_ENDPOINT}
-
Activate the Twilio Sandbox for WhatsApp and obtain the Account SID and Auth Token.
-
Add the Twilio WhatsApp phone number to your contacts and send a message to join the sandbox.
-
Update the webhook URL in the Twilio Sandbox settings with your FastAPI server URL.
- Guide coming soon
For more details, follow the Twilio tutorial: Send and Receive Media Messages with WhatsApp in Python
- More info soon. Info for now: https://support.twilio.com/hc/en-us/articles/360018783533-Integrating-Facebook-Messenger-with-Twilio-Flex