algorithmicsuperintelligence/optillm · 上手攻略
- 仓库:algorithmicsuperintelligence/optillm
- 链接:https://github.com/algorithmicsuperintelligence/optillm
- 分类:ai
- 作者:Tom
- 更新:2026-08-10
这是什么
OptiLLM 是一个OpenAI API 兼容的推理优化代理(inference proxy),通过在推理时(inference-time)应用 20+ 种推理优化技术,在不需要任何训练或微调的情况下,将 LLM 在数学、代码、逻辑推理任务上的准确率提升 2-10 倍。
它的核心思路是:在现有 API 调用层加一层代理,对请求进行后处理(优化推理路径),再转发给底层模型,对调用方完全透明。支持 OpenAI、Anthropic、Google、Cerebras 以及 100+ 模型(通过 LiteLLM)。
解决什么问题
- 小模型能力不足:用 GPT-4o-mini 级别的成本,通过 MoA(Mixture of Agents)等技术达到 GPT-4o 的效果(如 Arena-Hard-Auto 基准)。
- 数学 / 代码推理差:基础模型在 AIME、GPQA 等推理基准上表现不佳,通过 MCTS、PlanSearch、CoT Reflection 等技术显著提升。
- 推理成本高:不想微调或训练,直接在推理时通过优化技术榨取更多能力。
- 多模型接入复杂:需要同时接入多个 LLM 提供方做对比实验,OptiLLM 通过统一代理层简化这件事。
快速安装
方式一:pip(最简)
pip install optillm
# 启动服务(默认监听 localhost:8000)
export OPENAI_API_KEY="your-key-here"
optillm
方式二:Docker(隔离环境,推荐生产使用)
# 全量镜像(含本地推理和插件)
docker pull ghcr.io/algorithmicsuperintelligence/optillm:latest
docker run -p 8000:8000 \
-e OPENAI_API_KEY="your-key-here" \
ghcr.io/algorithmicsuperintelligence/optillm:latest
# 仅代理镜像(轻量,无本地推理能力)
docker pull ghcr.io/algorithmicsuperintelligence/optillm:latest-proxy
docker run -p 8000:8000 \
-e OPENAI_API_KEY="your-key-here" \
ghcr.io/algorithmicsuperintelligence/optillm:latest-proxy
方式三:源码安装
git clone https://github.com/algorithmicsuperintelligence/optillm.git
cd optillm
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python optillm.py
⚠️ 默认绑定 localhost:安全考虑默认只监听 127.0.0.1,外网访问需加 --host 0.0.0.0,并配合 --optillm-api-key 做认证。
核心用法
基本调用(3 步上手)
from openai import OpenAI
client = OpenAI(
api_key="your-openai-key",
base_url="http://localhost:8000/v1" # OptiLLM 代理地址
)
# 标准模型调用(自动使用 auto 策略)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Solve: 2x + 3 = 7, what is x?"}]
)
print(response.choices[0].message.content)
混合专家优化(MoA)——用小模型成本达到大模型效果
response = client.chat.completions.create(
model="moa-gpt-4o-mini", # 前缀 moa- 触发 Mixture of Agents
messages=[{"role": "user", "content": "Write a Python quicksort implementation"}]
)
指定优化技术(三种方式)
方式 1:模型名前缀
model="re2-gpt-4o-mini" # ReRead 二次阅读
model="bon-gpt-4o-mini" # Best-of-N 采样
model="mcts-gpt-4o-mini" # Monte Carlo Tree Search
model="cot_reflection-gpt-4o-mini" # CoT + 反思
model="plansearch-gpt-4o-mini" # 计划搜索
方式 2:extra_body 指定
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[...],
extra_body={"optillm_approach": "bon|mcts|moa"}
)
方式 3:Prompt 内标签指定
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "<optillm_approach>re2</optillm_approach> How many r's in 'strawberry'?"}]
)
组合技术(Pipeline 或并行)
# & 串联:前一个技术输出作为下一个输入
model="re2&cot_reflection-gpt-4o-mini"
# | 并联:多个技术并行执行,取最优
model="bon|mcts|plansearch-gpt-4o-mini"
多 Provider 支持
# OpenAI
export OPENAI_API_KEY="..."
# Anthropic
export ANTHROPIC_API_KEY="..."
# Cerebras(高速推理)
export CEREBRAS_API_KEY="..."
# Azure OpenAI
export AZURE_OPENAI_API_KEY="..."
export AZURE_API_VERSION="2024-06-01"
export AZURE_API_BASE="https://your-resource.openai.azure.com"
# 然后 model 前缀指定 provider
model="anthropic/claude-3-5-sonnet"
model="cerebras/llama-3.3-70b"
MCP 客户端(调用任何 MCP Server)
# OptiLLM 集成了 MCP Client,可连接任意 MCP Server
# 在启动时配置 MCP Server 地址
optillm --mcp-servers "http://localhost:8080"
私有模型路由
# 使用 Router 插件自动选择最优技术
export OPTILLM_ROUTER_MODEL="codelion/optillm-modernbert-large"
optillm
优化技术速查表
| 技术 | 前缀 | 适用场景 |
|---|---|---|
| Mixture of Agents | moa- |
通用推理,小模型追赶大模型 |
| MARS | mars- |
数学推理(AIME +30 分) |
| CePO | cepo- |
数学与长文本 |
| PlanSearch | plansearch- |
代码生成(LiveCodeBench +20%) |
| ReRead (Re2) | re2- |
简单但易错的 QA |
| CoT Reflection | cot_reflection- |
需要自我修正的推理 |
| Best of N | bon- |
需要多样性的生成 |
| MCTS | mcts- |
决策类推理 |
| Z3 Solver | z3- |
严格逻辑推理 |
| LEAP | leap- |
少样本原则学习 |
| Majority Voting | majority_voting- |
投票消歧 |
| Deep Think | deepthink- |
Gemini 式深度思考 |
典型适用场景
- 数学竞赛辅助:AIME、GPQA 等高难度数学基准,MARS/CePO 技术可将准确率提升 10-30 个百分点。
- 代码生成质量提升:PlanSearch + MoA 在 LiveCodeBench 等代码基准上显著优于原始模型。
- 小模型降本:用 GPT-4o-mini + moa 前缀替代 GPT-4o,估算可节省约 60% API 成本同时保持相近效果(⚠️ 需针对具体任务验证)。
- 研究推理基准:快速复现 inference-time scaling 相关论文的实验结果。
- 生产环境推理代理:作为统一 API 网关,对内部服务隐藏 LLM 提供方细节,支持热切换。
坑与注意
⚠️ 延迟增加:优化技术会带来额外的 API 调用(A 部分技术如 MoA、MCTS 需要多次调用底层模型),延迟可能增加 2-10 倍,不适合对延迟敏感的场景。
⚠️ 成本可能增加:Bon/MoA/MCTS 等技术会增加底层 API 调用次数,对应费用也会上升。使用前评估 cost/speed trade-off。
⚠️ 并非所有技术都支持 proxy 模式:DeepConf、CoT Decoding、Entropy Decoding、Thinkdeeper、AutoThink 等技术标记为"N/A for proxy",需要本地推理模式。
⚠️ 安全默认值:默认只绑定 127.0.0.1,Docker 部署时需显式暴露端口并配置认证。
⚠️ Flask 开发服务器:默认以 Flask 开发模式运行,不要直接用于生产,加 --production 或用 gunicorn 包装。
⚠️ benchmark 数字来源:README 中的 benchmark 数字(MARS +30 AIME2025、CePO +18.6 Math-L5 等)来自论文或有据可查的实验,但具体任务效果可能不同,建议在自己的任务集上验证后再决定是否上生产。
⚠️ SSL 验证:企业内网环境可能需要 --ssl-cert-path 配置自签名证书,或用 --no-ssl-verify(仅开发环境)。
与同类对比
| 特性 | OptiLLM | vLLM | LiteLLM | Axonn |
|---|---|---|---|---|
| 定位 | 推理优化代理 | 高吞吐量推理引擎 | 多 provider 统一接口 | 推理优化 |
| 核心能力 | 20+ 推理优化技术 | PagedAttention/Continuous batching | 统一 API 封装 | 模型压缩/加速 |
| 微调需求 | ❌ 零训练 | ❌ | ❌ | ⚠️ 部分方案需 |
| 多模型 | ✅ 100+ | ✅ | ✅ 40+ | ⚠️ 有限 |
| MoA / MCTS | ✅ 原生 | ❌ | ❌ | ⚠️ |
| OpenAI API 兼容 | ✅ 完全兼容 | ⚠️ 部分兼容 | ✅ | ⚠️ |
结论:OptiLLM 适合在已有 API 调用基础上优化推理质量的场景,不需要换模型、不需要训练,直接加一层代理就能提升效果。如果你的场景是降低推理延迟和提高吞吐(而非提升推理质量),vLLM 是更合适的选择。
一句话推荐结论
OptiLLM 是目前最完整的推理优化代理——零训练、零微调,通过 20+ 优化技术让小模型在推理任务上追赶大模型,适合所有想挖掘现有 LLM 潜力而不愿重训的研究者和工程师。