Skip to main content

What is AveniECA?

AveniECA is an Event-driven Cognitive Architecture system that enables intelligent state management and prediction through episodic memory and sequence learning. The AveniECA Python SDK provides a complete interface for interacting with AveniECA instances, combining real-time Kafka streaming with a comprehensive REST API.

Key Capabilities

The SDK offers two primary modes of interaction:

Kafka Streaming

Stream state changes to your digital twins in real-time through Kafka topics:
  • Continuous streaming with configurable sync rates
  • Event-based publishing for discrete state changes
  • Consumer support for processing incoming messages from twins
  • Signal utilities for state conversion and validation

REST API

Full programmatic access to AveniECA’s cognitive capabilities:
  • ESS (Episodic State Storage) - Create, retrieve, search, and manage episodic memories
  • Sequences - Track temporal sequences of states and events
  • Cortex predictions - Get next-state predictions based on learned patterns
  • Document management - Store and embed documents for retrieval
  • Embeddings - Manage semantic embeddings for state inputs
  • Retrieval - Query stored knowledge using natural language

Who Should Use This SDK?

The AveniECA Python SDK is designed for:

IoT Developers

Build intelligent systems that learn from sensor data and predict future states

Robotics Engineers

Create adaptive robots that learn behavioral patterns and optimize actions

Data Scientists

Develop predictive models based on episodic memory and temporal sequences

AI Researchers

Experiment with cognitive architectures and event-driven learning systems

Core Concepts

The fundamental data structure in AveniECA. A Signal represents a state vector with associated metadata:
  • state: List of floats representing the current state
  • valence: Emotional/evaluative value (-100 to +100)
  • score: Importance or confidence score
  • emb_inp: Optional embedding input reference
Virtual representations of physical or logical entities that receive state updates through Kafka topics. Each twin has a module_id and subscribes to specific topics.
The memory system that stores state episodes with their context. ESS entries can be:
  • Individual state snapshots
  • Aggregated states combining multiple modules
  • Semantically searchable through embeddings
Temporal chains of states tracked by instance ID. Sequences enable pattern learning and next-state prediction based on historical patterns.

Architecture

The SDK is organized into clear modules:
avenieca/
├── producers/        # Stream and Event publishers
├── consumer.py       # Kafka message consumer
├── api/             # REST API client and models
├── config/          # Configuration classes
├── utils/           # Signal processing and hashing utilities
└── data.py          # Core data structures

Next Steps

Installation

Install the SDK and configure your environment

Quickstart

Get up and running with streaming and API examples

Build docs developers (and LLMs) love