{"id":28384134,"url":"https://github.com/godgardensguns/librai","last_synced_at":"2026-05-06T19:07:40.194Z","repository":{"id":275486258,"uuid":"879110443","full_name":"GodGardensGuns/librai","owner":"GodGardensGuns","description":"Deploy an AI chatbot trained on your own PDF and EPUB book files.","archived":false,"fork":false,"pushed_at":"2025-04-07T23:07:13.000Z","size":2225,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-18T02:09:22.393Z","etag":null,"topics":["ai","alpine","alpinejs","chatbot","chatgpt","express","openai","qdrant","svelte","sveltekit","tailwind","tailwindcss","turbo","turborepo"],"latest_commit_sha":null,"homepage":"https://chat.davisregenerative.com","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GodGardensGuns.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-27T02:17:13.000Z","updated_at":"2025-06-05T16:45:07.000Z","dependencies_parsed_at":"2025-02-02T21:35:56.663Z","dependency_job_id":null,"html_url":"https://github.com/GodGardensGuns/librai","commit_stats":null,"previous_names":["wjd3/librai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GodGardensGuns/librai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GodGardensGuns%2Flibrai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GodGardensGuns%2Flibrai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GodGardensGuns%2Flibrai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GodGardensGuns%2Flibrai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GodGardensGuns","download_url":"https://codeload.github.com/GodGardensGuns/librai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GodGardensGuns%2Flibrai/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261962220,"owners_count":23236889,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","alpine","alpinejs","chatbot","chatgpt","express","openai","qdrant","svelte","sveltekit","tailwind","tailwindcss","turbo","turborepo"],"created_at":"2025-05-30T07:38:52.384Z","updated_at":"2026-05-06T19:07:40.182Z","avatar_url":"https://github.com/GodGardensGuns.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Librai - AI-Powered Document Processing \u0026 Chat Platform\n\n## Overview\n\nLibrai is a monorepo containing a full-stack application that enables users to process documents and interact with them through an AI chatbot interface. The platform consists of two main applications:\n\n- **librai-server**: A document processing service that handles file uploads, text extraction, and vector embeddings\n- **librai-ui**: A modern chat interface for interacting with processed documents using AI\n\n## Key Features\n\n### Document Processing (librai-server)\n\n- File upload support with progress tracking\n- Support for multiple file formats:\n  - PDF (with page range exclusion)\n  - EPUB (with section exclusion)\n  - TXT\n  - MD\n- Smart text chunking with metadata preservation\n- OpenAI embeddings generation (text-embedding-3-large)\n- Qdrant vector database integration\n- Express.js REST API\n\n### Chat Interface (librai-ui)\n\n- Interactive AI chatbot with context-aware responses\n- Multiple theme support:\n  - Charcoal (light/dark)\n  - Leaf (light/dark)\n  - Twilight (light/dark)\n  - Volcano (light/dark)\n  - Ocean (light/dark)\n- UI built with SvelteKit\n- User authentication via PocketBase\n- Conversation management:\n  - Save and resume conversations\n  - Delete conversations\n  - Share via public links\n  - Edit conversation titles\n- Rate limiting with Upstash Redis\n- Real-time streaming responses\n- Markdown and LaTeX support\n- Responsive design with Tailwind CSS\n\n## Getting Started\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/yourusername/librai.git\ncd librai\n```\n\n2. Install dependencies:\n\n```bash\npnpm install\n```\n\n3. Set up environment variables:\n   Create `.env` files in both apps/server and apps/ui directories using their respective `.env.example` files as templates.\n\n4. Start the development servers:\n\n```bash\npnpm dev\n```\n\n## Environment Variables\n\n### Server (.env)\n\n```plaintext\nPORT=3000\nOPENAI_API_KEY=your_api_key\nOPENAI_EMBEDDINGS_MODEL=text-embedding-3-large\nQDRANT_API_URL=your_qdrant_url\nQDRANT_API_KEY=your_qdrant_key\nQDRANT_COLLECTION=your_collection_name\n```\n\n### UI (.env)\n\n```plaintext\n# OpenAI Configuration\nPRIVATE_CHAT_API_KEY=your_openai_key\nPRIVATE_EMBEDDINGS_API_KEY=your_openai_key\nPRIVATE_EMBEDDINGS_MODEL=text-embedding-3-large\nPRIVATE_CHAT_MODEL=gpt-4o-mini\nPRIVATE_CHAT_BASE_URL=your_openai_base_url\n\n# Qdrant Configuration\nPRIVATE_QDRANT_ENDPOINT_URL=your_qdrant_url\nPRIVATE_QDRANT_COLLECTION_NAME=your_collection_name\nPRIVATE_QDRANT_API_KEY=your_qdrant_key\n\n# System Configuration\nPRIVATE_SYSTEM_PROMPT=your_custom_prompt\n\n# Redis Configuration\nPRIVATE_UPSTASH_REDIS_REST_URL=your_upstash_url\nPRIVATE_UPSTASH_REDIS_REST_TOKEN=your_upstash_token\n\n# PocketBase Configuration\nVITE_POCKETBASE_URL=http://127.0.0.1:8090\n\n# Application Settings\nPUBLIC_APP_TITLE=Librai\nPUBLIC_APP_DESCRIPTION=Your app description\nPUBLIC_APP_SHORT_TITLE=Librai\nPUBLIC_THEME=charcoal\nPUBLIC_APP_URL=your_app_url\n\n# Chatbot Configuration\nPUBLIC_CHATBOT_DESCRIPTION=Your chatbot description\nPUBLIC_CHATBOT_THINKING_TEXT=Your thinking text\n\n# OpenGraph/Social Media\nPUBLIC_APP_OG_IMAGE=your_og_image_url\nPUBLIC_APP_TWITTER_IMAGE=your_twitter_image_url\n```\n\n## Documentation\n\n- [Server Documentation](apps/server/README.md)\n- [UI Documentation](apps/ui/README.md)\n\n## License\n\nThis project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodgardensguns%2Flibrai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgodgardensguns%2Flibrai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgodgardensguns%2Flibrai/lists"}