52 repository-uri
Techniques for building complex systems by composing small, reusable, and focused functional units.
Distinguishing note: Focuses on architectural composition rather than general software engineering.
Explore 52 awesome GitHub repositories matching software engineering & architecture · Modular Design Patterns. Refine with filters or upvote what's useful.
MediaPipe is a cross-platform machine learning framework designed for building and deploying pipelines that process live and streaming media. It provides a system for connecting processing components into custom machine learning chains to analyze real-time audio and video streams. The framework includes a suite of pre-trained models for tasks such as hand, face, and pose tracking, along with tools for retraining and customizing these models with specific datasets. It also features a dedicated benchmarker for measuring the execution speed and accuracy of machine learning models directly within
Implements a modular design where processing logic is encapsulated into discrete calculators that can be reconfigured into different pipelines.
Detectron2 is a PyTorch computer vision framework and visual recognition platform designed for training and deploying models for object detection, image segmentation, and visual recognition. It provides a research-oriented environment for training complex vision models with multi-GPU acceleration. The project includes a specialized object detection library for identifying and locating multiple objects via bounding boxes, as well as an image segmentation toolkit for creating pixel-level masks through instance, semantic, and panoptic segmentation. Additionally, it features a human pose estimati
Utilizes a modular architecture to assemble detection pipelines from interchangeable processing components.
TaskMatrix is a visual language model orchestration framework and modular visual pipeline designed to coordinate disparate foundation models. It functions as a multi-model workflow coordinator that sequences visual and textual models through logic paths to handle image processing tasks without requiring additional training. The system integrates large language models with visual foundation models to enable the exchange of image data during interactive chat sessions. It utilizes template-based orchestration to chain specialized models together for complex visual tasks. The framework supports
Implements a sequence of pre-defined templates that chain disparate foundation models to solve visual tasks.
Implements a bottom-up architectural style using highly modular and reusable functional components.
LangChainJS is an AI agent orchestrator and application framework designed for building autonomous systems that use large language models to plan and execute tasks. It serves as an integration library that connects language models with tools, memory, and external data sources to create context-aware logic and complex workflows. The project provides a provider-agnostic interface and model provider abstraction, allowing applications to switch between different language model providers without rewriting core logic. It includes a toolkit for retrieval augmented generation, utilizing retrievers to
Implements a pipeline pattern that links discrete AI components to pass data and state between sequential steps.
NeMo is a multimodal AI framework and toolkit designed for the development, training, and scaling of large language models, generative AI systems, and speech-based models. It functions as an automatic speech recognition toolkit, a text-to-speech engine, and a framework for building models that process and generate combinations of text, image, and audio data. The project serves as a conversational AI orchestrator capable of managing real-time, interruptible voice interactions. It provides specialized workflows for speech translation, converting spoken audio from one language into text or speec
Supports the composition of multimodal generative pipelines by combining separate audio and text encoders and decoders.
MoviePy is a Python video editing library and automated video processor designed for programmatically cutting, concatenating, and manipulating video and audio files. It serves as a non-linear video editor and an interface for FFmpeg to handle the reading, writing, and conversion of diverse media formats and codecs. The library enables automated video composition through the layering of multiple video and audio streams using transparency and coordinate-based positioning. It supports dynamic content generation by inserting text overlays and performing custom video frame processing where raw fra
Provides a modular pipeline where video frames are processed through a series of pluggable functions.
Flair is a natural language processing framework for training and applying models for sequence labeling and text classification. It provides a system for generating word embeddings and identifying semantic entities within text. The framework includes a dedicated system for zero and few-shot learning, enabling text classification and entity extraction using minimal training examples by leveraging pre-trained knowledge. Its capabilities cover named entity recognition, sentiment analysis, and the training of specialized models using custom datasets. It also includes tooling for the visual highl
Allows users to swap different embedding schemes and labeling heads while maintaining a consistent input and output flow.
ai-edu is a comprehensive AI education curriculum and machine learning courseware collection. It provides theoretical tutorials, deep learning lab exercises, and project blueprints designed to teach artificial intelligence fundamentals through a combination of study and practical implementation. The project focuses on a learning-by-doing approach, guiding users from Python programming and neural network basics to advanced topics. It includes specialized instructional content on distributed AI training, MLOps educational guides for model quantization and pruning, and detailed frameworks for im
Demonstrates how to construct deep learning workflows by assembling reusable neural network modules and configuration files.
QAnything is a retrieval-augmented generation application framework and self-hosted AI interface. It functions as a system that combines a vector database knowledge base, a document parsing service, and a hybrid search engine to generate answers based on private user data. The project features a modular pipeline architecture that allows users to independently replace components such as parsers, embedding models, and reranking engines. It supports local-first model deployment and offline operation to ensure data privacy, and includes a two-stage retrieval pipeline that merges dense vector embe
Features a decoupled architecture allowing independent replacement of parsers, embedding models, and LLMs via configuration.
Autoware is a modular autonomous driving stack and open-source platform for advanced driver assistance systems. It functions as an integrated operating environment that manages the full pipeline from sensor data processing to vehicle actuation, utilizing the ROS 2 robotics framework for distributed communication and hardware abstraction. The system provides a comprehensive software architecture to enable autonomous driving across various vehicle platforms. It coordinates perception, planning, and control systems to operate vehicles without human intervention. The platform covers several core
Processes raw sensor data through discrete stages of detection and tracking to build a consistent world model.
The Point Cloud Library is a collection of C++ algorithms designed for filtering, registering, and analyzing large-scale 3D spatial datasets. It provides a framework for 3D point cloud processing, incorporating tools for spatial data filtering and geometric feature estimation. The library includes specialized systems for aligning multiple spatial datasets into a single unified coordinate system and a rendering engine for the visual inspection and analysis of processed point cloud data. It also features tools for calculating spatial descriptors to identify structural patterns and shapes within
Connects discrete filtering and estimation stages into a modular linear sequence for data processing.
Kedro is a data science pipeline framework and production toolbox designed to build reproducible, modular workflows using software engineering best practices. It functions as a data engineering orchestrator and catalog manager, bridging the gap between interactive analysis and maintainable production pipelines. The framework distinguishes itself by using a data catalog to decouple data access from processing logic and providing tools to transition analysis from interactive notebooks into structured workflows. It includes a workflow visualization tool that generates visual maps of data pipelin
Isolates data processing logic into independent, swappable functional units to separate business logic from the execution framework.
Kedro is a data science pipeline framework and orchestration tool designed to build reproducible and modular data engineering workflows. It functions as an MLOps project template and Python data workflow tool that enforces software engineering best practices to move projects from prototype to production. The system distinguishes itself through a centralized data catalog manager that abstracts data access and versioning across various file formats and cloud storage systems. It further separates processing logic from data access via a lazy-loading data registry and provides a standardized proje
Supports the design of isolated, reusable pipeline components that can be packaged and shared across projects.
httpx is a suite of tools and libraries for HTTP reconnaissance, infrastructure discovery, and DNS resolution. It functions as a command line toolkit for extracting metadata and status codes from HTTP targets and CIDR ranges, as well as a Go library for integrating these probing capabilities into custom programs. The project distinguishes itself through specialized infrastructure profiling, using TLS fingerprinting to extract JARM hashes and certificate details. It identifies underlying components such as CDN usage, Autonomous System Numbers, and CNAMEs to map web server software and infrastr
Implements a modular pipeline to sequentially extract status codes, page titles, and server headers from targets.
MMSegmentation is an open-source semantic segmentation toolbox built on PyTorch that provides a modular, configurable framework for building, training, evaluating, and deploying segmentation models. At its core, it offers a config-driven pipeline that assembles training, evaluation, and inference workflows by parsing hierarchical configuration files, with a modular component registry that enables plug-and-play composition of neural network modules, optimizers, datasets, and metrics. The framework supports the full model lifecycle through a unified runner interface that controls training, testi
Assembles training, evaluation, and inference workflows by parsing hierarchical configuration files that wire together registered components.
Warriorjs este un framework de jocuri de programare și un puzzle logic bazat pe cod, unde jucătorii scriu cod pentru a controla personaje și a rezolva provocări strategice de luptă. Servește drept joc educațional de programare conceput pentru a preda logica de programare și gândirea algoritmică printr-o serie de scenarii de luptă. Proiectul funcționează ca un motor de joc extensibil care permite adăugarea de noi universuri, niveluri, abilități și unități prin extensii de pachete independente. De asemenea, oferă instrumente pentru designul de niveluri personalizate, permițând crearea de provocări pe care alți jucători să le rezolve. Sistemul gestionează definițiile entităților de joc, poziționarea spațială și simularea stării pe ture. Execută nivelurile de joc printr-o interfață bazată pe terminal, calculând scoruri numerice și note bazate pe performanța logicii furnizate.
Allows users to code autonomous behaviors for game characters to navigate environments and defeat opponents.
ModelScope is a comprehensive machine learning platform that functions as a model hub, training framework, inference engine, and cloud development environment. It provides a centralized repository for discovering, downloading, and managing pre-trained models and datasets across multiple modalities, including natural language, vision, and speech. The platform features a unified interface for multimodal model inference and a standardized framework for fine-tuning and evaluating large-scale models. It supports distributed training to scale workloads across multiple processors and provides contai
Offers a pluggable architecture for modifying and swapping specific stages of AI inference and training pipelines.
BentoML is a machine learning model serving framework and GPU-accelerated inference server designed to package, deploy, and scale AI models as production-ready REST APIs. It functions as an AI model lifecycle manager and an inference graph orchestrator, enabling the chaining of multiple models and custom logic into complex pipelines for advanced task sequences. The framework distinguishes itself through a dynamic batching engine that optimizes GPU throughput and an artifact-based packaging system that bundles model weights and dependencies into immutable archives for consistent deployment. It
Combines multiple models and custom logic into complex inference graphs and task queues.
litegraph.js is a JavaScript dataflow framework and visual node graph engine used to define programmable logic and data flow. It provides a node-based visual programming tool for designing complex logic through connected functional blocks. The library allows for the creation of hierarchical logic by nesting multiple nodes into recursive subgraphs. It also supports the development of custom node types with unique inputs and outputs, as well as custom widgets and live views that can hide the underlying graph structure to present a visual interface. The engine enables the execution of logic gra
Organizes complex logic by nesting multiple functional nodes into simplified subgraphs for better workspace management.