
LLMCompiler
让 LLM 函数调用像编译器一样并行执行,速度翻倍
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1903
使用教程
环境要求
- 已安装 conda(用于创建 Python 3.10 环境)
- Python 3.10
- 已安装 git 并可访问 GitHub
- OpenAI API Key,或通过 vLLM 部署的本地开源模型(如 LLaMA)
安装与启动步骤
-
1创建 conda 环境
新建名为 llmcompiler 的独立环境,指定 Python 3.10,-y 表示自动确认。
conda create --name llmcompiler python=3.10 -y -
2激活环境
后续所有安装与运行命令都要在这个已激活的环境中执行。
conda activate llmcompiler -
3克隆仓库
从 GitHub 拉取 LLMCompiler 源码到本地当前目录。
git clone https://github.com/SqueezeAILab/LLMCompiler -
4安装依赖
进入项目目录,按 requirements.txt 安装全部 Python 依赖。
cd LLMCompiler pip install -r requirements.txt -
5配置 API Key
使用 OpenAI 模型时,需先把 API Key 写入环境变量 OPENAI_API_KEY。
export OPENAI_API_KEY="sk-xxx" -
6跑基准测试
指定 benchmark 名称与结果保存路径;--stream 可流式执行降低延迟,--logging 可选。
python run_llm_compiler.py --benchmark hotpotqa --store ./results/hotpotqa.json --stream -
7用 vLLM 模型运行
本地用 vLLM 提供 OpenAI 兼容服务后,通过 model_type、model_name、vllm_port 指定模型与端口。
python run_llm_compiler.py --model_type vllm --benchmark hotpotqa --store ./results/hotpotqa_vllm.json --model_name meta-llama/Llama-2-70b-hf --vllm_port 8000
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | 调用 OpenAI GPT 模型所需的 API 密钥,写入环境变量 | sk-xxx |
--benchmark | 是 | 选择评测数据集,可选 hotpotqa、movie、parallelqa | hotpotqa |
--store | 是 | 结果保存路径,以 JSON 格式保存问题、标签、预测与延迟 | ./results/hotpotqa.json |
--stream | 否 | 启用流式执行,任务边生成边执行,降低延迟,推荐开启 | --stream |
--model_type | 否 | 指定模型来源,使用 vLLM 服务时填 vllm | vllm |
--vllm_port | 否 | vLLM 服务监听的端口号 | 8000 |
如何确认成功
命令运行结束后,查看 --store 指定的路径是否生成了 JSON 结果文件,其中包含问题、真实标签、预测和每条延迟。
常见问题
Q:没有 OpenAI API Key 能跑吗?
A:可以。用 vLLM 本地部署开源模型(如 LLaMA)并通过 OpenAI 兼容服务暴露,运行时加 --model_type vllm 并指定 --model_name 和 --vllm_port。
Q:--stream 有什么作用?
A:启用流式执行,Planner 生成的任务会立即传给任务获取单元和执行器,而不是等全部任务生成完再执行,从而降低延迟,README 推荐开启。
Q:为什么换模型后结果变差?
A:默认配置中的提示词是为非 chat 版本的 LLaMA-2 70B 定制的,换成其他模型可能需要相应调整提示词。
Q:benchmark 可选哪些?
A:支持 hotpotqa、movie、parallelqa,分别在 HotpotQA、电影推荐和 ParallelQA 上评测。
Q:--logging 在 vLLM 下能用吗?
A:不能,README 明确说明 logging 尚未支持 vLLM 方式。
注意事项
- --logging 目前不支持 vLLM 运行方式
- vLLM 方式需先按 vLLM 官方文档启动 OpenAI 兼容服务,README 未给出部署命令
- 默认提示词针对非 chat 的 LLaMA-2 70B,其他模型需调整配置文件
- --logging 与 --stream、--do_benchmark、--react 均为可选参数
核心亮点
- 基于 DAG 的并行调度,显著降低多函数调用延迟,实测可达 3-5 倍加速
- 支持流式执行,边生成边调用,提升交互体验
- 与 OpenAI 函数调用格式兼容,集成简单,且有 ICML 论文背书,算法可靠性高
不足之处
- 文档/社区待观察
- 对非函数调用场景(如纯文本生成)无优化效果,适用范围有限
适用场景
- 多工具协同的智能助手(如同时查询天气、日历、地图)
- 复杂数据分析流程(如多步数据处理、SQL 查询组合)
- 自动化工作流编排(如 API 调用链、业务审批流程)
替代项目
LangChain、AutoGPT、TaskWeaver
同类项目推荐
oc-codex-multi-auth
开源
多账号轮换+健康检查,让 Codex/GPT-5 调用不中断
OpenCode plugin for ChatGPT Plus/Pro OAuth with Codex/GPT-5 routing, multi-account r···
toon
开源
让LLM提示词更省Token,数据序列化更紧凑
Token-Oriented Object Notation (TOON) – compact, human-readable serialization of JS···
portaljs
开源
用一句话描述需求,AI 自动生成数据门户并接入数据源
AI-native framework for building data portals. Scaffold a full portal from a brief a···
nanocodex
开源
用 Rust 构建高性能 AI 智能体,随处获得 Codex 级能力
SDK for Frontier Embedded Agents.
catalyst
开源
在 C# 里直接做 NLP,不用再调 Python 服务
Catalyst is a C# Natural Language Processing library built for speed. Inspired by sp···
ShipGenAI
开源
50个AI应用模板,一键部署收费,代码全归你
50 production-ready Generative AI SaaS apps — brand them, ship them, keep 100% of t···
raxol
开源
一套代码,终端、浏览器、智能体三端通吃
One Elixir module, every surface. The terminal for your Gundam.
langchain-mongodb
开源
让 LangChain 应用直接用 MongoDB 存向量和对话
Integrations between MongoDB, Atlas, LangChain, and LangGraph
onellm
开源
一个接口调用数百种大模型,自动缓存和故障回退,省心又稳定。
Unified interface for interacting with various LLMs hundreds of models, caching, fal···