Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 26 additions & 65 deletions CITATION.cff
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.
Comment thread
OneFineStarstuff marked this conversation as resolved.

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
43 changes: 43 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Contributor Covenant Code of Conduct

Check notice on line 1 in CODE_OF_CONDUCT.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L1

Expected: [None]; Actual: # 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.

Check notice on line 5 in CODE_OF_CONDUCT.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L5

Expected: 80; Actual: 397

## 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

Check notice on line 22 in CODE_OF_CONDUCT.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L22

Expected: 80; Actual: 111
* Other conduct which could reasonably be considered inappropriate in a professional setting

Check notice on line 23 in CODE_OF_CONDUCT.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L23

Expected: 80; Actual: 92

## 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.

Check notice on line 27 in CODE_OF_CONDUCT.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L27

Expected: 80; Actual: 206

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.

Check notice on line 29 in CODE_OF_CONDUCT.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L29

Expected: 80; Actual: 334

## 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.

Check notice on line 33 in CODE_OF_CONDUCT.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L33

Expected: 80; Actual: 446

## 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

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L37

Bare URL used

Check notice on line 37 in CODE_OF_CONDUCT.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L37

Expected: 80; Actual: 460
Comment thread
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.

Check notice on line 39 in CODE_OF_CONDUCT.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L39

Expected: 80; Actual: 188

## 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)

Check notice on line 43 in CODE_OF_CONDUCT.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CODE_OF_CONDUCT.md#L43

Expected: 80; Actual: 271
59 changes: 59 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Contributing to AGI Pipeline

Check notice on line 1 in CONTRIBUTING.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CONTRIBUTING.md#L1

Expected: [None]; Actual: # 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.

Check notice on line 3 in CONTRIBUTING.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CONTRIBUTING.md#L3

Expected: 80; Actual: 180

## 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.

Check notice on line 13 in CONTRIBUTING.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CONTRIBUTING.md#L13

Expected: 80; Actual: 137
- **Provide detail**: Include steps to reproduce the bug, expected behavior, and any relevant logs or screenshots.

Check notice on line 14 in CONTRIBUTING.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CONTRIBUTING.md#L14

Expected: 80; Actual: 114

### Suggesting Enhancements

- **Open an issue**: Describe the enhancement you'd like to see and why it would be useful.

Check notice on line 18 in CONTRIBUTING.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CONTRIBUTING.md#L18

Expected: 80; Actual: 91
- **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.

Check notice on line 30 in CONTRIBUTING.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CONTRIBUTING.md#L30

Expected: 80; Actual: 120
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

Check notice on line 45 in CONTRIBUTING.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CONTRIBUTING.md#L45

Fenced code blocks should be surrounded by blank lines
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).

Check notice on line 59 in CONTRIBUTING.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

CONTRIBUTING.md#L59

Expected: 80; Actual: 101
116 changes: 76 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,63 +1,99 @@
# AGI Pipeline

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14504697.svg)](https://doi.org/10.5281/zenodo.14504697)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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).

Check notice on line 8 in README.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

README.md#L8

Expected: 80; Actual: 249

## 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.
Comment thread
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.

Check notice on line 95 in README.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

README.md#L95

Expected: 80; Actual: 127

## 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.

Check notice on line 99 in README.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

README.md#L99

Expected: 80; Actual: 93
Binary file modified __pycache__/main.cpython-312.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified __pycache__/test_main.cpython-312-pytest-9.0.3.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Loading