Home

Awesome

WhatsApp AI Assistant

Welcome to the WhatsApp AI Assistant repository, where you'll find a remarkable WhatsApp chatbot designed to function as your very own AI-powered personal assistant. This chatbot leverages the power of Language Model (LLM) technology.

SydneyLangChain
<video src="https://github.com/WAppAI/assistant/assets/50471205/5d300910-099d-4ceb-9f87-0852389a4c5b"><video src="https://github.com/WAppAI/assistant/assets/50471205/e8e8aabe-9ef7-4e3e-b0dc-156071c425f8">

Feature Comparison

FeatureSydney (BingAI Jailbreak)LangChain
Google/Bing Searching
Google Calendar
Google Routes
Gmail
Communication Capability
Group Chat Compatibility
Voice Message Capability
Create Basic Text Reminders
Image Recognition
Image Generation
PDF Reading

Getting Started

Prerequisites

Installation

<details> <summary><b>Sydney/BingChat</b></summary> <br>
  1. Clone this repository
git clone https://github.com/WAppAI/assistant.git
  1. Install the dependencies
pnpm install
  1. Rename .env.example to .env
cp .env.example .env
  1. Login with your Bing account and edit .env's BING_COOKIES environment variable to the cookies string from bing.com. For detailed instructions here.

    NOTE: Occasionally, you might encounter an error stating, User needs to solve CAPTCHA to continue. To resolve this issue, please solve the captcha [here]https://www.bing.com/turing/captcha/challenge, while logged in with the same account associated with your BING_COOKIES.

  2. Read and fill in the remaining information in the .env file.

  3. Run

pnpm build
  1. Start the bot
pnpm start
  1. Connect your WhatsApp account to the bot by scanning the generated QR Code in the CLI.

  2. Send a message to your WhatsApp account to start a conversation with Sydney!

</details> <details> <summary><b>LangChain</b></summary> <br>
  1. Clone this repository
git clone https://github.com/WAppAI/assistant.git
  1. Install the dependencies
pnpm install
  1. Rename .env.example to .env
cp .env.example .env
  1. Read and fill in the remaining information in the .env file.

  2. Instructions on how to use langchain tools like Google Calendar and search will be in the .env

  3. Run

pnpm build
  1. Start the bot
pnpm start
  1. Connect your WhatsApp account to the bot by scanning the generated QR Code in the CLI.

  2. Send a message to your WhatsApp account to start a conversation with the bot!

</details> <details> <summary><b>Deploying with Docker</b></summary> <br>
  1. Clone this repository
git clone https://github.com/WAppAI/assistant.git
  1. Rename .env.example to .env
cp .env.example .env
  1. Read and fill in the remaining information in the .env file.

  2. Instructions on how to use langchain tools like Google Calendar and search will be in the .env

  3. Build and start the Docker container

pnpm docker:build:start
  1. Access the container logs to read the QR code.
docker logs whatsapp-assistant
  1. Scan the QR code with your WhatsApp account to connect the bot.

  2. Send a message to your WhatsApp account to start a conversation with the bot!

</details>

Usage

The AI's are designed to respond to natural language queries from users. You can ask them questions, or just have a casual conversation.

Voice Messages

When dealing with voice messages, you have 3 options for transcription: using groq's Whisper API for free (recommended), utilizing the Whisper API or the local method. Each option has its own considerations, including cost and performance.

<details> <summary><strong>Groq API:</strong></summary> <details> <summary><strong>Whisper API:</strong></summary> </details> <details> <summary><strong>Local Mode:</strong></summary> </details>

Group Chat

To utilize it in a group chat, you will need to either mention it by using her username with the "@" symbol (e.g., @Sydney) or reply directly to her last message.

Available commands

Contribute

Your contributions to Sydney are welcome in any form. Whether you'd like to:

Your involvement is valued, and you're encouraged to contribute in the way that suits you best.

Hire Us

I, Luisotee am currently open to new job opportunities, including freelance work, contract roles, or permanent positions.

If you have any opportunities, feel free to contact me via the emails provided on my GitHub or LinkedIn profiles.