Compresses tool outputs, logs, files and RAG chunks before they reach an LLM, as a library, proxy or MCP server.
cloudwego/eino
A Go framework for building LLM applications and AI agents, with composable components, graph orchestration, and human-in-the-loop interrupts.
Open-source alternative to:LangChain
- Stars
- 13,361
- Forks
- 1,138
- Open issues
- 258
- Last commit
- yesterday
What is it?
Eino is an LLM application development framework for Go, designed to follow Golang conventions while drawing on ideas from LangChain and Google ADK. It provides reusable components such as ChatModel, Tool, Retriever, and ChatTemplate, with official implementations for providers like OpenAI and Ollama.
On top of these components, the Agent Development Kit lets you build agents that use tools, coordinate multiple sub-agents, manage context, and pause for human input with interrupt and resume. A ChatModelAgent handles the ReAct loop internally, and a DeepAgent variant breaks tasks into steps and delegates to sub-agents.
The composition layer connects components into graphs and workflows that run standalone or are exposed as tools for agents. Streams are handled automatically as data moves between nodes, and callbacks can be attached at fixed points for logging, tracing, and metrics.
Key features
- 01Reusable ChatModel, Tool, Retriever, and ChatTemplate components with official provider implementations.
- 02Agent Development Kit for tool-using agents, multi-agent coordination, and context management.
- 03Interrupt and resume support for human-in-the-loop workflows with checkpointed state.
- 04Graph and workflow composition that can be exposed as agent tools.
- 05Automatic stream handling between nodes, plus callbacks for logging, tracing, and metrics.
Use cases
- Building a Go service that needs a chat agent with tool calling.
- Orchestrating deterministic LLM pipelines such as generate, validate, and format steps.
- Creating multi-agent systems where a coordinator delegates work to specialized sub-agents.
- Adding human approval steps to agent workflows using interrupt and resume.
Quick start
- 1
Configure an OpenAI ChatModel with your API key
- 2
Create a ChatModelAgent and a Runner from the ChatModel
- 3
Send a query with runner.Query and read the events from the iterator
Things to know
- The quick start example needs an OpenAI API key (OPENAI_API_KEY) or a similar model provider.
- Official component implementations such as OpenAI and Ollama live in the separate eino-ext repository.
Topics
FAQ
- What is eino?
- A Go framework for building LLM applications and AI agents, with composable components, graph orchestration, and human-in-the-loop interrupts. Eino is an LLM application development framework for Go, designed to follow Golang conventions while drawing on ideas from LangChain and Google ADK. It provides reusable components such as ChatModel, Tool, Retriever, and ChatTemplate, with official implementations for providers like OpenAI and Ollama.
- Is eino free to use? What license does it have?
- eino is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is eino still maintained?
- Actively maintained. The last commit to eino was on Oct 19, 2026.
- What can I use eino for?
- Building a Go service that needs a chat agent with tool calling. Orchestrating deterministic LLM pipelines such as generate, validate, and format steps. Creating multi-agent systems where a coordinator delegates work to specialized sub-agents. Adding human approval steps to agent workflows using interrupt and resume.
- How do I install eino?
- Configure an OpenAI ChatModel with your API key Create a ChatModelAgent and a Runner from the ChatModel Send a query with runner.Query and read the events from the iterator
- Where can I get eino?
- The source code and installation instructions are on GitHub: https://github.com/cloudwego/eino
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hostable AI second brain that answers questions from the web and your own documents, with custom agents and scheduled automations.
An opinionated, batteries-included agent harness for Python that runs long multi-step tasks out of the box on LangGraph.
An open-source autonomous research agent that plans questions, gathers web and local sources, and writes cited reports with any LLM provider.
An open agent framework where the AI agent gets its own Dockerized Linux desktop, browser, and document tools to carry out real work.
Agent-native memory infrastructure that turns LLM agent conversations and execution into persistent, structured memory for Python and TypeScript apps.