W
AI-Wiki
CONCEPT

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=llmembedder=emb,再对文本 "Zhang San founded ByteDance. Li Si serves as CEO." 调用 graph.parse(text)

这说明 Client String Shorthand 只负责把 llmemb 客户端准备好,不改变 AutoGraph Extraction Task 的任务定义、节点键提取器、边键提取器或解析流程。

provider:model 只说明覆盖 LLM,不表示 embedder 也跟着改

来源表格明确写的是 Overrides LLM model, keeps preset embedder。因此不能把 provider:model 理解成“该 provider 下所有组件都切到这个模型”,它只覆盖 LLM 侧模型名。

provider:model@url 适用于需要显式地址的自托管服务

文档在本地 vLLM 示例中把 llmembedder 分别写到两个不同 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 等自托管部署。

相关条目