model 和 messages 信封,并有两个特定约定:
- 添加一个顶层
schema,描述提取、分类、结构化记录或 关系抽取任务。 - 解析
choices[0].message.content中的 JSON 字符串。
Fastino GLiNER 智能体技能
在 Cursor、Claude Code 或 Codex 中安装 GLiNER 技能。
查看 API 契约
完整的请求和响应 schema。
GLiNER 实战示例
经过测试的实体、分类和关系请求。
设置你的 API 密钥
将密钥设置为环境变量,这样下面的示例可以直接运行:请求
定义自定义编码器任务。对于经典抽取和分类,请提供一个包含
entities、classifications、
structures 或 relations 中一个或多个键的字典。对于受约束分类,请提供下文所述的原生
version、tasks 和 constraints 结构。仅当所选模型已配置默认任务时才可省略 schema。
经典 classifications 中的每个条目至少需要两个标签。已弃用扁平的实体标签数组,请始终使用字典形式。x_fastino.truncated 为 true,且不会返回截断位置之后的实体。用量仍按提交的完整文本计算。
超过 50,000 个字符的输入会在截断之前被拒绝。此选项适用于基础、LoRA 和全量微调的编码器模型。
实体 schema
尽量使用带描述的实体定义:分类 schema
task、labels、multi_label、cls_threshold 和 top_k。在 GLiNER-2.5-Decide 上,labels 必须是字符串列表,且 top_k 目前不起作用;参见 Decide 分类。
受约束分类 schema
GLiNER2.5 Multi 可以在硬约束下对相关的分类任务进行联合解码。使用此 schema 之前,请确认所选模型在GET /v1/base-models 返回的 encoder_features 中包含 constrained_classification。
任务使用基数和排序字段:
- 单一答案:
min_labels: 1和max_labels: 1 - 多个答案: 使用
min_labels和可选的max_labels - 有序: 单一答案的基数设置加上
ordered: true;标签按从低到高排序
labels 可以是字符串数组,也可以是将每个答案映射到其描述的对象。任务还可以包含 instruction 和 examples,其中每个示例都是一个 [text, answer] 对。
支持的约束表达式包括 Implies、Excludes、Cardinality、AtLevel、MinLevel 和 MaxLevel。约束类型名称区分大小写。有序约束使用以下 JSON 结构:
exact_level、minimum_level、maximum_level 和 bounded_range 仅用于说明,并不是约束字段。请将相应的约束对象直接放入 schema 的 constraints 数组中。有界范围是包含 MinLevel 和 MaxLevel 的 And;不存在 BetweenLevel 这种传输类型。
以下请求组合了单一答案、多个答案和有序任务:
choices[0].message.content 中的 JSON 字符串后,受约束结果的结构如下(概率值因输入和检查点而异):
safety 概率更偏向 safe,但选中 prompt_injection 会使该答案无效。因此,受约束解码器选择了概率较低的 unsafe 答案,以及至少为 high 的严重程度。约束会强制得到有效的联合结果;它们不会提高或重新校准底层的概率或置信度。
请始终检查 _meta.feasible。当 schema 自相矛盾,或没有任何保留的候选分配能满足所有规则时,结果可能只是尽力而为,而不是完全可行。
结构化提取 schema
结构字段使用field::type::description 规范:
关系 schema
最简单的关系 schema 是关系名称的扁平列表:组合 schema
通过组合键在同一段文本上运行多个任务:task 或 task_type。
示例
model 值必须当前支持托管推理。请使用实时模型目录,而不要假设每个 Hugging Face 检查点都可用:
响应
该端点返回聊天补全信封。GLiNER 结果以 JSON 字符串形式序列化在choices[0].message.content 中:
choices[0].message.content 解析为 JSON。当 store=true 时,
x_fastino.inference_id 标识已持久化的推理。
当编码器请求同时省略 schema 和 response_format,且 Fastino 使用所选模型的目录默认
schema 时,x_fastino.default_schema_applied 为 true。在将抽取结果视为完整之前,
请检查 x_fastino.truncated。
超大输入的异步作业
当请求超过一百万个 token 且可能超出同步超时时间时,请使用异步 GLiNER 接口。将原生 GLiNER 负载提交到:text 和 schema;还可接受 threshold、include_confidence
和 include_spans。提交成功后会返回 HTTP 202,其中包含 job_id、status、
estimated_tokens 和 message。
轮询返回的作业 ID,直到 status 为 complete 或 error:
result 和 token_usage。作业的作用域限定为经过身份验证的用户,
因此请使用同一个 API 密钥进行提交和轮询。
重复输入
该端点每个请求接受一段会话。它不支持已移除的原生端点的text: string[] 批量形式。
处理多个输入时,请并发发送多个独立请求。
错误
有关共享的重试模式,请参阅冷启动与重试。

