https://github.com/labib2003/chat-with-pdf
AI chatbot powered by Google Generative AI API where you can upload a PDF file as the bots context and chat with it to extract information the file.
https://github.com/labib2003/chat-with-pdf
ai chatbot deno gemeni googlegenerativeai hono htmx rtc websocket
Last synced: 2 months ago
JSON representation
AI chatbot powered by Google Generative AI API where you can upload a PDF file as the bots context and chat with it to extract information the file.
- Host: GitHub
- URL: https://github.com/labib2003/chat-with-pdf
- Owner: Labib2003
- Created: 2024-11-21T07:39:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-21T08:01:14.000Z (over 1 year ago)
- Last Synced: 2025-01-22T05:28:41.780Z (over 1 year ago)
- Topics: ai, chatbot, deno, gemeni, googlegenerativeai, hono, htmx, rtc, websocket
- Language: TypeScript
- Homepage: https://chat-with-pdf-labib2003.deno.dev/
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chat with pdf
A Frankenstein project to try out a bunch of interesting technologies at once.
This is a AI chatbot powered by [Google Generative AI](https://ai.google.dev/) API where you can upload a PDF file as the bots context and chat with it to extract information the file.
## Key technologies used
- **Deno:** Backend runtime for secure and modern JavaScript/TypeScript development.
- **Hono:** Lightweight web framework for creating HTTP and WebSocket endpoints.
- **HTMX:** For building an interactive frontend with minimal JavaScript.
- **Tailwind CSS:** For styling the user interface efficiently.
## Limitations
Due to deno deploy not allowing disk access to store the uploaded files, the context is stored in memory. Thats why I had to limit the application to only accepting files up to 50kb and only 5 concurrent chat sessions to avoid crashes.
## Deployment
The application is deployed at Deno deploy.
[Live Demo](https://chat-with-pdf-labib2003.deno.dev/)