A Retrieval-Augmented Generation (RAG) application built with Tauri, SvelteKit, and TypeScript.
RAG App is a desktop application that combines document retrieval with AI-powered generation capabilities. It allows users to upload documents, create knowledge bases, and perform intelligent question-answering using retrieval-augmented generation techniques.
- Document Upload & Processing: Support for various document formats (PDF, TXT, DOCX)
- Vector Database: Efficient document embedding and similarity search
- AI Integration: Connect with popular LLM providers for intelligent responses
- Interactive Chat Interface: User-friendly chat interface for querying documents
- Knowledge Base Management: Organize and manage multiple document collections
- Cross-Platform: Works on Windows, macOS, and Linux thanks to Tauri
VS Code + Svelte + Tauri + rust-analyzer
pnpm installTo run the application in development mode:
pnpm tauri devTo build the application for production:
# Build for all formats by default
pnpm tauri build
# Build only the DMG package for macOS
pnpm tauri build --bundles dmgAfter building, the executables will be available in the src-tauri/target/release/bundle/ directory.
If macOS blocks opening the DMG or launching the application, follow these steps:
- Right-click (or Control-click) the DMG file in Finder
- Select "Open" from the context menu
- In the dialog that appears, click "Open"
Alternative method to run the application:
- After installation, right-click (or Control-click) the application in the Applications folder
- Select "Open" from the context menu
- Confirm that you want to open the application by clicking "Open" in the dialog
After launching this way once, the application will open normally in the future.
- Frontend: SvelteKit + TypeScript
- Backend: Rust (Tauri)
- UI Framework: Svelte
- Build Tool: Vite
- Package Manager: pnpm
- Styling: Tailwind CSS
- Clone the repository
- Install dependencies with
pnpm install - Run in development mode with
pnpm tauri dev - Upload your documents and start asking questions!
If you encounter an error saying "Port 1420 is already in use" when running pnpm tauri dev, you can kill the process using that port:
kill -9 $(lsof -ti:1420)Then try running the development server again:
pnpm tauri devMake sure you're using Node.js version 18 or higher. You can check your version with:
node --versionIf you're using conda, you can update Node.js with:
conda install nodejs=20 -yWe welcome contributions! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.