aici

把提示词变成程序,动态控制AI生成过程。

AICI(Artificial Intelligence Controller Interface)是一个开源框架,它提出了一种全新的与大语言模型交互的方式:将提示词(Prompts)视为可编程的Wasm(WebAssembly)程序。它解决了传统LLM推理中提示词固定、难以动态控制的问题,允许开发者通过编写Wasm模块来实时控制模型的生成过程,包括修改token生成、实现复杂的控制流、注入自定义逻辑等。其核心能力在于提供了一个轻量、安全、高性能的沙箱环境,使得提示词不再是静态文本,而是可执行的程序,从而极大地扩展了LLM应用的灵活性和可定制性。该项目基于Rust开发,性能优异,适合构建需要精细控制生成逻辑的复杂AI应用。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2078
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队microsoft
所属国家
官网地址
定价模式free
价格说明开源项目,MIT 许可证,完全免费,需自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Rust
技术栈/模型ai,inference,language-model,llm,llm-framework,llm-inference,llm-serving,llmops,model-serving,rust,transformer,wasm,wasmtime
GitHub 星标★ 2078
30天Star增速
HF 下载量
上线时间2023-09-26 00:00:00
最近更新2026-09-19 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数2

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 5 步

环境要求

  • Rust 开发环境(用于编译 AICI 各组件)
  • Python 3.11 或更高版本(用于编写 Controller)
  • 使用 rllm-cuda 后端时需 NVidia GPU 且计算能力 8.0 及以上(A100、RTX 30 系及更新)
  • 能访问 HuggingFace 下载 .gguf 模型文件,或本地已有 .gguf 文件

安装与启动步骤

  1. 1准备开发环境

    按 Rust 官方方式装好 Rust 工具链,并确保本机 Python 版本不低于 3.11,两者都是后续编译与编写 Controller 的前提。

  2. 2克隆仓库

    把 AICI 源码拉取到本地,后续所有构建命令都在仓库目录内执行。

    git clone https://github.com/microsoft/aici
  3. 3进入后端目录

    进入 llama.cpp 后端目录;若改用 CUDA 后端,则换成 rllm-cuda 文件夹,步骤相同。

    cd aici/rllm/rllm-llamacpp
  4. 4构建并启动服务

    该脚本会编译 aicirt 与 rllm-llamacpp 并加载指定模型;首次运行需下载模型,耗时较长。

    ./server.sh phi2
  5. 5切换其它模型

    不带参数运行脚本可查看内置可用模型列表;也可传入 HuggingFace 上 .gguf 链接或本地 .gguf 路径。

    ./server.sh orca

关键配置

配置项必填说明示例
model(server.sh 参数)是指定加载的模型,支持内置名、HuggingFace .gguf 链接或本地 .gguf 路径。phi2
后端目录是选择编译的后端:rllm-llamacpp 通用,rllm-cuda 需 NVidia 计算能力 8.0+。rllm-llamacpp

如何确认成功

浏览器打开 http://127.0.0.1:4242/v1/models,返回 JSON 中 data 里出现已加载模型的 id(如 TheBloke/phi-2-GGUF)即成功。

常见问题

Q:没有 NVidia 显卡能跑吗?

A:可以。改用基于 llama.cpp 的 rllm-llamacpp 后端即可;rllm-cuda 只支持计算能力 8.0 及以上的 NVidia GPU(A100、RTX 30 系及更新)。

Q:server.sh 支持哪些模型?

A:不带参数执行 ./server.sh 会列出可用模型;也可传入 HuggingFace 上 .gguf 文件的 URL 或本地 .gguf 文件路径(rllm-cuda 用 HuggingFace 模型 id 或文件夹路径)。

Q:编译 rllm-cuda 时 libtorch 配置很麻烦怎么办?

A:README 明确建议使用仓库自带的 devcontainer 来完成 libtorch 环境配置,避免手动折腾依赖。

Q:Controller 用什么语言写?

A:Controller 最终是轻量 WebAssembly(Wasm)模块,快速上手示例中需要 Python 3.11 或更高版本来创建 Controller。

注意事项

  • README 指出:如果只需要约束解码(constrained decoding),推荐改用其演进而来的 LLGuidance 库,而非 AICI 本身。
  • rllm-cuda 后端仅适用于计算能力 8.0 及以上的 NVidia GPU,且 libtorch 环境配置繁琐,优先用 devcontainer。
  • rllm-llamacpp 与 rllm-cuda 的构建步骤相同,只是所在文件夹名不同。
  • rLLM 服务通过 HTTP 接口对外提供配置与请求处理能力,默认地址为 http://127.0.0.1:4242。

核心亮点

  • 通过Wasm实现提示词的动态逻辑,支持条件分支、循环等复杂控制流,远超静态提示词。
  • 基于Rust和Wasm,执行安全且性能开销低,适合对延迟敏感的生产环境。
  • 提供与模型无关的接口,可集成多种LLM后端,灵活性强。

不足之处

  • 项目仍处于早期阶段,API和生态尚不稳定,学习曲线较陡。
  • 文档和示例相对有限,社区支持待观察。

适用场景

  • 构建需要动态调整提示词或生成策略的复杂Agent应用。
  • 在推理过程中实现自定义的采样逻辑或约束(如强制JSON输出)。
  • 用于研究LLM的可控生成和提示词工程新范式。

替代项目

Guidance、Outlines、LMQL

项目介绍

aici 是开发框架领域的开源项目,由 microsoft 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(2,078)位列前 30%,在开发框架分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-19。MIT 许可证,完全免费,需自行部署使用。

它主要面向的使用场景是:构建需要动态调整提示词或生成策略的复杂Agent应用。同类可对比的替代方案包括 Guidance、Outlines、LMQL。

上一篇:text-generation-webui-colab

下一篇:neuron-ai

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12