About Eino
Eino is an open source framework for building large language model applications in Go, published under the CloudWeGo project. It supplies the component abstractions and orchestration an application needs around a model: chat models, tools, prompt templates, retrievers, document loaders and arbitrary user functions, each with defined input, output and option types.
It is aimed at Go teams who want production characteristics rather than notebook experiments, particularly strong typing, concurrency control and observability. Three orchestration forms are available: Chain for a forward only sequence, Graph for cyclic or acyclic flows, and Workflow for a directed acyclic graph with field level data mapping. The framework type checks a graph when it is compiled, injects callbacks and assigns options automatically, and handles streaming by converting, concatenating, merging and copying streams, so a compiled graph can be run through Invoke, Stream, Collect or Transform. An agent development kit adds a reasoning and acting loop, transfers between multiple agents, interrupt and resume for human review, prebuilt patterns and middleware. Callbacks provide five hook points for logging, tracing and metrics.
Eino is free and released under the Apache 2.0 license, with no paid tier. Costs come only from the model providers an application calls.
The wider project includes EinoExt for component implementations, callback handlers, evaluators and prompt optimizers, EinoExamples for sample applications, and Eino Dev, an IDE plugin offering visual orchestration, visual debugging and tracing. Some components used internally at ByteDance live in separate internal repositories and are not part of the public release, and security reports are handled by the ByteDance security team.