Welcome to the AI-Powered PDF Chat Application! This SaaS project leverages advanced AI technologies to enable users to interact with PDF documents through natural language queries, allowing them to gain information without reading the entire document. This innovative application answers questions accurately based on the content of the PDF.
- Chat with PDF: Ask questions and get accurate answers based on the PDF content.
- User Authentication: Secure user authentication using Clerk Auth.
- Payments: Seamless payment integration with Stripe.
- Storage: Store and manage PDF files using AWS S3.
- Database: Efficient data management with DrizzleORM and NeonDb.
- AI Stack: Powerful AI capabilities with Pinecone Db, Langchain, Vercel AI SDK, and OpenAI.
- Edge Runtime: Enhanced performance with edge computing.
- Retrieval Augmented Generation: Advanced techniques for accurate and context-aware responses.
- Next.js: Framework for building the application.
- Pinecone Db: Vector database for handling embeddings.
- Langchain: Framework for building language models.
- Vercel AI SDK: Tools for deploying AI models.
- OpenAI: Provider of state-of-the-art AI models.
- Edge Runtime: Improves performance and reduces latency.
- Clerk Auth: Secure and seamless user authentication.
- DrizzleORM: ORM for interacting with the database.
- NeonDb: Scalable and efficient database solution.
- Stripe: Payment processing for subscription and transactions.
- AWS S3: Secure and scalable storage for PDF files.
Ensure you have the following installed:
- Node.js
- npm or yarn
-
Clone the repository:
git clone https://github.com/anonymous096/PDFTalks.git cd PDFTalks
-
Install dependencies:
npm install
-
Set up environment variables: Create a .env file and add the required environment variables for Clerk Auth, Stripe, AWS S3, Pinecone Db, Langchain, Vercel AI SDK, and OpenAI.
-
Run the development server:
npm run dev
The application can be deployed on Vercel for seamless integration with Next.js. Ensure all environment variables are set up in Vercel as well.
- Upload PDF: Users can upload their PDF files to the platform.
- Ask Questions: Users can interact with the PDF through a chat interface, asking questions and receiving accurate answers.
- Manage Account: Users can manage their profile and subscription through the account settings.
We welcome contributions! Please follow these steps:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/YourFeature
-
Make your changes and commit them:
git commit -m 'Add some feature'
-
Push to the branch
git push origin feature/YourFeature
-
Create a pull request
This project is licensed under the MIT License. See the LICENSE file for details.
We would like to thank the following technologies and platforms that made this project possible:
- Next.js: A React framework for building server-side rendering and static web applications.
- Clerk Auth: An easy-to-integrate authentication service.
- DrizzleORM: A TypeScript ORM for SQL databases.
- NeonDb: A scalable and efficient database solution.
- Stripe: A payment processing platform.
- AWS S3: A scalable object storage service.
- Pinecone: A vector database for handling embeddings.
- Langchain: A framework for building language models.
- Vercel: A platform for frontend developers, providing tools for serverless functions and static site hosting.
- OpenAI: Provider of state-of-the-art AI models.