
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2074
使用教程
环境要求
- Rust 开发环境(用于编译 AICI 各组件)
- Python 3.11 或更高版本(用于编写 Controller)
- 使用 rllm-cuda 后端时需 NVidia GPU 且计算能力 8.0 及以上(A100、RTX 30 系及更新)
- 能访问 HuggingFace 下载 .gguf 模型文件,或本地已有 .gguf 文件
安装与启动步骤
-
1准备开发环境
按 Rust 官方方式装好 Rust 工具链,并确保本机 Python 版本不低于 3.11,两者都是后续编译与编写 Controller 的前提。
-
2克隆仓库
把 AICI 源码拉取到本地,后续所有构建命令都在仓库目录内执行。
git clone https://github.com/microsoft/aici -
3进入后端目录
进入 llama.cpp 后端目录;若改用 CUDA 后端,则换成 rllm-cuda 文件夹,步骤相同。
cd aici/rllm/rllm-llamacpp -
4构建并启动服务
该脚本会编译 aicirt 与 rllm-llamacpp 并加载指定模型;首次运行需下载模型,耗时较长。
./server.sh phi2 -
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
上一篇:text-generation-webui-colab
下一篇:neuron-ai
同类项目推荐
instructor-go
开源
用 Go struct 约束大模型输出,直接拿到强类型结果
structured outputs for llms
Gemini-API
开源
免官方API,用Python轻松调用Gemini模型
✨ Reverse-engineered Python API for Google Gemini web app
agent-skills-standard
开源
给 AI 代理装上各语言框架的编码规范,生成代码更符合工程最佳实践
A collection of Agent Skills Standard and Best Practice for Programming Languages, F···
promptdesk
开源
一站式管理提示词与模型评估,让 LLM 应用开发更高效。
Promptdesk is a tool designed for effectively creating, organizing, and evaluating p···
llmflows
开源
像画流程图一样构建 LLM 应用,每一步都清晰可控。
LLMFlows - Simple, Explicit and Transparent LLM Apps
botkit
开源
一套代码,快速搭建跨平台聊天机器人。
Botkit is an open source developer tool for building chat bots, apps and custom inte···
hashbrown
开源
在浏览器里跑 AI Agent,Angular/React 直接接
Hashbrown is a framework for building agents that run the browser. Built for Angular···
cookiecutter-mlops-package
开源
一键生成 MLOps 项目骨架,快速进入开发部署
Start building and deploying Python packages and Docker images for MLOps tasks.
TypeLLM
开源
让大模型按你的类型定义输出,不再手动解析 JSON
TypeLLM: LLMs with type-safe generation