A simple instant messaging application.
This project is a concept of a simple instant messaging application that is built on the MEAN Stack and is integrated with the OpenAI API to analyze and query any chat log with natural language. This integration enables users to easily search through, summarize, query, and analyze their chat logs with other users using natural language with ease.
- Responsive and intuitive modern user interface
- Robust authentication system based on JWTs
- Session handling
- Ability to create and invite other users to different chat rooms
- Switch instantly between chat rooms
- View all users in a chat room
- Realtime message delivery using WebSockets
- Unique colors for each user in a chat room
- Ability to delete messages and chat rooms
- Chat logs from each room are embedded and stored in a vectorstore
- Ability to query the chat using natural language using langchain and openai completion models with the vectorstore as context
- Clone the repository:
git clone https://github.com/RSYashwanth/Chat-Application.git
- Set OpenAI API key:
vim .env.example # Follow instructions inside file
- Run docker-compose
docker-compose up
- Open localhost on any browser of choice
- On the welcome page, click on the
Get Started
button - Select the
sign up here
text at the bottom of the popup to create a profile - Enter a username, email, password and password confirmation to sign up
- Repeat these steps with unique usernames to create multiple accounts
- On the home screen, click the
+
button besides theChat
pane - In the popup, enter a list of space-seperated valid usernames to include all the users in the chat room
- Enter a name for the name of the chat
- Click the
Create Chat
button
- Type a message in the chat box and click enter to send it to other users in the chat
- To delete a message, click on the
...
to the right of any hovered message and click delete - To delete a chat room, Click the
x
next to the chat's name
- To search through a particular chat room, first enter a chat room
- Press the circular button on the top-right corner besides the
Users
pane - Type in a query and wait for the model to analyze and respond. (Don't forget to set you API key in the .env file)
For more screenshots, look into /images