GeneXusAI Overview

Official Content
This documentation is valid for:

GeneXus ArtificiaI Intelligence aims to simplify the integration of the most common capabilities of Artificial Intelligence (AI) in GeneXus.

Content

What do I (as a developer) have to do to include these tasks?

You have to install GeneXusAI module from the Manage Module References dialog on the Knowledge Manager option (located in the toolbar of GeneXus IDE). Once you installed it, you must configure your desired provider and set the appropriate properties for each task (credentials, deployment information, optional parameters, etc).

Which providers are supported?

Supported providers are:

For detailed information, refer to Release Notes (backlog).

Which AI tasks are available?

GeneXusAI is structured as follows. Each submodule has specific procedures, domains and structured data types that allow you to integrate your desired task.

GeneXusAI
├── Configuration
├── Audio
│   ├── SpeechToText
│   └── TextToSpeech
├── Image
│   ├── Classify    ├── DetectFaces   ├── DetectObjects
│   ├── DetectScene   └── OCR
├── Text
│   ├── DetectLanguage
│   ├── ExtractEntitites
│   ├── KeyPhrases
│   ├── SentimentAnalysis
│   └── Translate
└── Video
    ├── Analyze
    └── Process

The availability of a service depends on the Cloud Provider (summarized in the following table), as well as its accuracy and performance. Some empirical tests for these last two features are described on the documentation for each task.

Amazon WS Baidu AI Google Cloud AI IBM Watson MS Cognitive Services SAP Leonardo Tencent AI
Audio SpeechToText
TextToSpeech
Image Classify
DetectFaces
DetectObjects
DetectScene
OCR
Text DetectLanguage
ExtractEntitites
KeyPhrases
SentimentAnalysis
Translate
Video Analyze
Process

What if I want to use another service that is not provided?

GeneXusAI offers the most common set of services available on most of the providers. Specific services, for a specific provider, can be consumed by using the OpenAPI import tool when the provider exposes a Swagger descriptor (in YAML or JSON).

What do I have to do to set a specific provider?

You must call a procedure (the AI task) with the &provider parameter fully set.

For example, if you want to use DetectFaces procedure with Microsoft Azure Cognitive Services, you should write something like this:

&provider = new() 

&provider.Name = "Microsoft - Face recognition service"
&provider.Type = ProviderType.Microsoft

&providerProperty = new()
&providerProperty.key   = PropertyKey.Key
&providerProperty.Value = !"{your_microsoft_visual_recognition_key}"
&provider.Properties.Add(&providerProperty)

&regions = GeneXusAI.Image.DetectFaces(&image, &provider, &messages)
where:
&provider : Provider, GeneXusAI.Configuration
&providerProperty : Provider.Property, GeneXusAI.Configuration


You can reuse the &provider definition for multiple services when they share the credentials. If you add duplicate properties, GeneXusAI will always consider the last one added.

Note: Each procedure (or AI task) of GeneXusAI will have specific requirements, especially in terms of service authentication credentials (read HowTo: Get credentials from a cloud provider for GeneXusAI). Detailed information can be found on the procedure's documentation you want to use.

Scope

Platforms Web(.NET,.NETCore,Java), SmartDevices(Android,iOS)

Availability

GeneXus Artificial Intelligence is available as of GeneXus 16.

Was this page helpful?
What Is This?
Your feedback about this content is important. Let us know what you think.