Welcome to the "Hermes" project, a comprehensive chat application with PDF integration. This project is designed to provide a seamless chat experience where users can upload PDF files, create chats around them, and interact with an AI assistant. The AI assistant uses the OpenAI API to generate responses based on the chat context.
Link: https://hermespdf.vercel.app/
Disclaimer: I have used free tier APIs which expires in few days so deployed application may not work.
- Next.js
- React
- TypeScript
- Tailwind CSS
- Clerk
- Drizzle ORM
- PostgreSQL
- AWS SDK
- OpenAI API
- Axios
- Pinecone
- Drizzle-kit
- OpenAI Edge
- Neon Database Serverless
- Drizzle-orm/neon-http
- @tanstack/react-query
- @clerk/nextjs
- clsx
- tailwind-merge
Ensure you have the following installed:
- Node.js
- Next.js
- CLERK account for authentication
- AWS Account with S3 configured
- NEON Database setup
- CLERK: Ensure you have configured CLERK for authentication by following their documentation (https://clerk.com/docs/quickstarts/nextjs).
- AWS S3: Set up an S3 bucket and configure the necessary permissions. Refer to AWS's S3 documentation (https://docs.aws.amazon.com/s3/).
- NEON Database: Ensure your NEON Database is set up and accessible. Refer to NEON's documentation (https://neon.tech/docs/introduction).
Follow the steps below to install and setup the project:
-
Clone the repository
Open your terminal and run the following command:
git clone https://github.com/ViplavKhode/hermes.git
-
Navigate to the project directory
cd Hermes
-
Install Node.js
The project requires Node.js version 13.4.19 or later. You can download it from here.
-
Install the required dependencies
Run the following command to install all the required dependencies:
npm install
This will install all the dependencies listed in the
package.json
file, including Next.js, React, React DOM, Axios, Tailwind CSS, and other specific dependencies such as "@aws-sdk/client-s3" and "@clerk/nextjs". -
Setup environment variables
Create a
.env
file in the root directory of your project and add the required environment variables. -
Run the project
Now, you can run the project using the following command:
npm run dev
Open http://localhost:3000 with your browser to see the result.
The README provides a concise overview of Hermes, highlights its core features, and lists the prerequisites needed to get started with the project. The platform focuses on enhancing user interaction with PDF documents through AI, ensuring secure data handling and efficient information extraction.