AIforEarth-API-Development/APIDeliverables.md

4.8 KiB

AI for Earth - API Deliverables

Select AI for Earth grant recipients are contributing AI for Earth APIs. If you are providing an API, here are the specific deliverables to submit:

The container should be uploaded to a container registry (more details below). The Jupyter notebook, documentation, and website assets should be submitted via pull request to a private git repo at https://aiforearth.visualstudio.com/_git/AIforEarth-API-Push.

Prior to submitting your work, you will need to contact us to provide the email address of the individual who will own uploading to the git repository above and to the container registry. This is in order to grant appropriate permissions. Please email aiforearthcommunity@microsoft.com with the subject line = "API push request" and the body of your email containing the email address of the person who will be responsible for submission.

If you have questions, please contact aiforearthcommunity@microsoft.com.

Container with machine learning model

The actual delivery of your API can be done via a Docker container.

  • Please follow the directions here to create the Docker container.
    • In step 8, when you build your Docker image, please tag it using the tag: “ai4egrantee.azurecr.io/<grantee_moniker>/<image_version>-<api_name>:<build_number>”
    • Replace step 10-11 with publishing to our AI for Earth container registry. Use the following commands:
    docker login --username <username> --password <password> ai4egrantee.azurecr.io
    docker push ai4egrantee.azurecr.io/<grantee_moniker>/<image_version>-<api_name>:<build_number>
    
  • Please send an email to aiforearthcommunity@microsoft.com with the subject line = "API push request" and the body of your email containing the email address of the person who will push the container (so we can grant that email address the appropriate permissions to push to our container registry).
  • In terms of testing, please ensure that your code meets the defined acceptance criteria.

Alternate option: People can either provide a container that meets the acceptance criteria, or they can relax/lower the bar on acceptance criteria and provide their source code with a semi-functional container.

Jupyter Notebook

We are compiling a suite of demos, to showcase the work of our AI for Earth grant recipients. These demos are intended for an audience of developers and data scientists, so they can see how to call your API and the type of results that your machine learning model returns. Please include sample data for calling your API that can be publicly shown.

  • Please follow the directions here to create a Jupyter notebook that can be used to demonstrate your amazing work.
  • We have also provided a template notebook that you can start from.

Documentation

Of course, every good API needs documentation to show its usage. Please include any assumptions that your code makes (for example, all input images must be square tiles) and an example of how to call the API.

Additional resources that may be useful

Assets for website

These assets could potentially be used on the AI for Earth website to highlight your API. For an example, see https://aka.ms/AI4EAPI.

Please provide the following:

  • Image (high-resolution; we will crop to the right size)
  • Three-line summary of API (300 characters maximum)
  • Link (to follow on the “Learn about X”)