summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/resources/schema
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-06-02 12:10:32 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-06-02 12:10:32 +0200
commita67788f2b7786a2cfcb9244d1e72a7fb1815425b (patch)
treefa34be2f0f13ef4ea116dd12853c734de3bc2eca /config-model/src/main/resources/schema
parente757e5ff2e6dadbe31389c7dfeb3f52827a1668b (diff)
Introduce services.xml syntax for configuring HuggingFace embedders
Diffstat (limited to 'config-model/src/main/resources/schema')
-rw-r--r--config-model/src/main/resources/schema/common.rnc35
1 files changed, 34 insertions, 1 deletions
diff --git a/config-model/src/main/resources/schema/common.rnc b/config-model/src/main/resources/schema/common.rnc
index 21f3399a027..4e7cb526efb 100644
--- a/config-model/src/main/resources/schema/common.rnc
+++ b/config-model/src/main/resources/schema/common.rnc
@@ -53,6 +53,11 @@ GenericConfig = element config {
anyElement*
}
+ModelReference =
+ attribute model-id { xsd:string }? &
+ attribute path { xsd:string }? &
+ attribute url { xsd:string }?
+
ComponentSpec =
( attribute id { xsd:Name | JavaId } | attribute idref { xsd:Name } | attribute ident { xsd:Name } )
@@ -64,7 +69,7 @@ BundleSpec =
attribute bundle { xsd:Name }?
Component = element component {
- ComponentDefinition
+ (ComponentDefinition | TypedComponentDefinition)
}
ComponentDefinition =
@@ -72,3 +77,31 @@ ComponentDefinition =
BundleSpec &
GenericConfig* &
Component*
+
+TypedComponentDefinition =
+ attribute id { xsd:Name } &
+ (HuggingFaceEmbedder | HuggingFaceTokenizer) &
+ GenericConfig* &
+ Component*
+
+HuggingFaceEmbedder =
+ attribute type { "hugging-face-embedder" } &
+ element transformer-model { ModelReference } &
+ element tokenizer-model { ModelReference }? &
+ element max-tokens { xsd:nonNegativeInteger }? &
+ element transformer-input-ids { xsd:string }? &
+ element transformer-attention-mask { xsd:string }? &
+ element transformer-token-type-ids { xsd:string }? &
+ element transformer-output { xsd:string }? &
+ element normalize { xsd:boolean }? &
+ element onnx-execution-mode { "parallel" | "sequential" }? &
+ element onnx-interop-threads { xsd:integer }? &
+ element onnx-intraop-threads { xsd:integer }? &
+ element onnx-gpu-device { xsd:integer }?
+
+HuggingFaceTokenizer =
+ attribute type { "hugging-face-tokenizer" } &
+ element model { attribute language { xsd:string }? & ModelReference }+ &
+ element special-tokens { xsd:boolean }? &
+ element max-length { xsd:integer }? &
+ element truncation { xsd:boolean }? \ No newline at end of file