Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/WAppAI/assistant
A WhatsApp chatbot that leverages Bing AI's and others LLMs conversational capabilities.
https://github.com/WAppAI/assistant
bing-chat chatbot gpt javascript langchain llm llms nodejs openrouter typescript whatsapp
Last synced: about 1 month ago
JSON representation
A WhatsApp chatbot that leverages Bing AI's and others LLMs conversational capabilities.
- Host: GitHub
- URL: https://github.com/WAppAI/assistant
- Owner: WAppAI
- License: mit
- Created: 2023-04-02T22:36:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-24T01:52:57.000Z (about 2 months ago)
- Last Synced: 2024-07-24T04:12:46.140Z (about 2 months ago)
- Topics: bing-chat, chatbot, gpt, javascript, langchain, llm, llms, nodejs, openrouter, typescript, whatsapp
- Language: TypeScript
- Homepage:
- Size: 31.1 MB
- Stars: 87
- Watchers: 7
- Forks: 27
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# 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.
| Sydney | LangChain |
| :----------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: |
| | |## Feature Comparison
| Feature | Sydney (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
- Node.js >= 18.15.0
- Node.js version >= 20.x.x users you should use `node --loader ts-node/esm src/index.ts` instead of `pnpm start`
- A spare WhatsApp number### Installation
Sydney/BingChat
1. Clone this repository
```
git clone https://github.com/WAppAI/assistant.git
```2. Install the dependencies
```
pnpm install
```3. Rename [.env.example](../master/.env.example) to `.env`
```
cp .env.example .env
```4. Login with your Bing account and edit `.env`'s `BING_COOKIES` environment variable to the cookies string from [bing.com](https://bing.com). For detailed instructions [here](https://github.com/danny-avila/LibreChat/issues/370#issuecomment-1560382302).
**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.
5. Read and fill in the remaining information in the `.env` file.
6. Run
```
pnpm build
```7. Start the bot
```
pnpm start
```8. Connect your WhatsApp account to the bot by scanning the generated QR Code in the CLI.
9. Send a message to your WhatsApp account to start a conversation with Sydney!
LangChain
1. Clone this repository
```
git clone https://github.com/WAppAI/assistant.git
```2. Install the dependencies
```
pnpm install
```3. Rename [.env.example](../master/.env.example) to `.env`
```
cp .env.example .env
```4. Read and fill in the remaining information in the `.env` file.
5. Instructions on how to use langchain tools like Google Calendar and search will be in the `.env`
6. Run
```
pnpm build
```6. Start the bot
```
pnpm start
```7. Connect your WhatsApp account to the bot by scanning the generated QR Code in the CLI.
8. Send a message to your WhatsApp account to start a conversation with the bot!
## 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 two options for transcription: utilizing the Whisper API or the local method. Each option has its own considerations, including cost and performance.
Whisper API:
- **Cost:** Utilizing the Whisper API incurs a cost of US$0.06 per 10 minutes of audio.
- **Setup:** 1. Obtain an OpenAI API key and place it in the `.env` file under the `OPENAI_API_KEY` variable. 2. Set `TRANSCRIPTION_ENABLED` to `"true"` and `TRANSCRIPTION_METHOD` to `"whisper-api"`. While setting a language in `TRANSCRIPTION_LANGUAGE` is not mandatory, it is recommended for better performance.Local Mode:
- **Cost:** The local method is free but may be slower and less precise.
- **Setup:** 1. Download a model of your choice from [here](https://huggingface.co/ggerganov/whisper.cpp/tree/main). Download any `.bin` file and place it in the `./whisper/models` folder. 2. Modify the `.env` file by changing `TRANSCRIPTION_ENABLED` to `"true"`, `TRANSCRIPTION_METHOD` to `"local"`, and `"TRANSCRIPTION_MODEL"` with the name of the model you downloaded. While setting a language in `TRANSCRIPTION_LANGUAGE` is not mandatory, it is recommended for better performance.### 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
- `!help`: Displays a message listing all available commands.
- `!help` followed by a specific command, e.g., `!help reset`: Provides detailed information about the selected command.
- If you wish to customize the command prefix, you can do so in the `.env` file to better suit your preferences.## Contribute
Your contributions to Sydney are welcome in any form. Whether you'd like to:
- Report Issues: If you come across bugs or have ideas for new features, please open an issue to discuss and track these items.
- Submit Pull Requests (PRs): Feel free to contribute directly by opening pull requests. Your contributions are greatly appreciated and help improve Sydney.
- If you want us to add a tool from the js langchain open an issue asking for it.
Your involvement is valued, and you're encouraged to contribute in the way that suits you best.
## Hire Us
Both creators of this project, [Veigamann](https://github.com/veigamann) and [Luisotee](https://github.com/Luisotee), are currently seeking new job opportunities.
If you have any job opportunities, please feel free to contact us through the emails provided in our GitHub profiles.