Introduction

Introduction

What is AWMT?

AWMT is an abstraction layer for AI applications designed to bridge the gap between the natural language understanding capabilities of Large Language Models (LLMs) and their limitations in structured reasoning, especially when dealing with incomplete information. AWMT provides a simple and easy-to-use API that enables reasoning over LLMs by representing complex concepts in a structured manner.

Abstractions

Abstractions are the core concept in AWMT, allowing complex ideas and objects to be represented in a simple and structured way that the API can interact with. Once an abstraction is created, it can be used to generate new abstractions, be queried, and serve as a basis for the system's reasoning process.

Abstractions can be seen as a network of interconnected ideas that follow specific rules and constraints. For example, a car can be abstracted with properties like color, brand, and model. These properties can be further abstracted into more detailed attributes, such as brand name, brand company revenue, etc.

You can learn how to create and compose abstractions in the Composition section.

AWMT supports communication with the abstraction layer through both its API and natural language. When natural language is used, the system automatically converts it into an abstraction that fits its current knowledge base and then reasons over it.

Reasoning from Abstractions

When the system is asked to reason, it navigates through the structure, properties, and relationships of its abstractions to generate a relevant answer while displaying the structured skeleton of the reasoning process. The system only uses the information available in the abstraction and does not generate new information.

The reasoning processes implemented in AWMT are the following :

  • Deduction — This process involves drawing conclusions from general rules or premises. Given a set of abstractions and their relationships, AWMT can deduce new information or conclusions based on the existing knowledge.
  • Induction — Induction is the process of generalizing learnings from specific examples. AWMT can analyze multiple instances of an abstraction and identify common patterns or properties to create a more general rule or concept.
  • Extraction — This process involves adding new bits of information to an existing abstraction. AWMT can extract relevant information from various sources, such as user input or external data, and incorporate it into the appropriate existing abstractions.
  • Suggestion — AWMT can explore the possible values of a property based on the context provided by other abstractions and their relationships. This process helps in completing missing information or proposing relevant options to the user.
  • Supposition — The system can draw hypothetical conclusions based on hypothetical premises. This is equivalent to asking the API the question "What if?".
  • Slot filling — In cases where an abstraction has missing information, AWMT can analyze the context, and constraints of those properties and ask the user for what is missing and then fill in the gaps.
  • Forgetting — To optimize memory usage and maintain relevance, AWMT can remove abstractions or properties that are no longer relevant or useful. This process helps in managing the system's memory efficiently and focusing on the most important information.

Applications

The AWMT documentation provides concrete examples of how the abstraction layer can dramatically improve the reliability of common AI applications. These examples are detailed in the Applications section, showcasing the practical benefits of using AWMT in real-world scenarios.

By leveraging the power of abstractions and structured reasoning, AWMT enables developers to create more reliable and efficient AI applications that can better understand and process complex information.