pkg/

directory
v1.18.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2026 License: MIT

Directories

Path Synopsis
comm
conformance
Package conformance provides a shared contract suite that every Hermod source and sink must satisfy.
Package conformance provides a shared contract suite that every Hermod source and sink must satisfy.
formatter/schemaregistry
Package schemaregistry formats a Hermod message as a Confluent-framed record, so that a topic Hermod writes can be read by the consumers an existing Kafka estate already runs.
Package schemaregistry formats a Hermod message as a Confluent-framed record, so that a topic Hermod writes can be read by the consumers an existing Kafka estate already runs.
reply
Package reply carries what a workflow did with a message back to a caller that is waiting for it.
Package reply carries what a workflow did with a message back to a caller that is waiting for it.
sink/fcm
Package fcm sends messages to devices, topics and conditions through Firebase Cloud Messaging.
Package fcm sends messages to devices, topics and conditions through Firebase Cloud Messaging.
sink/metis
Package metis drives a BPMN 2.0 workflow engine from a Hermod pipeline.
Package metis drives a BPMN 2.0 workflow engine from a Hermod pipeline.
sink/mldataset
Package mldataset is the Collect Dataset sink: each message a workflow sends it becomes a row of a dataset on Hermod's hermod-ml worker, so the next training of a model on that dataset learns from it.
Package mldataset is the Collect Dataset sink: each message a workflow sends it becomes a row of a dataset on Hermod's hermod-ml worker, so the next training of a model on that dataset learns from it.
sink/panmail
Package panmail sends each message as an email through a panmail gateway.
Package panmail sends each message as an email through a panmail gateway.
sink/txgroup
Package txgroup writes to several sinks inside one distributed transaction.
Package txgroup writes to several sinks inside one distributed transaction.
source/metis
Package metis reads a BPMN 2.0 workflow engine into a Hermod pipeline.
Package metis reads a BPMN 2.0 workflow engine into a Hermod pipeline.
transformer/features
Package features holds the feature-engineering transformers: the steps that turn a record into the numbers a model takes, the same way at training and at inference.
Package features holds the feature-engineering transformers: the steps that turn a record into the numbers a model takes, the same way at training and at inference.
transformer/genai
Package genai holds the workflow nodes that call a large language model: ai_prompt, ai_extract and ai_embed.
Package genai holds the workflow nodes that call a large language model: ai_prompt, ai_extract and ai_embed.
transformer/genai/memory
Package memory gives an AI node a memory of the conversation a message belongs to: the earlier exchanges of the same chat, loaded before the model is called and extended after it answers.
Package memory gives an AI node a memory of the conversation a message belongs to: the earlier exchanges of the same chat, loaded before the model is called and extended after it answers.
transformer/genai/retrieve
Package retrieve is the ai_retrieve (RAG) transformer: it embeds a query with the node's AI connection, asks a vector store for the nearest documents, and writes them with their scores into the message, ready for a following ai_prompt node (or an ai_agent tool).
Package retrieve is the ai_retrieve (RAG) transformer: it embeds a query with the node's AI connection, asks a vector store for the nearest documents, and writes them with their scores into the message, ready for a following ai_prompt node (or an ai_agent tool).
transformer/geo
Package geo holds the geometry transformer: the distance between two points on a record, and whether a point lies in a polygon.
Package geo holds the geometry transformer: the distance between two points on a record, and whether a point lies in a polygon.
transformer/ml
Package ml holds the machine-learning transformers.
Package ml holds the machine-learning transformers.
transformer/structure
Package structure holds the transformers that change the shape of a record rather than its values: flatten and unflatten, parse_field, template_render and field_diff.
Package structure holds the transformers that change the shape of a record rather than its values: flatten and unflatten, parse_field, template_render and field_diff.
telemetry/aimetrics
Package aimetrics turns the record of every language model call an AI node makes into the Prometheus metrics in pkg/engine/telemetry.
Package aimetrics turns the record of every language model call an AI node makes into the Prometheus metrics in pkg/engine/telemetry.
twopc
Package twopc coordinates two-phase commit across sinks.
Package twopc coordinates two-phase commit across sinks.
infra
ackwatermark
Package ackwatermark turns out-of-order acknowledgements into a cursor that is safe to persist.
Package ackwatermark turns out-of-order acknowledgements into a cursor that is safe to persist.
avrodecode
Package avrodecode decodes Avro binary records into map[string]any.
Package avrodecode decodes Avro binary records into map[string]any.
pgxutil
Package pgxutil centralizes pgx connection configuration so that every Postgres connection (source metadata, sink pool, pgvector pool, state store) is built consistently and is safe to use behind a transaction/statement pooling proxy such as PgBouncer.
Package pgxutil centralizes pgx connection configuration so that every Postgres connection (source metadata, sink pool, pgvector pool, state store) is built consistently and is safe to use behind a transaction/statement pooling proxy such as PgBouncer.
schemaregistry
Package schemaregistry speaks the Confluent Schema Registry wire format and REST API.
Package schemaregistry speaks the Confluent Schema Registry wire format and REST API.
sqlident
Package sqlident validates and quotes SQL identifiers.
Package sqlident validates and quotes SQL identifiers.
tracing
Package tracing carries trace context on a message rather than in a Go context.
Package tracing carries trace context on a message rather than in a Go context.
llm
Package llm is Hermod's one interface to large language model providers.
Package llm is Hermod's one interface to large language model providers.
anthropic
Package anthropic is the llm adapter for Claude, through the official Anthropic Go SDK.
Package anthropic is the llm adapter for Claude, through the official Anthropic Go SDK.
connect
Package connect builds a ready-to-use llm.Provider from a connection description: the adapter for its kind, plus retries, a concurrency limit and an optional fallback chain.
Package connect builds a ready-to-use llm.Provider from a connection description: the adapter for its kind, plus retries, a concurrency limit and an optional fallback chain.
gemini
Package gemini is the llm adapter for Google's Gemini API (generativelanguage.googleapis.com, v1beta generateContent).
Package gemini is the llm adapter for Google's Gemini API (generativelanguage.googleapis.com, v1beta generateContent).
openai
Package openai is the llm adapter for the OpenAI Chat Completions wire format.
Package openai is the llm adapter for the OpenAI Chat Completions wire format.
ml
builtin
Package builtin is Hermod's built-in ML engine: datasets, training, versions and predictions in Hermod's own process, in pure Go, with no hermod-ml worker to run.
Package builtin is Hermod's built-in ML engine: datasets, training, versions and predictions in Hermod's own process, in pure Go, with no hermod-ml worker to run.
builtin/learn
Package learn holds the built-in ML engine's algorithms, in pure Go: ridge and logistic regression, a random forest, gradient-boosted trees and a small multilayer perceptron, over the same preprocessing the hermod-ml worker applies (ml/worker/hermod_ml/training.py build_pipeline): a missing number gets the training median, numbers are standardised for the linear model and the network, and text is one-hot encoded.
Package learn holds the built-in ML engine's algorithms, in pure Go: ridge and logistic regression, a random forest, gradient-boosted trees and a small multilayer perceptron, over the same preprocessing the hermod-ml worker applies (ml/worker/hermod_ml/training.py build_pipeline): a missing number gets the training median, numbers are standardised for the linear model and the network, and text is one-hot encoded.
builtin/table
Package table is the built-in ML engine's dataset in memory: typed columns, read from JSON rows, CSV or Excel, with the hermod-ml worker's typing rules (ml/worker/hermod_ml/datasets.py), so the same file gives the same columns on either engine.
Package table is the built-in ML engine's dataset in memory: typed columns, read from JSON rows, CSV or Excel, with the hermod-ml worker's typing rules (ml/worker/hermod_ml/datasets.py), so the same file gives the same columns on either engine.
inference
Package inference calls a model server and turns its answer back into rows.
Package inference calls a model server and turns its answer back into rows.
onnxscore
Package onnxscore evaluates small tabular ONNX models in pure Go: the linear models and tree ensembles scikit-learn and XGBoost export through skl2onnx and onnxmltools, with the preprocessing glue those exports carry.
Package onnxscore evaluates small tabular ONNX models in pure Go: the linear models and tree ensembles scikit-learn and XGBoost export through skl2onnx and onnxmltools, with the preprocessing glue those exports carry.
profile
Package profile describes a dataset for someone deciding what to do with it: per column its kind, how much is missing, how many different values it has, and its numbers, top values or dates with a small chart; the data's problems in plain words, each with how to fix it; and the numeric columns that move together.
Package profile describes a dataset for someone deciding what to do with it: per column its kind, how much is missing, how many different values it has, and its numbers, top values or dates with a small chart; the data's problems in plain words, each with how to fix it; and the numeric columns that move together.
recommend
Package recommend serves the recommendation models the hermod-ml worker trains (ml/worker/hermod_ml/recommend.py) in-process: it parses a version's artifact once and answers "which items next for this person" and "which items are like this one" from it, without a call to the worker.
Package recommend serves the recommendation models the hermod-ml worker trains (ml/worker/hermod_ml/recommend.py) in-process: it parses a version's artifact once and answers "which items next for this person" and "which items are like this one" from it, without a call to the worker.
worker
Package worker is Hermod's client for its hermod-ml worker: the Python process that holds datasets, trains models on them, exports each one to ONNX and serves it over the Open Inference Protocol.
Package worker is Hermod's client for its hermod-ml worker: the Python process that holds datasets, trains models on them, exports each one to ONNX and serves it over the Open Inference Protocol.
security
pii

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL