Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The C3 AI Suite provides researchers many tools to analyze data and build and deploy machine learning models. This guide explains how to connect to a C3.ai clusterthe C3 AI Suite, access data using C3.ai methods, and convert C3.ai method outputs to an easy-to-analyze form. Additionally, the guide also provides more detailed instructions to DTI members using the Covid-19 DataLake. Examples in this guide work using the base Datalake rely on the baseCovidDataLake package available in the this git repository: https://github.com/c3aidti/dtiTraining

Please note, this guide covers how to run read-only queries on query data from the C3 AI Suite. For more advanced topics, such as loading data, building metrics, or configuring and training machine learning models, please refer to the following wikis:

...

To best understand the C3 AI Suite and this guide, welet're going to s introduce some key terminology used throughout the suite.by C3 AI Suite Developers:

  • Type: Everything within Nearly all aspects of the C3 AI Suite is (e.g., data, machine learning models, cloud-provider microservices) are stored and accessed through C3.ai Types. These C3.ai Types are logical objects akin to a Java class which , and contain 'fields' and 'methods'. Some C3.ai Types are persisted to internal databases , and (like Postgres or Cassandra), while others are not. Nearly every aspect of the C3 AI Suite is accessed through Types. 
  • Field: A field of a C3.ai Type. This contains Fields contain attributes or data associated with the C3.ai Type.
  • Method: A method defined declared on a C3.ai Type. Methods define business logic associated with the C3.ai Type. 
  • Vanity Url: The URL at which a specific tenant/tag of a C3.ai Cluster can be accessed. The C3 Cluster itself has a URL as well, however most interaction with the C3 AI Suite is done through the vanity url. 
  • Cluster: A deployment of the C3 AI Suite. This can exist in the cloud or in a containerA C3.ai cluster is a collection of hardware or virtualized cloud instances (e.g., servers, databases, load balancers) used to run the C3 AI Suite and C3.ai Applications. The C3 AI Suite is capable of running on top of numerous tehnologies such as different cloud providers, or virtualization strategiescan run on any public or private cloud infrastructure or on a local machine (in a docker container).
  • Tenant: A logical partition of a C3 Cluster. While internally, some data between Tenants may be stored on the same database, this access is not extended to Users of the C3 AI Suite. Users .ai Cluster. All tenants in a C3.ai generally share the same compute & storage resources. Data within tenants, while stored in a single database, are logically separated. C3 AI Suite users on one tenant can't see data stored on another Tenanttenant. In other words, users are only able to view data for tenants, to which they are explicitly granted access.
  • Tag: A slot on which a C3 package is run. Tags sit within a Tenant.logical partition of a tenant. A single tag hosts one C3.ai application (or deployed package). 
  • Package: All the code a C3.ai developer writes for an application. The Package: The code which the C3 AI Suite runs a package on a Tag. This is what the developer edits.tag. 
  • Provisioning: The loading Deploying a Package onto a C3 Tenant/Tag.package onto a tenant/tag in a C3.ai Cluster. 
  • Static Console: A browser-based tool that C3.ai developers use to interact with the C3 AI Suite. Static console is available on all modern browsers, including Google Chrome, Mozilla Firefox, and Apple Safari. C3.ai developers use the console to query data, evaluate expressions, view documentation, monitor environments, develop and test code, and manage environment configurations/ Static Console: The main method C3 developers use to interact with their C3 Tag. You can access the static console at the url 'https://<vanity_url>/static/console' (Replace <vanity_url> with your vanity url.)
  • Metric: A data analysis object which turns timeseries-like Expressions that transform raw data into a timeseriestime-series. 

C3

...

AI Suite Overview

The C3 AI Suite is a Platform as a Service (PaaS) system which can exist on top of a number of virtualization technologies and platforms. Generally, A C3 Cluster consists of one or more master nodes which orchestrate jobs which need to be completed, worker nodes that carry out scheduled tasks, and finally some nodes dedicated to technologies on which the platform is based such as postgres and cassandra. On top of this physical computational structure sits a logical software structure which is starts at the top level of Cluster, then Tenant, then Tag. Each cluster contains Tenants which are logically separated from each other (e.g., Packages run on separate Tenants cannot view data from eachother), and each Tenant contains Tags. Tags house C3 Packages which are the actual code that C3 developers provision to the platform. A typical Multi-user Multi-tenant C3 Cluster is shown in a logical diagram below:

...

Connecting to

...

the C3 AI Suite 

The static console is the main location from which C3 developers typically configure and interact with the C3 AI Suite. We anticipate however, that most DTI researchers will use Python for data analysis. That said, the static console is an essential component of working with the C3 AI Suite, and you will use it frequently. For example, the static console is the best place to find documentation tailored directly to your C3 Package. Its also a great place to quickly test some queries since no specialized environments need to be set up to use it. It's ready to go in your browser.

...

Fetching Instances of C3.ai Types

All data in the C3 AI Suite are stored in C3.ai Types. Users can access data from a C3.ai Type with the 'fetch' method. Behind the scenes, the 'fetch' method submits a query directly to the database underlying a C3.ai Type, and retrieves and presents the query results to C3 AI Suite users.

The C3 AI Suite returns the 'fetch' query's response, which includes (1) data from the C3.ai Type itself; (2) Metadata for the 'fetch' query (e.g., the number of objects, whether additional data exists in the database) into the FetchResult type, for data analysis (see example below).

...

Finding, Evaluating, and Visualizing Metrics

Users can find, evaluate & visualize metrics built in the C3 AI Suite, via the JavaScript console or a hosted Jupyter notebook.

...