-
Notifications
You must be signed in to change notification settings - Fork 0
Add project documentation, metadata, and quality improvements #33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
OneFineStarstuff
merged 1 commit into
main
from
feature/add-docs-and-metadata-15442192469794851174
Jun 3, 2026
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,85 +1,46 @@ | ||
| cff-version: 1.2.0 | ||
| message: If you use this software, please cite it using the metadata from this file. | ||
| title: AGI-Pipeline | ||
| version: 1.0.0 | ||
| message: "If you use this software, please cite it using the metadata from this file." | ||
| title: "AGI-Pipeline" | ||
| version: 1.0.1 | ||
| date-released: '2024-12-17' | ||
| license: MIT | ||
| repository-code: https://github.com/OneFineStarstuff/AGI-Pipeline | ||
| repository-code: "https://github.com/OneFineStarstuff/AGI-Pipeline" | ||
| doi: 10.5281/zenodo.14504697 | ||
| authors: | ||
| - given-names: Kyaw T. | ||
| family-names: Tun | ||
| - given-names: "Kyaw T." | ||
| family-names: "Tun" | ||
| abstract: >- | ||
| The AGI (Artificial General Intelligence) Pipeline is a comprehensive and | ||
| modular software framework designed to integrate various AI capabilities, | ||
| including Natural Language Processing (NLP), Computer Vision (CV), Multi-Modal | ||
| Processing, Reinforcement Learning (RL), and Real-Time Video Processing. This | ||
| pipeline leverages state-of-the-art models and techniques to provide a robust | ||
| and scalable solution for diverse AI tasks. | ||
| The AGI (Artificial General Intelligence) Pipeline is an enterprise-grade multimodal framework designed to integrate core AI capabilities, including Natural Language Processing (NLP), Computer Vision (CV), and Speech Processing. This pipeline leverages state-of-the-art models and adheres to the Enterprise AI Agent Interoperability Protocol (EAIP) to provide a robust and scalable solution. | ||
|
|
||
| The AGI Pipeline is built to facilitate seamless integration and interaction | ||
| between different AI modules, enabling the development of sophisticated AI | ||
| applications. Key features of the pipeline include: | ||
| Key features include: | ||
|
|
||
| 1. Natural Language Processing (NLP): | ||
| - Utilizes the BART (Bidirectional and Auto-Regressive Transformers) model for text summarization and other NLP tasks. | ||
| - Provides efficient and accurate text processing capabilities. | ||
| - Utilizes the FLAN-T5 model for high-quality text generation and conditional responses. | ||
|
|
||
| 2. Computer Vision (CV): | ||
| - Employs the ResNet50 model for image classification, leveraging pre-trained weights from ImageNet. | ||
| - Supports advanced data augmentation techniques using the Albumentations library to enhance model robustness. | ||
| - Employs YOLOv8 for real-time object detection and image analysis. | ||
|
|
||
| 3. Multi-Modal Processing: | ||
| - Integrates the CLIP (Contrastive Language–Image Pretraining) model to process and understand text and image inputs simultaneously. | ||
| - Enables tasks such as image captioning and scene understanding. | ||
| 3. Speech Processing: | ||
| - Incorporates OpenAI's Whisper for high-accuracy speech-to-text transcription. | ||
| - Features offline text-to-speech synthesis using Pyttsx3. | ||
|
|
||
| 4. Reinforcement Learning (RL): | ||
| - Implements the PPO (Proximal Policy Optimization) algorithm from the Stable-Baselines3 library for training RL agents. | ||
| - Includes a custom environment for RL tasks, allowing for flexible and dynamic training scenarios. | ||
| 4. Security and Interoperability: | ||
| - Implements JWT-based authentication for secure API access. | ||
| - Complies with EAIP specifications, including gRPC support and SPIFFE/SPIRE identity management. | ||
|
|
||
| 5. Real-Time Video Processing: | ||
| - Supports real-time video processing using OpenCV, enabling live video feed analysis and processing. | ||
| - Provides a robust framework for handling real-time data streams. | ||
|
|
||
| 6. Voice and Speech Integration: | ||
| - Incorporates speech-to-text and text-to-speech capabilities using libraries like Google Speech Recognition and pyttsx3. | ||
| - Facilitates voice-based interactions and processing. | ||
|
|
||
| 7. Interactive Visualization: | ||
| - Utilizes Plotly for dynamic and interactive data visualization, creating insightful visual representations of data and model performance. | ||
|
|
||
| 8. Deployment and Scalability: | ||
| - Designed for easy deployment to cloud platforms such as AWS, GCP, and Heroku. | ||
| - Ensures scalability and performance optimization for handling large-scale AI tasks. | ||
|
|
||
| 9. Comprehensive Testing and Validation: | ||
| - Implements unit tests and integration tests using PyTest to ensure the robustness and reliability of the pipeline. | ||
|
|
||
| 10. User Interface: | ||
| - Provides a web-based user interface using frameworks like Flask and React for easy interaction with the pipeline. | ||
|
|
||
| The AGI Pipeline is a versatile and powerful tool for researchers, developers, | ||
| and AI enthusiasts, enabling the creation of advanced AI applications with | ||
| ease and efficiency. | ||
| 5. Scalable Deployment: | ||
| - Built with FastAPI for high-performance asynchronous request handling. | ||
| - Fully containerized with Docker for seamless deployment across cloud environments. | ||
|
|
||
| keywords: | ||
| - Artificial General Intelligence (AGI) | ||
| - Natural Language Processing (NLP) | ||
| - Computer Vision (CV) | ||
| - Multi-Modal Processing | ||
| - Reinforcement Learning (RL) | ||
| - Real-Time Video Processing | ||
| - Data Augmentation | ||
| - Speech Recognition | ||
| - Text-to-Speech | ||
| - Machine Learning (ML) | ||
| - Data Science | ||
| - AI Pipeline | ||
| - Deep Learning | ||
| - Model Integration | ||
| - Cloud Deployment | ||
| - Interactive Visualization | ||
| - Voice Processing | ||
| - AI Applications | ||
| - Docker | ||
| - Speech Processing | ||
| - Whisper | ||
| - YOLOv8 | ||
| - FLAN-T5 | ||
| - FastAPI | ||
| - Docker | ||
| - JWT | ||
| - EAIP | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| # Contributor Covenant Code of Conduct | ||
|
|
||
| ## Our Pledge | ||
|
|
||
| In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. | ||
|
|
||
| ## Our Standards | ||
|
|
||
| Examples of behavior that contributes to creating a positive environment include: | ||
|
|
||
| * Using welcoming and inclusive language | ||
| * Being respectful of differing viewpoints and experiences | ||
| * Gracefully accepting constructive criticism | ||
| * Focusing on what is best for the community | ||
| * Showing empathy towards other community members | ||
|
|
||
| Examples of unacceptable behavior by participants include: | ||
|
|
||
| * The use of sexualized language or imagery and unwelcome sexual attention or advances | ||
| * Trolling, insulting/derogatory comments, and personal or political attacks | ||
| * Public or private harassment | ||
| * Publishing others' private information, such as a physical or electronic address, without explicit permission | ||
| * Other conduct which could reasonably be considered inappropriate in a professional setting | ||
|
|
||
| ## Our Responsibilities | ||
|
|
||
| Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. | ||
|
|
||
| Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. | ||
|
|
||
| ## Scope | ||
|
|
||
| This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. | ||
|
|
||
| ## Enforcement | ||
|
|
||
| Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at your.email@example.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. | ||
|
Check notice on line 37 in CODE_OF_CONDUCT.md
|
||
|
OneFineStarstuff marked this conversation as resolved.
|
||
|
|
||
| Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. | ||
|
|
||
| ## Attribution | ||
|
|
||
| This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,59 @@ | ||
| # Contributing to AGI Pipeline | ||
|
|
||
| First off, thank you for considering contributing to the AGI Pipeline! It's people like you that make the open-source community such an amazing place to learn, inspire, and create. | ||
|
|
||
| ## Code of Conduct | ||
|
|
||
| By participating in this project, you are expected to uphold our [Code of Conduct](CODE_OF_CONDUCT.md). | ||
|
|
||
| ## How Can I Contribute? | ||
|
|
||
| ### Reporting Bugs | ||
|
|
||
| - **Check for existing issues**: Before opening a new issue, please search the issue tracker to see if the bug has already been reported. | ||
| - **Provide detail**: Include steps to reproduce the bug, expected behavior, and any relevant logs or screenshots. | ||
|
|
||
| ### Suggesting Enhancements | ||
|
|
||
| - **Open an issue**: Describe the enhancement you'd like to see and why it would be useful. | ||
| - **Discuss**: Participate in the discussion to refine the idea. | ||
|
|
||
| ### Pull Requests | ||
|
|
||
| 1. **Fork the repository** and create your branch from `main`. | ||
| 2. **Install dependencies**: `pip install -r requirements.txt`. | ||
| 3. **Follow the coding style**: | ||
| - We use **Pylint** and **Flake8** for linting. | ||
| - All modules, classes, and methods must have docstrings. | ||
| - Follow PEP 8 guidelines. | ||
| - Your code must achieve a 10.0/10 Pylint score. | ||
| 4. **Write tests**: Ensure your changes are covered by tests in the `tests/` directory or as separate `test_*.py` files. | ||
| 5. **Run tests**: Execute `pytest` to verify your changes. | ||
| 6. **Submit the PR**: Provide a clear and descriptive pull request message. | ||
|
|
||
| ## Development Environment | ||
|
|
||
| ### Prerequisites | ||
|
|
||
| - Python 3.10+ | ||
| - FFmpeg | ||
| - espeak-ng | ||
|
|
||
| ### Testing | ||
|
|
||
| Run the test suite using: | ||
| ```bash | ||
| pytest | ||
| ``` | ||
|
|
||
| ### Linting | ||
|
|
||
| Check your code quality with: | ||
| ```bash | ||
| pylint main.py | ||
| flake8 main.py | ||
| ``` | ||
|
|
||
| ## License | ||
|
|
||
| By contributing, you agree that your contributions will be licensed under its [MIT License](LICENSE). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,63 +1,99 @@ | ||
| # AGI Pipeline | ||
|
|
||
| [](https://doi.org/10.5281/zenodo.14504697) | ||
| [](https://opensource.org/licenses/MIT) | ||
|
|
||
| ## Overview | ||
|
|
||
| A comprehensive AGI pipeline integrating NLP, Computer Vision, and Speech Processing using pre-trained models. | ||
| The AGI Pipeline is an enterprise-grade multimodal AGI system integrating Natural Language Processing (NLP), Computer Vision (CV), and Speech Processing. It is built on FastAPI and adheres to the Enterprise AI Agent Interoperability Protocol (EAIP). | ||
|
|
||
| ## Features | ||
| - Text generation with T5 | ||
| - Object detection with YOLO | ||
| - Speech-to-text with Whisper | ||
| - Text-to-speech with Pyttsx3 | ||
|
|
||
| - **NLP**: Text generation and conditional responses using Google's FLAN-T5. | ||
| - **Computer Vision**: Real-time object detection using YOLOv8. | ||
| - **Speech-to-Text**: High-accuracy audio transcription using OpenAI's Whisper. | ||
| - **Text-to-Speech**: Offline speech synthesis using Pyttsx3. | ||
| - **Security**: Robust JWT-based authentication for all API endpoints. | ||
| - **EAIP Compliant**: Implements gRPC over HTTP/2 and SPIFFE/SPIRE for identity management. | ||
|
OneFineStarstuff marked this conversation as resolved.
|
||
|
|
||
| ## Installation | ||
|
|
||
| ### Prerequisites | ||
|
|
||
| - Python 3.10+ | ||
| - FFmpeg (for speech processing) | ||
| - espeak-ng (for text-to-speech on Linux) | ||
|
|
||
| ### Setup | ||
|
|
||
| 1. **Clone the repository**: | ||
| ```bash | ||
| git clone https://github.com/yourusername/agi-pipeline.git | ||
| ``` | ||
|
|
||
| 2. **Navigate to the project directory**: | ||
| ```bash | ||
| cd agi-pipeline | ||
| ``` | ||
|
|
||
| 3. **Create and activate a virtual environment**: | ||
| ```bash | ||
| python -m venv venv | ||
| source venv/bin/activate # On Windows use `venv\Scripts\activate` | ||
| ``` | ||
|
|
||
| 4. **Install dependencies**: | ||
| ```bash | ||
| pip install -r requirements.txt | ||
| ``` | ||
| ```bash | ||
| git clone https://github.com/OneFineStarstuff/AGI-Pipeline.git | ||
| cd AGI-Pipeline | ||
| ``` | ||
|
|
||
| 2. **Install dependencies**: | ||
| ```bash | ||
| pip install -r requirements.txt | ||
| ``` | ||
|
|
||
| 3. **Environment Variables**: | ||
| Set a secure secret key for JWT: | ||
| ```bash | ||
| export SECRET_KEY="your-very-secure-secret-key" | ||
| ``` | ||
|
|
||
| ## Usage | ||
|
|
||
| 1. **Run the FastAPI application**: | ||
| ```bash | ||
| uvicorn main:app --reload | ||
| ``` | ||
|
|
||
| 2. **Access the API** at `http://127.0.0.1:8000`. | ||
| ```bash | ||
| uvicorn main:app --reload | ||
| ``` | ||
|
|
||
| 2. **Access the API Documentation**: | ||
| Navigate to `http://localhost:8000/docs` for the interactive Swagger UI. | ||
|
|
||
| ### Using Docker | ||
|
|
||
| 1. **Build the image**: | ||
| ```bash | ||
| docker build -t agi-pipeline . | ||
| ``` | ||
|
|
||
| 2. **Run the container**: | ||
| ```bash | ||
| docker run -p 8000:8000 -e SECRET_KEY="your-secure-key" agi-pipeline | ||
| ``` | ||
|
|
||
| ## API Endpoints | ||
|
|
||
| - `POST /process-nlp/`: Generate text responses. | ||
| - `POST /process-cv-detection/`: Detect objects in an uploaded image. | ||
| - `POST /speech-to-text/`: Transcribe uploaded audio files. | ||
| - `POST /text-to-speech/`: Synthesize text into speech. | ||
|
|
||
| *Note: All endpoints require a valid JWT bearer token.* | ||
|
|
||
| ## Using Docker | ||
| ## Citation | ||
|
|
||
| 1. **Build the Docker image**: | ||
| ```bash | ||
| docker build -t agi-pipeline:1.0.1 . | ||
| ``` | ||
| If you use this software in your research, please cite it as follows: | ||
|
|
||
| 2. **Run the Docker container**: | ||
| ```bash | ||
| docker run -p 8000:8000 agi-pipeline:1.0.1 | ||
| ``` | ||
| ```bibtex | ||
| @software{Tun_AGI-Pipeline_2024, | ||
| author = {Tun, Kyaw T.}, | ||
| doi = {10.5281/zenodo.14504697}, | ||
| month = dec, | ||
| title = {{AGI-Pipeline}}, | ||
| url = {https://github.com/OneFineStarstuff/AGI-Pipeline}, | ||
| version = {1.0.1}, | ||
| year = {2024} | ||
| } | ||
| ``` | ||
|
|
||
| ## Contributing | ||
|
|
||
| Feel free to open issues or submit pull requests! | ||
| Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests. | ||
|
|
||
| ## License | ||
|
|
||
| This project is licensed under the MIT License - see the LICENSE file for details. | ||
| This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. | ||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.