主题
llp 是 LlamaParse API 的命令行工具。每个 REST 资源都是一个命令组,每个操作都是一个子命令,旗标与请求字段一一对应,所以 SDK 能做的一切都能在 shell、脚本或编码智能体里做到。CLI 与 SDK 由同一份 API 定义生成,源码开源在 run-llama/llama-parse-cli。
安装
终端窗口
go install 'github.com/run-llama/llama-parse-cli/cmd/llp@latest'可执行文件会装到 $HOME/go/bin(或 $GOPATH/bin),请确认该目录在你的 PATH 里。需要 Go 1.22 或更新版本。
身份认证
把 API key 设在环境变量里,或在每次调用时用 --api-key 传入:
终端窗口
export LLAMA_CLOUD_API_KEY=llx-...key 来自 API key 页。EU 地域请用 --base-url https://api.cloud.eu.llamaindex.ai 把 CLI 指向 EU 端点(见地域)。
第一个任务
先把美国财政部 FY2024 财报的执行摘要下载为 report.pdf。本页的示例会上传它:
终端窗口
curl -fL -o report.pdf https://fiscal.treasury.gov/system/files/files/reports-statements/financial-report/2024/executive-summary-2024.pdf上传该文件,然后在其上跑一个 Parse 任务。files create 返回文件对象;parsing create 启动任务并连同状态返回。--transform 与 --raw-output 只打印 ID,于是每条命令都能喂给下一条(见输出格式):
终端窗口
FILE_ID=$(llp files create --file report.pdf --purpose parse --transform id --raw-output)
JOB_ID=$(llp parsing create --file-id "$FILE_ID" --tier agentic --version latest \
--transform id --raw-output)
# Poll until the job reaches a terminal status; stop if the lookup itself fails
while true; do
STATUS=$(llp parsing get --job-id "$JOB_ID" --transform job.status --raw-output) || break
case "$STATUS" in COMPLETED|FAILED|CANCELLED) break ;; esac
sleep 2
done
if [ "$STATUS" = COMPLETED ]; then
llp parsing get --job-id "$JOB_ID" --expand markdown
else
echo "parse ended as: $STATUS" >&2
fi在任意命令组或子命令上用 --help 可以看到它的完整旗标列表:
终端窗口
llp parsing create --help命令组
| 命令组 | 子命令 | 覆盖范围 |
|---|---|---|
files | create、retrieve、list、delete、content、query | 按用途上传文件(parse、extract、classify、split、sheet、user_data、agent_app),以及列举与取回 |
parsing | create、get、list、cancel、delete、list-versions | 解析任务、结果,以及各档位接受的版本 |
extract | create、get、list、cancel、delete、generate-schema、validate-schema | 抽取任务与 schema 辅助命令 |
classify | create、get、list、cancel | 分类任务 |
split | create、get、list、cancel、delete | 切分任务 |
batches | create、get、list、cancel | 跨大量文件的批次任务 |
configurations | create、retrieve、update、list、delete | 可跨任务复用的已保存配置 |
webhook-configs | create、retrieve、update、list、delete | 用于任务通知的已保存 webhook 端点 |
projects | list、get | 你组织内的 project |
beta:indexes | create、get、list、delete、sync | Index:在你的文件上做托管摄取 |
beta:retrieval | retrieve、find、grep、read | 在一个 Index 上做检索与文件搜索 |
beta:chat | create、retrieve、list、delete、get-summary、stream | 在一个 Index 上对话 |
完整列表请跑 llp --help;上面列出的是多数任务会用到的命令组。
传结构化选项
嵌套的请求字段接受一个 JSON 或 YAML 取值。可以内联给出、用 "$(cat file.json)" 从文件读入,或用点号旗标一次设一个字段:
终端窗口
FILE_ID=$(llp files create --file report.pdf --purpose parse --transform id --raw-output)
llp parsing create --file-id "$FILE_ID" --tier agentic --version latest \
--output-options '{"markdown": {"tables": {"output_tables_as_markdown": true}}}'
llp parsing create --file-id "$FILE_ID" --tier agentic_plus --version latest \
--output-options.images-to-save '[screenshot]'
cat > extract-config.json <<'EOF'
{"data_schema": {"type": "object", "properties": {"title": {"type": "string"}}}, "tier": "agentic"}
EOF
EXTRACT_FILE_ID=$(llp files create --file report.pdf --purpose extract --transform id --raw-output)
llp extract create --file-input "$EXTRACT_FILE_ID" \
--configuration "$(cat extract-config.json)"在取值内部,写成 @file 的字符串会被替换成那个文件的内容,例如 '{"system_prompt": "@prompt.txt"}'。CLI 会嗅探该把内容当作文本还是 base64 发送;@file://path 强制按文本,@data://path 强制按 base64。整个嵌套字段不能由 @file 提供,那种情况请用 "$(cat file.json)"。要传一个字面以 @ 开头的值,请写成 \@。上传文件的旗标(例如 files create --file)接受不带任何前缀的普通路径。
输出格式
默认输出是缩进 JSON,当 stdout 是终端时会带颜色。用 --format 切换:
| 取值 | 输出 |
|---|---|
json | 缩进 JSON,终端下带颜色;被管道给 jq 或其他程序时输出纯文本 |
jsonl | 每行一个 JSON 对象,用于列表结果 |
yaml | YAML |
pretty | 一份可读的非 JSON 呈现 |
raw | 原始响应体 |
explore | 面向大响应的交互式查看器;不在终端上时退回 json |
auto | 默认值:即 json |
--transform 会在打印前对响应应用一个 GJSON 路径,--raw-output 则打印字符串结果时不带 JSON 引号 —— 要把一条命令的输出喂给下一条命令,就该这样组合使用:
终端窗口
FILE_ID=$(llp files create --file report.pdf --purpose parse \
--transform 'id' --raw-output)
llp parsing create --file-id "$FILE_ID" --tier cost_effective --version latest--format-error 与 --transform-error 对错误响应做同样的事。
全局旗标
| 旗标 | 用途 |
|---|---|
--api-key | API key,用来代替 LLAMA_CLOUD_API_KEY |
--base-url | API 端点,用于 EU 地域或自托管部署 |
--format、--format-error | 响应与错误的输出格式 |
--transform、--transform-error | 响应与错误的 GJSON 转换 |
--raw-output | 打印字符串结果时不带引号 |
--debug | 记录请求与响应 |
--version | 打印 CLI 版本 |
让智能体使用 CLI
这个 CLI 很适合交给编码智能体:帮助文本记录了每一个旗标,--format json 给出机器可读的输出。如果你更愿意给智能体一个工具接口而不是一个 shell,见 LlamaParse MCP。