Registry API Reference¶
Functions¶
register_function(name)
¶
Decorator to register a custom function.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Function name (e.g., "days_ago") |
required |
Returns:
| Type | Description |
|---|---|
Callable[[FunctionImpl], FunctionImpl]
|
Decorator function |
Example
from datetime import datetime, timedelta @register_function("days_ago") ... def days_ago(days: int) -> datetime: ... return datetime.now() - timedelta(days=days)
Source code in src/nlql/registry/functions.py
get_function(name)
¶
Operators¶
register_operator(name)
¶
Decorator to register a custom operator.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Operator name (e.g., "SIMILAR_TO") |
required |
Returns:
| Type | Description |
|---|---|
Callable[[OperatorFunc], OperatorFunc]
|
Decorator function |
Example
@register_operator("CUSTOM_OP") ... def my_operator(text: str, param: str) -> bool: ... return param in text
Source code in src/nlql/registry/operators.py
get_operator(name)
¶
Splitters¶
register_splitter(name)
¶
Decorator to register a custom text splitter.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Splitter name (e.g., "SENTENCE") |
required |
Returns:
| Type | Description |
|---|---|
Callable[[SplitterFunc], SplitterFunc]
|
Decorator function |
Example
@register_splitter("SENTENCE") ... def german_sentence_splitter(text: str) -> list[str]: ... import nltk ... return nltk.sent_tokenize(text, language='german')
Source code in src/nlql/registry/splitters.py
get_splitter(name)
¶
Embedding¶
register_embedding_provider(provider)
¶
Register a custom embedding provider.
This is a simple decorator/function that registers a single embedding provider. The provider should take a list of texts and return a list of embedding vectors.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
provider
|
EmbeddingProvider
|
Embedding provider function |
required |
Returns:
| Type | Description |
|---|---|
EmbeddingProvider
|
The same provider function (for decorator usage) |
Example
@register_embedding_provider ... def my_embedding(texts: list[str]) -> list[list[float]]: ... # Custom embedding logic ... return [[0.1, 0.2, ...] for _ in texts]
Or direct registration:
register_embedding_provider(my_embedding_function)