OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Infrastructure & Serving

Aici

AICI is a framework for building WebAssembly controllers that direct large language model output in real time. Controllers can constrain decoding, dynamically edit prompts or generated text, and coordinate parallel generations while maintaining state during a request.

Independent OpenViST project profile, based on linked sources.

Aici — OpenViST project profile in AI Infrastructure & Serving.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use AICI when developing controller strategies that need to influence generation in real time, particularly when the work combines output constraints, dynamic edits or parallel-generation logic.

Who it is for

  • Developers experimenting with custom rules for LLM generation.
  • Teams building inference systems that need controller logic integrated with model decoding.
  • Developers exploring parallel generation coordination or dynamic prompt and text editing.

Documented uses

  • Constrain generated output during token-by-token decoding.
  • Modify prompts or generated text dynamically during a request.
  • Coordinate execution across multiple parallel generations.
Before you choose

Requirements & limits

The project repository specifies an MIT license.

  • Controllers are WebAssembly modules running on the same machine as the inference engine.
  • The README lists integrations with llama.cpp, HuggingFace Transformers and rLLM; vLLM is described as in progress.
  • Controllers can be written in languages that compile to Wasm, including Rust, C and C++, or interpreted within Wasm, including Python and JavaScript.
  • The quickstart describes AICI as a prototype.
  • For constrained decoding alone, the README recommends LLGuidance.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Prepare the AICI development environment

Set up the documented tools needed to compile AICI components and create the Python controller used in its quickstart.

Before you start

  • Rust, Rustup and Cargo
  • The wasm32-wasi Rust target
  • Python 3.11 or later
  • Git, CMake and ccache, plus the other build packages listed for the chosen environment

Steps

  1. Use Linux, macOS or Windows through WSL2 or the included devcontainer; on macOS, install Xcode command-line tools.

  2. Install the repository's build tools and Rust toolchain.

  3. Add the wasm32-wasi Rust target.

  4. Install the Python packages listed for the quickstart controller and scripts.

Expected outcome

A development environment prepared for compiling AICI components and working with the quickstart's Python controller.

Guide limitations

  • This covers environment setup, not building or running the server and controller.
  • The CUDA build has additional libtorch requirements; the README recommends the included devcontainer.
  • Native Windows support is not the documented route; use WSL2 or the devcontainer.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
13 October 2026
Original website title
microsoft/aici · Official homepage title · retained in its source language

Related options

LLGuidance — The AICI README calls LLGuidance an actively maintained evolution and specialization of AICI, recommended when the need is constrained decoding alone.