Hyper-Extract Client String Shorthand
定义
Hyper-Extract Client String Shorthand 是 Hyper-Extract Provider Configuration 中用于调用 create_client() 的紧凑输入格式。它把客户端配置压缩进一个字符串里,用来快速声明要使用的 provider、可选的 LLM 模型名,以及在需要时显式指定服务地址。
这套语法不是独立的命令行机制,也不是配置文件格式;它的直接使用位置是在 Python 代码里调用 create_client() 时,作为 llm 参数或简写形式的主要输入之一,用于快速完成客户端初始化。
在本文档中的语境
在 Provider Configuration Guide 摘要 的统一示例里,同一段 AutoGraph Extraction Task 可以在不同平台上运行,变化的只有前面几行客户端初始化代码。文档借此说明:对于 OpenAI、阿里云百炼和本地 vLLM,抽取任务本身可以保持不变,而 create_client() 的配置方式决定了底层实际连接到哪个模型服务。
文档随后专门给出 String Shorthand Format,说明 create_client() 支持一套 compact string syntax for quick configuration,也就是本条目的三种简写形态。
三种格式
1. provider
格式最短,只写 provider 名,例如 bailian。
其语义是:仅指定 provider,客户端使用该 provider 预设好的默认 LLM 与默认 embedder,不再额外覆盖模型名或服务地址。
文档给出的对应结果是:Uses preset defaults for LLM + embedder。
在示例代码中,这种写法表现为:
llm, emb = create_client("bailian", api_key="sk-xxx")
这说明当只写 bailian 时,调用者仍然可以通过普通参数继续提供 api_key,但模型选择本身交由 provider 预设决定。
2. provider:model
第二种格式在 provider 后面追加冒号和模型名,例如 bailian:qwen3.6-plus。
其语义是:覆盖 LLM 模型,但保留该 provider 预设的 embedder,不需要重新声明 embedder 配置。
文档给出的对应结果是:Overrides LLM model, keeps preset embedder。
文档中的明确示例是:bailian:qwen3.6-plus。
配套代码写法为:
# Or override model: create_client("bailian:qwen3.6-plus", api_key="sk-xxx")
这里可以看出,这种简写只改变 LLM 端的模型选择,并没有表示 embedder 也同步切换;embedder 仍沿用该 provider 的默认预设。
3. provider:model@url
第三种格式最完整,在 provider:model 后继续追加 @url,例如 vllm:Qwen3.5-9B@localhost:8000/v1。
其语义是:由调用者手动完整指定 provider、模型和服务地址,适合对接 vLLM 这类自托管或本地部署的推理服务。
文档给出的对应结果是:Full manual specification。
来源示例明确给出了:vllm:Qwen3.5-9B@localhost:8000/v1。
在统一示例的本地 vLLM 场景中,实际代码写法是:
llm, emb = create_client(
llm="vllm:Qwen3.5-9B@http://localhost:8000/v1",
embedder="vllm:bge-m3@http://localhost:8001/v1",
api_key="dummy",
)
这段代码补充了两个重要细节:
- 这种完整写法不仅可用于 LLM,也可用于 embedder。
- 当服务是本地或自托管接口时,URL 可以显式写成
http://localhost:8000/v1这样的完整地址。
关键机制
这套简写机制的核心是把客户端配置的精细度分成三层:
- 只指定 provider:使用预设默认值,最省事。
- 指定 provider 和模型:只覆盖 LLM 模型,仍继承 provider 的 embedder 预设。
- 指定 provider、模型和 URL:完全手动控制连接目标,适合非托管默认平台或本地服务。
因此,它并不是三套互不相干的语法,而是从“依赖预设”逐步过渡到“完全显式指定”的同一条配置路径。
细节与边界
该简写解决的是客户端配置,不是任务定义
在统一示例中,无论是 OpenAI、Bailian 还是 vLLM,后续执行的图抽取逻辑都保持一致:创建 AutoGraph,设置 instruction="Extract people and their relationships",传入 llm_client=llm 与 embedder=emb,再对文本 "Zhang San founded ByteDance. Li Si serves as CEO." 调用 graph.parse(text)。
这说明 Client String Shorthand 只负责把 llm 和 emb 客户端准备好,不改变 AutoGraph Extraction Task 的任务定义、节点键提取器、边键提取器或解析流程。
provider:model 只说明覆盖 LLM,不表示 embedder 也跟着改
来源表格明确写的是 Overrides LLM model, keeps preset embedder。因此不能把 provider:model 理解成“该 provider 下所有组件都切到这个模型”,它只覆盖 LLM 侧模型名。
provider:model@url 适用于需要显式地址的自托管服务
文档在本地 vLLM 示例中把 llm 和 embedder 分别写到两个不同 URL:LLM 使用 http://localhost:8000/v1,embedder 使用 http://localhost:8001/v1。这表明完整手动指定时,LLM 与 embedder 可以连接到不同端点,而不是必须共用同一地址。
示例里 URL 既出现了省略协议的展示形式,也出现了带协议的实际代码形式
String Shorthand Format 表格中的示例写成 vllm:Qwen3.5-9B@localhost:8000/v1,而统一示例代码里实际传入的是 vllm:Qwen3.5-9B@http://localhost:8000/v1。在整理这一条目时,应保留两种出现形式:前者是文档表格中的语法示例,后者是代码中的实际调用写法。
它与文件配置方式并存,不是唯一入口
文档还给出另一条路径:先运行配置初始化,再在代码中用 get_client() 读取 ~/.he/config.toml。这意味着 Client String Shorthand 是 create_client() 的快速内联配置语法,但不是 Hyper-Extract 唯一的客户端配置方式。
示例汇总
bailian:仅指定 provider,使用预设默认的 LLM 与 embedder。bailian:qwen3.6-plus:覆盖 LLM 模型为qwen3.6-plus,同时保留预设 embedder。vllm:Qwen3.5-9B@localhost:8000/v1:显式指定 provider、模型与服务地址,适用于 vLLM 等自托管部署。