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. |
|
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. |
|
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
|
|
Click to show internal directories.
Click to hide internal directories.