Service Integration Guidelines

This guide will help AI providers integrate services into the platform.

In this guide, you will find the guidelines to help you write and integrate new AI services to the platform.

Supported languages

SingularityNET services use gRPC, which is an open-source universal RPC framework. Any new service must provide its API in the gRPC standard.

gRPC supports several programming languages such as:

  • C++
  • Java
  • Python
  • Go
  • Ruby
  • C#
  • Node.js
  • Android Java
  • Objective-C
  • PHP
  • Haskell

A guide for each of them is available here.

We have created tutorials with step-by-step instructions for implementing a new service in a number of these languages:

If you already have a gRPC service, please check out this tutorial to learn how to publish a service.

Make sure you follow our naming standardization guidelines as well when naming your services.

AI frameworks

There are a couple of AI frameworks integrated to SingularityNET so you can just add new functionalities to services which are already published.

  • OpenCog: an open-source software project aimed at directly confronting the AGI challenge, using mathematical and biological inspiration and professional software engineering techniques. It currently ranks in the top 10 in Github for most popular AI projects!

There are tutorials with step-by-step instructions on how to extend the existing AI framework service in order to implement new functionalities:

Service documentation

All the following documentation is recommended for any service.

  • README describing the structure of the repository and how to build/test the service. This is a sort of “developer’s guide” aimed at people interested in extending or reusing the service.
  • docs/index.html pointed by standard Github Pages describing how to use the service. This is the “user’s guide” of your service.
  • LICENSE with an MIT license, the license of choice SingularityNET usually uses as well.

If you are extending an existing service. Follow any particular guidelines of the specific project and make sure you update all the aforementioned documents accordingly.

See this example of service documentation which is fully compliant with these guidelines.

Contributing to existing projects

SingularityNET has several AI service integration projects. See our github for a list of them. Before contributing to any of these, please read our contribution guidelines.