mobiusml / aana_sdk

Aana SDK is a powerful framework for building AI enabled multimodal applications.
https://www.mobiuslabs.com/
Apache License 2.0
12 stars 1 forks source link

Refactoring SDK Architecture #93

Closed movchan74 closed 2 months ago

movchan74 commented 2 months ago

Summary: This Pull Request delivers significant changes to our project's backend architecture by transitioning away from the pipeline-centric towards a script-driven approach.

Key Changes:

  1. Python-Driven Endpoints: Replaced the pipeline workflow with direct endpoint coding in Python to improve ease of use, readability, and maintainability.

  2. Removal of Mobius Pipeline: The Mobius Pipeline has been completely removed because of the move from a pipeline-based approach.

  3. Version Update to 0.2: The version is bumped to 0.2, reflecting the latest enhancements and bug fixes.

  4. Projects instead of Targets: Targets within the system are now defined as 'projects' and are managed through specific scripts, replacing the older pipeline and endpoint configuration.

  5. Multi-app Ray Serve: Deployments are now handled as separate applications within Ray Serve, improving scalability and management of different deployment environments.

  6. AanaSDK class: Introduced the AanaSDK class to provide a standardized interface for deploying and managing Deployments and Endpoints.

  7. AanaDeploymentHandle: Added the AanaDeploymentHandle, a wrapper class for calling Deployments.

  8. Model Class Updates: Transitioned from BaseListModel and BaseStringModel to using Annotated. The BaseStringModel has been removed, while BaseListModel remains temporarily for handling ImageInputList and VideoInputList.

  9. Updated Testing Framework: Tests have been overhauled to accommodate the changes introduced in this update, ensuring all new functionalities are properly validated.

Issues: https://github.com/mobiusml/aana_sdk/issues/88