Elara AI Documentation
website·Indexed 30 days ago
https://elaraai.github.io/Developer documentation for Elara AI, featuring modules for building declarative pipelines, Automated Machine Learning (ML) models, Large Language Model (LLM) agents, and UI layouts using Vega-Lite specifications. Includes API references for PipelineBuilder, LLMBuilder, MLModelBuilder, and various layout finalizers for creating data-driven solutions.
What's inside Elara AI
- Elara is a business insights platform that enables developers to create code-based prescriptive solutions. These solutions ingest data and apply Machine Learning, Modelling and Simulation, and Mathematical Optimization to generate business insights. Business users and external systems interact with these solutions via a Web UI or API to implement decision-making improvements.
Overview of GenericWriteableSourceBuilder
TheGenericWriteableSourceBuilderis a helper class used to build aSourcethat populates a dataStream. Data sources can range from simple clocks to complex database queries or API requests. It allows for the creation of a correspondingTemplatevia the.toTemplate()method.Overview of Elara Custom Tasks
Custom tasks allow you to execute external computer programs (written in languages like C++, Python, Java, or software like Simulink and Anylogic) securely on the Elara platform. They are designed for 'pure, functional' programs—such as data pipelines and simulations—where the same inputs generally produce identical outputs. Custom tasks are hosted in a sandboxed, containerized Linux environment and do not have internet access. They are not intended for stateful or interactive programs like webservers.Overview of the Elara Platform value proposition
The Elara Platform allows developers to build digital solutions that transform continuous operational data (such as ordering and sales feeds) into prescriptive business decisions. The platform is designed to help businesses maximize profit by identifying optimal actions—such as selecting the best supplier or determining the ideal customer discount—and predicting future profit outcomes based on those decisions. For developers, the platform enables the rapid creation of reusable software solutions that deliver measurable business value across different clients or industries.Overview of Elara platform capabilities
The Elara platform enables developers to build digital solutions that transform raw business data (such as ordering, sales, and rostering systems) into prescriptive guidance. It is designed to help businesses maximize profit by optimizing key operational decisions and providing predictive insights into future financial performance. Key capabilities include:
- Prescriptive Decision Making: Determining optimal actions (e.g., which supplier to use, what discount to offer, or how to roster staff).
- Profit Forecasting: Predicting future profit and analyzing how different decisions will impact that outcome.
- Reusable Solution Patterns: Allowing developers to create software solutions that can be easily re-applied across different businesses with similar decision-making needs.
Overview of Layout.FormFinalizer
TheLayout.FormFinalizerclass is used to define a UI Form from aStreamwithin aLayoutBuilder. A form is editable if it is defined from a writable stream, such as one produced by aSourceBuilder.Introduction to East expression language
East is a simple programming language used by Elara to describe calculations that should be performed on the platform at run time. Unlike standard JavaScript code in an EDK project (which executes locally), East expressions are instructions sent to Elara for execution. They are commonly used in pipeline operations, such as within the.transformmethod of aPipelineBuilder.Overview of East expressions in the EDK
East is a programming language embedded directly within TypeScript, used to add logic to Elara solutions. Instead of a separate syntax or source files, East expressions are constructed using fluent interfaces and functions exported by the Elara Development Kit (EDK). These expressions are compiled into an Abstract Syntax Tree (AST) and sent to the Elara platform as part of a solution template for execution.
Key characteristics include:
- No separate syntax: Expressions are written as TypeScript function calls (e.g.,
Add(1, 2)). - Type Safety: TypeScript checks East types and provides live feedback in VS Code.
- Structure: Expressions are trees of instructions where leaves are evaluated first, moving up to the root.
- No separate syntax: Expressions are written as TypeScript function calls (e.g.,
Overview of the Elara Development Kit (EDK)
Developers use the Elara platform by installing the Elara Development Kit (EDK), which consists of the Command-Line Interface (EDK CLI) and the EDK Core libraries. Together, these tools provide the necessary functionality to manage the entire life-cycle of Prescriptive Solutions, including defining, deploying, and reusing them.Overview of compound data types in East
East provides two primary compound data types to construct complex structured data: Structs and Variants.
- Structs (Product Types): Used to create objects composed of multiple named fields of specific types. A struct represents a logical 'AND' relationship (e.g., an object that has data A AND data B).
- Variants (Sum Types): Used when an object can be one of several different 'kinds' of things, organized into named cases. A variant represents a logical 'OR' relationship (e.g., an object that is either type A OR type B).
Overview of Elara Custom Scenarios
Custom scenarios are an extension of custom tasks that integrate Elara's native scenario modeling and optimization. They allow developers to wrap a core simulation routine (provided as a custom task) with automated workflows for running multiple trajectories, optimizing inputs based on numerical objectives, and scaling execution via distributed mode.Overview of the East expression language
East is a total functional programming language designed for the Elara platform. It allows developers to define complex logic that can be transmitted as JSON, compiled to native code for high performance, and executed safely without side-effects or infinite loops. It is specifically designed to integrate with the TypeScript-based Elara Development Kit (EDK).