
optillm
给 LLM 推理加个外挂,自动优化提示词和采样策略,提升答案质量与效率。
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 4338
使用教程
环境要求
- Python 3 环境(需支持 python3 -m venv)
- pip 包管理工具
- 可选:Docker,用于容器化部署
- 上游模型服务的 API Key(如 OPENAI_API_KEY、GEMINI_API_KEY)
安装与启动步骤
-
1安装 OptiLLM
使用 pip 从 PyPI 安装官方包,这是 README 给出的最快方式。建议在独立虚拟环境中安装,避免依赖冲突。
pip install optillm -
2源码安装
需要二次开发时用源码方式:克隆仓库、建虚拟环境、激活后安装 requirements.txt 里的依赖。
git clone https://github.com/algorithmicsuperintelligence/optillm.git cd optillm python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt -
3Docker 启动服务
拉取官方镜像并映射 8000 端口启动代理服务。镜像变体:latest 为完整版,latest-proxy 仅代理,latest-offline 可离线。
docker pull ghcr.io/algorithmicsuperintelligence/optillm:latest docker run -p 8000:8000 ghcr.io/algorithmicsuperintelligence/optillm:latest -
4设置模型密钥
代理需要调用上游模型,把对应服务的 API Key 写入环境变量。OpenAI 与 Azure OpenAI 都使用 OPENAI_API_KEY。
export OPENAI_API_KEY=sk-xxxxxxxx -
5客户端调用
把 OpenAI 客户端的 base_url 指向 http://localhost:8000/v1,模型名前加 slug(如 moa)即可启用对应优化技术。
import os from openai import OpenAI OPENAI_KEY = os.environ.get("OPENAI_API_KEY") OPENAI_BASE_URL = "http://localhost:8000/v1" client = OpenAI(api_key=OPENAI_KEY, base_url=OPENAI_BASE_URL) response = client.chat.completions.create( model="moa-gpt-4o", messages=[{"role": "user", "content": "Write a Python program to build an RL model to recite text from any position that the user provides, using only numpy."}], temperature=0.2 ) print(response)
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | 上游 OpenAI / Azure OpenAI 服务的调用密钥 | sk-xxxxxxxx |
GEMINI_API_KEY | 否 | 使用 Gemini 等非 OpenAI 模型时设置对应密钥 | your-gemini-api-key |
OPENAI_BASE_URL | 是 | 客户端 base_url,指向本地代理服务地址 | http://localhost:8000/v1 |
extra_body.optillm_approach | 否 | 在请求体中直接指定优化技术,可用 | 或 & 组合 | bon|moa|mcts |
~/.optillm/mcp_config.json | 否 | MCP 服务配置文件路径,transport 默认 stdio | ~/.optillm/mcp_config.json |
如何确认成功
启动日志出现 Loaded plugin 与 "Starting server with approach: auto",客户端请求返回 HTTP 200 即成功。
常见问题
Q:如何指定使用哪种优化技术?
A:三种方式:模型名前加 slug(如 moa-gpt-4o);请求体 extra_body 传 optillm_approach;或在 prompt 中用 <optillm_approach> 标签。注意 slug 方式要求服务以 auto 模式启动。
Q:可以同时使用多种技术吗?
A:可以。用 & 按从左到右顺序组成管道,前一阶段结果作为后一阶段输入;用 | 并行执行并返回多个结果组成的列表。
Q:支持 OpenAI 以外的模型吗?
A:支持,通过封装 LiteLLM SDK 接入各家模型。例如设置 GEMINI_API_KEY 后调用 moa-gemini/gemini-1.5-flash-002。
Q:Docker 镜像有哪些版本可选?
A:latest 为包含本地推理与插件的完整版;latest-proxy 为不含本地推理的轻量代理版;latest-offline 预下载模型可完全离线运行。
注意事项
- README 节选未给出 pip 安装后的服务启动命令,具体启动方式请查阅仓库最新文档。
- 使用 {slug}-model-name 前缀方式时,optillm 服务必须以 auto 推理模式启动,否则 model 字段只能填模型名。
- optillm 是透明代理,可对接任何具备 OpenAI 兼容 chat completions 端点的服务。
- 关闭 SSL 校验仅适用于开发环境或自签证书/企业代理场景。
核心亮点
- 集成多种推理优化策略(CoT、自一致性、树搜索等),开箱即用
- 作为代理层,无需修改模型即可提升性能,兼容现有 API
- 提供 REST API 和可配置策略,易于集成到现有应用
不足之处
- 项目处于成长阶段,文档和社区生态尚待完善
- 优化策略可能增加推理延迟,需权衡质量与速度
适用场景
- 需要提升 LLM 回答准确率的复杂问答场景
- 对推理成本敏感,希望通过优化减少无效计算
- 希望在不改动模型的情况下快速实验多种推理策略
替代项目
vLLM、Text Generation Inference、SGLang
同类项目推荐
mlx-flash
开源
让 Apple 设备跑起超内存大模型,流式加载不卡顿。
Flash weight streaming for MLX: run massive models larger than your RAM on Apple Sil···
memoket-kite
开源
不搭向量库,让 AI Agent 用更少上下文记住长期对话
An open-source, vector-free long-term memory engine for AI agents, achieving SOTA on···
taladb
开源
把向量检索和文档库塞进 App 本地跑
TalaDB - An open-source embedded vector and document database for building local-fir···
gpt-tokenizer
开源
纯 JS 实现 GPT 分词,前端也能算 token
The fastest JavaScript BPE Tokenizer Encoder Decoder for OpenAI's GPT models (gpt-5,···
Daft
开源
一个引擎统一处理多模态数据与 AI 流水线
High-performance data engine for AI and multimodal workloads. Process images, audio,···
9router
开源
把付费 AI 编程模型换成免费替代,自动切换不限流
Unlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigr···
AIStudio2API
开源
把 AI Studio 变成 OpenAI API,一行代码切换 Gemini 模型
将AI Studio Playground和Build反代成API | AI Studio to OpenAI, Anthropic & Gemini Com···
gemini-web2api-go
开源
把 Gemini 网页变成 OpenAI 接口,改个地址就能用
Gemini web → OpenAI-compatible + native Gemini API, self-hosted, no API key. Gemini···
llm-on-openshift
开源
在 OpenShift 上快速跑通 LLM 部署与推理
Resources, demos, recipes,... to work with LLMs on OpenShift with OpenShift AI or Op···