LLMCompiler

让 LLM 函数调用像编译器一样并行执行,速度翻倍

LLMCompiler 是一个面向大语言模型(LLM)的函数调用并行化框架,源自 ICML 2024 论文。它借鉴传统编译器思想,将复杂的多步骤任务分解为依赖图(DAG),通过自动并行调度多个函数调用,显著降低延迟和成本。核心能力包括:任务规划(将用户请求拆解为可并行执行的子任务)、依赖管理(自动识别任务间的依赖关系)、流式执行(边生成边执行,支持流式输出)以及优化调度(减少冗余调用,提高资源利用率)。它解决了 LLM 在函数调用场景中串行执行效率低、响应慢的问题,适用于需要多工具协作的复杂任务,如数据分析、API 组合、自动化工作流等。项目提供 Python 接口,易于集成到现有 LLM 应用中。

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

项目数据

分类开源模型
开发团队SqueezeAILab
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,无付费版本。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型efficient-inference,function-calling,large-language-models,llama,llama2,llm,llm-agent,llm-agents,llm-framework,llms,natural-language-processing,nlp,parallel-function-call,transformer
GitHub 星标★ 1886
30天Star增速
HF 下载量
上线时间2023-12-06 00:00:00
最近更新2026-09-23 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数0

使用教程

难度:入门 约 15 分钟 部署方式:本地安装 7 步

环境要求

  • 已安装 conda(用于创建 Python 3.10 环境)
  • Python 3.10
  • 已安装 git 并可访问 GitHub
  • OpenAI API Key,或通过 vLLM 部署的本地开源模型(如 LLaMA)

安装与启动步骤

  1. 1创建 conda 环境

    新建名为 llmcompiler 的独立环境,指定 Python 3.10,-y 表示自动确认。

    conda create --name llmcompiler python=3.10 -y
  2. 2激活环境

    后续所有安装与运行命令都要在这个已激活的环境中执行。

    conda activate llmcompiler
  3. 3克隆仓库

    从 GitHub 拉取 LLMCompiler 源码到本地当前目录。

    git clone https://github.com/SqueezeAILab/LLMCompiler
  4. 4安装依赖

    进入项目目录,按 requirements.txt 安装全部 Python 依赖。

    cd LLMCompiler
    pip install -r requirements.txt
  5. 5配置 API Key

    使用 OpenAI 模型时,需先把 API Key 写入环境变量 OPENAI_API_KEY。

    export OPENAI_API_KEY="sk-xxx"
  6. 6跑基准测试

    指定 benchmark 名称与结果保存路径;--stream 可流式执行降低延迟,--logging 可选。

    python run_llm_compiler.py --benchmark hotpotqa --store ./results/hotpotqa.json --stream
  7. 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、parallelqahotpotqa
--store是结果保存路径,以 JSON 格式保存问题、标签、预测与延迟./results/hotpotqa.json
--stream否启用流式执行,任务边生成边执行,降低延迟,推荐开启--stream
--model_type否指定模型来源,使用 vLLM 服务时填 vllmvllm
--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

项目介绍

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

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

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-23。MIT许可证,完全免费,无付费版本。

它主要面向的使用场景是:多工具协同的智能助手(如同时查询天气、日历、地图)。同类可对比的替代方案包括 LangChain、AutoGPT、TaskWeaver。

同类项目推荐

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