GraphCanon updated today · GitHub synced today
Decision brief
Builds real-time controllers using Wasm modules for directing LLM output securely and efficiently.
Good fit when
- When you need to implement secure, fast, and flexible real-time control over the output of large language models via WebAssembly modules.
- For projects where you want tight integration between custom control logic and the underlying LLM inference engine to process text generation dynamically.
Avoid when
- If your use case requires only constrained decoding without additional control logic, consider using LLGuidance library as a more specialized alternative.
- Avoid if you are looking for a less experimental solution, since AICI is noted as a prototype and may not fit production scenarios requiring stability.
- Pricing:
- freemium
- Requirements:
- Requires a compatible LLM inference engine such as llama.cpp, HuggingFace Transformers, or rLLM.
Observed Jul 14, 2026 · Source: enrich:decision_facts
Verify the decision
Maintenance and security
Full trust report- Maintenance
- Dormant (574d since push)
- As of today
- Provenance
- Not a fork · Organization account
- As of today
- Security (OSV)
- No lockfile
- As of 1mo
Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.
Backing
Company context for Microsoft. Display-only - separate from trust and ranking.
- Company
- Microsoft·GitHub org profile·1mo
- Employees
- 221,000·Wikidata (P1128 employees)·1mo
- Commercial model
- Pure OSS·GitHub org profile (public repos)·1mo
Install
cargo add aici crates.ioHow it fits your stack(4)
Typed graph edges - alternatives, integrations, successors, and dependencies. Ranked by relationship type, not raw GitHub stars.
Integrates
Relationship graph
Optional deeper exploration of typed edges and category neighbours.
Similar tools
Same-category neighbours not already linked as typed edges.
Evidence and technical details
Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.
Overview
AICI enables the creation of real-time controllers that constrain and direct Large Language Model (LLM) output via WebAssembly modules running alongside the LLM inference engine.
Capability facts
- Languages
- rust
Source: github.language · Aug 20, 2026
Categories
Graph entities
Compatibility
Sourced claims from the README excerpt - not unsourced marketing copy.
Source: README excerpt (regex_v1, Aug 20, 2026)
or be interpreted inside Wasm (Python, JavaScript, ...)Source link
Tags
README
Artificial Intelligence Controller Interface (AICI)
LLGuidance library is an actively maintained evolution and specialization of AICI, recommended if all you want is constrained decoding.
The Artificial Intelligence Controller Interface (AICI) lets you build Controllers that constrain and direct output of a Large Language Model (LLM) in real time. Controllers are flexible programs capable of implementing constrained decoding, dynamic editing of prompts and generated text, and coordinating execution across multiple, parallel generations. Controllers incorporate custom logic during the token-by-token decoding and maintain state during an LLM request. This allows diverse Controller strategies, from programmatic or query-based decoding to multi-agent conversations to execute efficiently in tight integration with the LLM itself.
The purpose of AICI is to make it easy to build and experiment with both existing and entirely new Controller strategies for improving LLM generations. By abstracting away implementation details of the underlying LLM inference and serving engine, AICI aims to simplify the development of Controllers, make it easier to write fast Controllers, and ease compatibility across LLM inference and serving engines.
AICI is designed for both local and cloud execution, including (eventually) multi-tenant LLM deployments. Controllers are implemented as light-weight WebAssembly (Wasm) modules which run on the same machine as the LLM inference engine, utilizing the CPU while the GPU is busy with token generation. AICI is one layer in the inference stack, and is designed to allow control libraries such as Guidance, LMQL, and others to run on top of it and gain both efficiency and performance improvements, as well as portability across LLM inference and serving engines.
AICI currently integrates with llama.cpp, HuggingFace Transformers, and rLLM (custom tch-based LLM inference engine), with vLLM in the works.
AICI is:
- Flexible: Controllers can be written in any language that can compile to Wasm (Rust, C, C++, ...), or be interpreted inside Wasm (Python, JavaScript, ...)
- Secure: Controllers are sandboxed and cannot access the filesystem, network, or any other resources
- Fast: Wasm modules are compiled to native code and run in parallel with the LLM inference engine, inducing only a minimal overhead to the generation process
AICI is a prototype, designed and built at Microsoft Research.
Table of Contents
- Artificial Intelligence Controller Interface (AICI)
- QuickStart: Example Walkthrough
- Development Environment Setup
- Build and start rLLM server and AICI Runtime
- Control AI output using AICI controllers
- Comprehensive Guide: Exploring Further
- Architecture
- Security
- Performance
- Flexibility
- Acknowledgements
- Contributing
- Trademarks
QuickStart: Example Walkthrough
In this quickstart, we'll guide you through the following steps:
- Set up rLLM Server and AICI Runtime.
- Build and deploy a Controller.
- Use AICI to control LLM output, so you can customize a LLM to follow specific rules when generating text.
Development Environment Setup
To compile AICI components, you need to set up your development environment for Rust. For this quickstart you also need Python 3.11 or later to create a controller.
Windows WSL / Linux / macOS
[!NOTE] Windows users: please use WSL2 or the included devcontainer. Adding native Wind
For agents
This page has a .md twin and JSON over the API.