Rethink AI product development part 1: Jaseci & Jac Language

Tharuka KasthuriArachchi
5 min readNov 4, 2022
Image source : Unknown

Every large-scale application i.e. games, chatbots, recommendation systems, and digital services is built upon thousands of lines of code written in one of the most popular programming languages such as Java, Python, etc. Although existing languages are powerful enough to build these applications the complexity of the languages is so high.

When it comes to Artificial Intelligence products development the issue is that AI is incredibly complicated. The commercial prevalence of AI is so recent that the current languages aren’t appropriate for the particular difficulties AI presents.

So to make AI simple in the commercial world, Professor Jason Mars; A computer scientist in America has introduced a new concept along with a new tool kit called Jaseci;

The current computational model and programming paradigm is ill-suited for the emerging set of problems in the AI sphere. A new computational model and programming language are desperately needed. The way we articulate solutions to problems in computer science has not fundamentally changed in decades and we’re hitting a new ceiling with the unique complexities that come with building sophisticated AI solutions.

That’s why I created Jaseci, a computational model and engine for what I call ‘collective intelligence’, and the Jac programming language to articulate code within this model — so I could strike a balance between the high discovery and nimbleness of AI experimentation in academia and the real-world practicality of the production landscape and scope of sophistication of complex solutions.

— Prof Jason Mars

What is Jaseci?

Jaseci is a newly developed, created, and applied computational model. To facilitate the quick creation of complex and nimble AI systems, Jaseci contains a novel programming paradigm called as data-spacial programming and a runtime engine called diffuse execution environment.

Jaseci is made up of an ecosystem of tools spread across three packages and is available on Github under the MIT open source license since 2021.

  • Jaseci Core — Jaseci’s core exucution engine.
  • Jaseci Serv — Jaseci’s diffuse runtime cloud-scale execution engine.
  • Jaseci AI Kit — A collection cutting edge AI engines provided by the Jaseci community.

A trial toolkit called Jaseci Studio is being created in addition to these essential parts to give developers using Jaseci visual programming and debugging tools.

How Jaseci Works?

A module in Jaseci acts as the main interface to the Jaseci machine. This interface is represented as a collection of method functions within the master Python class of Jaseci. The server-side REST API was created using Django, and the “client” expressions of that interface take the form of the command line program jsctl.

Jaseci Interface Architecture (Image source: Jaseci Bible)

Above image illustrates this architecture representing the relationship between core APIs and client side expressions.

Abstractions of Jaseci

Jaseci uses its own set of abstractions and concepts to frame problems and carry out fixes

  • Graphs

The graph is the only data structure used here. Jaseci believes that every computational problem can be mapped into a graph structure and can be solved by traversing and executing nodes in the graph.

  • Walkers

A walker is an execution unit that moves(traverses) through a graph while preserving its state (its local scope). There have never been any programming languages with semantics like this one. You can imagine a walker as a little, self-contained robot that can maintain context while it moves spatially around a graph, interacting with the context of its nodes and edges.

  • Abilities

Nodes and edges in the graph also the walkers can have abilities. Although they don’t have the same semantics as a typical function, Abilities are most nearly comparable to methods in traditional object-oriented programming. You can imagine abilities as independent in-memory/in-data computing activities when employing them.

  • Actions

Actions serve as function calls with returns and enable bindings to the functionality described outside of Jac/Jaseci. These are comparable to library calls in conventional programming languages. In reality, this external functionality takes the form of a Jaseci action library’s direct connection to Python implementations

The Jac Language

Jac is the computer programming language that put Jaseci into action. Jac has its own set of keywords and unique syntax. I won’t go deeper into the Jac programming language here. However, I hope to bring several pieces with Jac in the upcoming days.

What can we build with Jaseci?

Jaseci offers built-in AI models that we can load, retrain, and fine-tune to perform the AI tasks you want. You can create a huge variety of AI products using Jaseci, including but not limited to;

  • Chatbots
  • Digital Assistants
  • Predictive & Big Data Analytics Systems
  • Scalable Microservice-based APIs
  • Search & Recommendation Systems
  • Facial Detection & Recognition Systems

My experience with Jaseci

I began studying and using Jaseci in September 2022. Due to the fact that this departs from conventional computer programming notions, it was initially a bit confusing. But as I learned more and dug deeper, I became more and more amazed by the magic it can do. Despite the fact that Jaseci and Jac’s documentation is still in need of completion, it is expanding rapidly. The Github repository contains instructional materials and codelabs that are being produced by the developers of the Jaseci.

Is it worth learning?

Yes, of course. Learning something new is never wasted time. Consequently, if you’re interested, you can start reading the Jaseci Bible and then jump right into the Jaseci programming. It should be mentioned that, Jasecis’ initial architecture has been utilized in real world application to save development time by ten times and eliminate nearly all of the customary backend code required for challenging AI-based applications. Four unique commercial products based on the Jaseci engine are currently in production: Myca, HomeLendingPal , ZeroShotBot , and TrueSelph . So in my opinion learning Jaseci will never be a waste and you can become a Jaseci Pro when the software eventually gains popularity among AI enthusiasts.

If you have any queries please feel to reach out. Please leave a comment if you think something is missing.

Resources:

Jaseci Bible — https://github.com/Jaseci-Labs/jaseci_bible

Git hub Repo — https://github.com/Jaseci-Labs/jaseci

Official Documentation— https://www.jaseci.org

--

--