{"id":38611954,"url":"https://github.com/geniusrise/geniusrise","last_synced_at":"2026-01-17T08:45:32.996Z","repository":{"id":191587204,"uuid":"639097106","full_name":"geniusrise/geniusrise","owner":"geniusrise","description":"Geniusrise: Framework for building geniuses","archived":false,"fork":false,"pushed_at":"2025-11-16T08:44:45.000Z","size":8394,"stargazers_count":60,"open_issues_count":8,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-16T09:16:04.388Z","etag":null,"topics":["agent-based-framework","agentops","ai","cli","fine-tuning","geniusrise","llm-framework","llmops","mlops"],"latest_commit_sha":null,"homepage":"https://geniusrise.ai/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geniusrise.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-05-10T18:51:35.000Z","updated_at":"2025-11-16T08:44:46.000Z","dependencies_parsed_at":"2023-08-30T14:58:20.935Z","dependency_job_id":"339cd697-2ac7-40b1-882b-40757994038d","html_url":"https://github.com/geniusrise/geniusrise","commit_stats":null,"previous_names":["geniusrise/geniusrise"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/geniusrise/geniusrise","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniusrise%2Fgeniusrise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniusrise%2Fgeniusrise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniusrise%2Fgeniusrise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniusrise%2Fgeniusrise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geniusrise","download_url":"https://codeload.github.com/geniusrise/geniusrise/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geniusrise%2Fgeniusrise/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["agent-based-framework","agentops","ai","cli","fine-tuning","geniusrise","llm-framework","llmops","mlops"],"created_at":"2026-01-17T08:45:32.160Z","updated_at":"2026-01-17T08:45:32.991Z","avatar_url":"https://github.com/geniusrise.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# 🧠 Geniusrise\n\n### Unified Local AI Inference Framework\n\n\u003ch3 align=\"center\"\u003e\n  \u003ca href=\"https://docs.geniusrise.ai\"\u003eDocumentation\u003c/a\u003e\n  ||\n  \u003ca href=\"https://github.com/geniusrise/examples\"\u003eExamples\u003c/a\u003e\n\u003c/h3\u003e\n\n## About\n\n**Geniusrise 0.2** is a unified, lean inference framework designed for **local desktop AI workloads**. It consolidates vision, text, and audio model inference into a single, focused package with a simple mental model:\n\n- **API mode**: Serve models via HTTP/REST endpoints\n- **Batch mode**: Process files from input → output folders\n- **Streaming mode**: Real-time processing via Kafka\n\n**No training. No fine-tuning. Just inference.**\n\n### What's New in 0.2\n\n- 🎯 **Unified Architecture**: Vision, text, and audio merged into one package\n- 🗑️ **Removed**: All training/fine-tuning code, Airflow dependency, OpenStack runners\n- 🚀 **Simplified**: Single `InferenceTask` base class (no more Bolt/Spout complexity)\n- 💾 **State**: PostgreSQL only (removed Redis, DynamoDB, InMemory)\n- ⚡ **Modern Stack**: FastAPI, Typer, Rich, PyTorch-first\n- 📦 **60% fewer dependencies**: ~40 packages instead of ~100+\n\n## Installation\n\n```bash\npip install torch torchvision torchaudio  # Install PyTorch first\npip install geniusrise==0.2.0\n```\n\nThat's it! Vision, text, and audio are all included by default.\n\n## Quick Start\n\n### 1. Vision Inference (Visual QA)\n\nCreate `config.yml`:\n\n```yaml\nversion: '1'\n\ntasks:\n  my_vision_api:\n    type: vision\n    mode: api\n    model:\n      name: 'llava-hf/bakLlava-v1-hf'\n      device: 'cuda:0'\n      precision: 'bfloat16'\n    server:\n      host: '0.0.0.0'\n      port: 3000\n      auth:\n        username: 'user'\n        password: 'password'\n```\n\nRun it:\n\n```bash\ngenius run config.yml\n```\n\nTest it:\n\n```bash\nMY_IMAGE=/path/to/image.jpg\n\n(base64 -w 0 $MY_IMAGE | awk '{print \"{\\\"image_base64\\\": \\\"\"$0\"\\\", \\\"question\\\": \\\"What is in this image?\\\"}\"}' \u003e /tmp/payload.json)\ncurl -X POST http://localhost:3000/api/v1/answer_question \\\n    -H \"Content-Type: application/json\" \\\n    -u user:password \\\n    -d @/tmp/payload.json | jq\n```\n\n### 2. Text Inference (LLM)\n\n```yaml\nversion: '1'\n\ntasks:\n  llama_api:\n    type: text\n    mode: api\n    model:\n      name: 'meta-llama/Llama-2-7b-chat-hf'\n      device: 'cuda:0'\n      precision: 'float16'\n      quantization: 4  # 4-bit quantization\n    server:\n      host: '0.0.0.0'\n      port: 8000\n```\n\n```bash\ngenius run config.yml\n```\n\n### 3. Audio Inference (Speech-to-Text)\n\n```yaml\nversion: '1'\n\ntasks:\n  whisper_batch:\n    type: audio\n    mode: batch\n    model:\n      name: 'openai/whisper-large-v3'\n      device: 'cuda:0'\n    input:\n      path: ./audio_files\n      format: mp3\n    output:\n      path: ./transcriptions\n      format: json\n```\n\n```bash\ngenius run config.yml\n```\n\n### 4. Batch Processing\n\nProcess a folder of images for classification:\n\n```yaml\nversion: '1'\n\ntasks:\n  classify_images:\n    type: vision\n    mode: batch\n    model:\n      name: 'google/vit-base-patch16-224'\n      device: 'cuda:0'\n    input:\n      path: ./input_images\n      format: jpg,png\n    output:\n      path: ./results\n      format: jsonl\n```\n\n## Supported Models\n\n### Vision\n- Image Classification (ViT, ResNet, ConvNeXt)\n- Segmentation (Mask2Former, SAM, SegFormer)\n- OCR (EasyOCR, PaddleOCR, Nougat, Donut)\n- Visual QA (LLaVA, BLIP-2, GIT, Uform)\n\n### Text\n- Language Models (Llama, Mistral, GPT-2, OPT)\n- Instruction Following (Alpaca, Vicuna, Orca)\n- Classification (BERT, RoBERTa, DeBERTa)\n- NER, NLI, QA, Translation\n- Sentence Embeddings (Sentence-BERT)\n\n### Audio\n- Speech-to-Text (Whisper, Wav2Vec2, SeamlessM4T)\n- Text-to-Speech (MMS, Bark, SpeechT5)\n\n## CLI Commands\n\nThe new CLI is built with Typer and Rich for a better experience:\n\n```bash\n# Run a config file\ngenius run config.yml\n\n# Run a specific task from config\ngenius run config.yml --task llama_api\n\n# Deploy to Kubernetes\ngenius deploy config.yml --target kubernetes\n\n# Show running tasks\ngenius status\n\n# View logs\ngenius logs \u003ctask-id\u003e\n\n# Stop a task\ngenius stop \u003ctask-id\u003e\n```\n\n## Architecture\n\n### Old (0.1.x) - Removed\n```\n❌ Bolt → Spout chains (Storm-like)\n❌ Discovery mechanism for plugins\n❌ Multiple state backends (Redis, Dynamo, Memory)\n❌ Separate packages (geniusrise-vision, geniusrise-text, geniusrise-audio)\n❌ Training \u0026 fine-tuning code\n❌ Airflow orchestration\n❌ OpenStack runners\n```\n\n### New (0.2.x) - Simplified\n```\n✅ Single InferenceTask base class\n✅ Three modes: API, Batch, Streaming\n✅ All modalities in one package\n✅ Inference only\n✅ PostgreSQL state only\n✅ FastAPI servers\n✅ Kubernetes + Docker runners\n```\n\n## Migration from 0.1.x\n\nSee [MIGRATION.md](MIGRATION.md) for detailed upgrade instructions.\n\n**Breaking changes:**\n- `Bolt` and `Spout` classes removed → Use `InferenceTask`\n- Package imports changed: `geniusrise_text.*` → `geniusrise.inference.text.*`\n- YAML schema updated\n- State backends limited to PostgreSQL\n- Training/fine-tuning removed\n\n## Configuration Schema\n\n```yaml\nversion: '1'\n\ntasks:\n  \u003ctask_name\u003e:\n    type: vision | text | audio\n    mode: api | batch | streaming\n\n    # Model configuration\n    model:\n      name: str                    # HuggingFace model ID or path\n      device: str                  # 'cuda:0', 'cpu', etc.\n      precision: str               # 'float32', 'float16', 'bfloat16'\n      quantization: int            # 4, 8, or 0 (no quantization)\n      max_memory: dict             # Optional memory limits\n\n    # API mode specific\n    server:\n      host: str\n      port: int\n      auth:\n        username: str\n        password: str\n      cors:\n        origins: list[str]\n\n    # Batch mode specific\n    input:\n      path: str\n      format: str\n\n    output:\n      path: str\n      format: str\n      s3_bucket: str               # Optional S3 sync\n\n    # Streaming mode specific\n    streaming:\n      kafka_brokers: list[str]\n      input_topic: str\n      output_topic: str\n\n    # State management\n    state:\n      host: str\n      port: int\n      database: str\n      user: str\n      password: str\n```\n\n## Development\n\n```bash\n# Clone the repo\ngit clone https://github.com/geniusrise/geniusrise\ncd geniusrise\n\n# Install in dev mode\npip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Format code\nblack geniusrise/\nflake8 geniusrise/\n```\n\n## Philosophy\n\nGeniusrise 0.2 embraces simplicity:\n\n1. **Local first**: Optimized for GPU workstations, not distributed cloud\n2. **Inference only**: Training belongs elsewhere (use HuggingFace Transformers directly)\n3. **One way to do things**: PostgreSQL for state, FastAPI for servers, Kafka for streaming\n4. **Clear modes**: API xor Batch xor Streaming - no mixing\n5. **Batteries included**: All modalities in one package\n\n## Use Cases\n\n✅ **Perfect for:**\n- Local development with LLMs/Vision/Audio models\n- Prototyping inference APIs\n- Batch processing of media files\n- Deploying to Kubernetes clusters\n- Desktop AI applications\n\n❌ **Not designed for:**\n- Training models (use PyTorch/HuggingFace directly)\n- Fine-tuning (removed in 0.2)\n- Distributed training orchestration\n- Cloud-native MLOps pipelines\n\n## License\n\nApache 2.0\n\n## Links\n\n- **Documentation**: [docs.geniusrise.ai](https://docs.geniusrise.ai)\n- **GitHub**: [github.com/geniusrise/geniusrise](https://github.com/geniusrise/geniusrise)\n- **Issues**: [github.com/geniusrise/geniusrise/issues](https://github.com/geniusrise/geniusrise/issues)\n\n---\n\n**v0.2.0** - Complete rewrite focused on local inference. See changelog for full details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeniusrise%2Fgeniusrise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeniusrise%2Fgeniusrise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeniusrise%2Fgeniusrise/lists"}