EasiScriptX a high level programming language designed and devloped in C++ specifically for Artifical Intelligence (AI), Machine Learning (ML), Deep Learning and Large Language Models (LLMs). It supports both Object-Oriented and Functional Programming paradigms, making it adaptable and easy to use. While being powerful and flexible, ESX remains user-friendly for developers at all levels. Also, it is one of the First dedicated programming language for artifical Intelligence
- AI and ML: Over 100 built-in commands/functions specifically tailored for building AI and ML projects, LLM training, and Deep Learning models.
- IoT Integration (available shortly after ESX inital release): Special functions to work with IoT devices like Raspberry Pi and Arduino, making it a great choice for AI-IoT projects (e.g., creating smart assistants, autonomous robotics).
- Complete Backward Compatibility: ESX inherits all 150 commands from EasiScript.
- Planned Extensions: Audio output features are in the roadmap for future updates.
- Advanced Networking: Commands to handle distributed computing and data across networks.
Feature/Capability | Python | Other Languages | EasiScriptX (ESX) |
---|---|---|---|
General Purpose Programming | ✔ | ✔ | ✔ |
Object-Oriented Programming | ✔ | ✔ | ✔ |
Functional Programming | ✔ | ✔ | ✔ |
Memory Management (Garbage Collection) | ✔ | ✔ (varies) | ✔ |
Support for AI/ML Libraries | ✔ | ✔ (varies) | ✔ |
Ease of Use | ✔ | ✔ (varies) | ✔ |
Dynamic Typing | ✔ | ✔ (varies) | ✔ |
Extensive Standard Library | ✔ | ✔ (varies) | ✔ |
Integration with Python Libraries | ✔ | ✔ (varies) | ✔ |
Built-in Support for Networking | ✔ | ✔ (varies) | ✔ |
Support for IoT Devices (e.g., Raspberry Pi, Arduino) | ✔ | ✔ (varies) | ✔ |
Advanced AI/ML and LLM Support | Limited | Varies | ✔ |
Audio Output Capabilities | ✔ | ✔ (varies) | Planned |
Ease of Creating Custom Commands | ✔ | ✔ (varies) | ✔ |
User-Friendly Syntax | ✔ | ✔ (varies) | ✔ |
Web-Based Integration | ✔ | ✔ (varies) | Planned |
Creating with just basic knowledge in programming and AI | Maybe? | Maybe? | ✔ |
Dedicated for AI | No | No Info, depends | ✔ |
Specialties of EasiScriptX (ESX):
- Advanced AI/ML and LLM Support: ESX is designed with a focus on AI, ML, and LLMs, providing specialized commands and functions for these tasks.
- Integrated Python Library Support: ESX allows integration with Python libraries, combining ease of use with advanced capabilities.
- IoT Device Integration: ESX includes features for working with IoT devices like Raspberry Pi and Arduino, making it suitable for IoT projects.
- Dynamic and User-Friendly: ESX combines object-oriented and functional programming features in a user-friendly manner, making it accessible and versatile.
This table highlights the core capabilities and unique features of each language/platform.
You could build a smart home system using Raspberry Pi, where you train an AI model to recognize objects using a camera module and control IoT devices like lights or locks based on real-time AI inferences.
ESX has all 150 commands from EasiScript, along with additional commands specific to AI, ML, LLMs, and IoT. Below is the current list of commands with brief descriptions.
- TRAIN_MODEL: Trains a machine learning model using a specified dataset.
TRAIN_MODEL dataset.csv model.h5
'''
EVAL_MODEL model.h5 val_data.csv
LOAD_MODEL model.h5
PREDICT model.h5 input_data.csv
TUNE_MODEL model.h5 new_data.csv
CREATE_LAYER type=Dense units=128 activation=relu
ADD_LAYER model.h5 layer=Conv2D filters=32 kernel_size=3x3
SAVE_MODEL model.h5
- LOAD_DATA: Loads a dataset from a file for processing.
LOAD_DATA dataset.csv
- NORMALIZE_DATA : Normalizes the input data.
NORMALIZE_DATA dataset.csv
- SPLIT_DATA: Splits the dataset into training and testing sets.
SPLIT_DATA dataset.csv test_size=0.2
- ** TRANSFORM_DATA**: Transforms data using specified functions.
TRANSFORM_DATA dataset.csv function=log
- CONNECT_IOT_DEVICE: Connects to an IoT device (e.g., Raspberry Pi, Arduino).
CONNECT_IOT_DEVICE device_id="RaspberryPi4"
- SEND_IOT_COMMAND: Sends a command to an IoT device.
SEND_IOT_COMMAND device_id="ArduinoUno" command="LED_ON"
- RECEIVE_IOT_DATA: Receives data from a connected IoT device.
RECEIVE_IOT_DATA device_id="RaspberryPi4"
- CONNECT_TO_NETWORK: Connects to a network for distributed computing.
CONNECT_TO_NETWORK network_id="AI_Cluster"
- SEND_DATA: Sends data to another machine or device on the network.
SEND_DATA network_id="AI_Cluster" data="sensor_readings.csv"
- RECEIVE_DATA: Receives data from another machine or device.
RECEIVE_DATA network_id="AI_Cluster"
- CREATE_LLM: Creates a new Large Language Model architecture.
CREATE_LLM type=Transformer layers=12 hidden
- TRAIN_LLM : Trains a new Large Language Model with a dataset.
TRAIN_LLM llm_model.h5 dataset.txt epochs=10
- GENERATE_TEXT: Generates text from a pre-trained LLM.
GENERATE_TEXT llm_model.h5 prompt="Hello, world!"
- FINE_TUNE_LLM: Fine-tunes a pre-trained LLM with new text data.
FINE_TUNE_LLM llm_model.h5 new_data.txt
-
Data Visualization Commands
-
PLOT_DATA: Plots the dataset as a graph for visualization.
PLOT_DATA dataset.csv x=feature1 y=feature2
- SHOW_GRAPH: Displays the current model's accuracy/loss graph.
SHOW_GRAPH model.h5
- SAVE_LOG: Saves the session log to a file.
SAVE_LOG file_name="session_log.txt"
- LOAD_CONFIG: Loads a configuration file for the session.
LOAD_CONFIG config_file="config.json"
- DEBUG: Enables or disables debug mode for detailed logs.
DEBUG mode=on
-
Audio Output Support: Planned for future releases.
-
Enhanced IoT Commands: Additional commands for robotics and automation projects.
-
- Clone the repository (in command prompt):
git clone https://github.com/PulsewaveSoftware/EasiScriptX.git
-
- Explore the examples/ folder for project examples.
-
- Start coding in ESX to build powerful AI and ML models, and integrate them with IoT devices.