📈 GH Trending Explorer 🎲 Surprise me

← all repos

cloudwego / eino

git clone https://github.com/cloudwego/eino.git v0.9.22 · 3d ago

The ultimate LLM/AI application development framework in Go.

+7
stars, 24h · #2,059
+~49
stars, 7 days · #2,574
+~210
stars, 30 days · #2,516
13k
★ total · +0% this week
1.1k
forks · 259 open issues

Star history (as recorded here)

2026-10-20 · 13,365 ★ 2026-10-22 · 13,396 ★
LanguageGo
LicenseApache-2.0
Created2024-12-04 (1y ago)
Last push1d ago
Watchers81
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-22 — #9 daily in go · +19 ★

GitHub topics

Links

README excerpt
# Eino
English | 中文
# Overview
**Eino['aino]** is an LLM application development framework in Golang. It draws from LangChain, Google ADK, and other open-source frameworks, and is designed to follow Golang conventions.
Eino provides:
- **Components**: reusable building blocks like `ChatModel`, `Tool`, `Retriever`, and `ChatTemplate`, with official implementations for OpenAI, Ollama, and more.
- **Agent Development Kit (ADK)**: build AI agents with tool use, multi-agent coordination, context management, interrupt/resume for human-in-the-loop, and ready-to-use agent patterns.
- **Composition**: connect components into graphs and workflows that can run standalone or be exposed as tools for agents.
- **Examples**: working code for common patterns and real-world use cases.
# Quick Start
## ChatModelAgent
Configure a ChatModel, optionally add tools, and you have a working agent:
 [code] 
Add tools to give the agent capabilities:
 [code] 
The agent handles the ReAct loop internally — it decides when to call tools and when to respond.
→ ChatModelAgent examples · docs
## DeepAgent
For complex tasks, use DeepAgent. It breaks down problems into steps, delegates to sub-agents, and tracks progress:
 [code] 
DeepAgent can be configured to coordinate multiple specialized agents, run shell commands, execute Python code, and search the web.
→ DeepAgent example · docs
## Composition
When you need precise control over execution flow, use `compose` to build graphs and workflows:
 [code] 
Compositions can be exposed as tools for agents, bridging deterministic workflows with autonomous behavior:
 [code] 
This lets you build domain-specific pipelines with exact control, then let agents decide when to use them.
→ GraphTool examples · compose docs
# Key Features
## Component Ecosystem
Eino defines component abstractions (ChatModel, Tool, Retriever, Embedding, etc.) with official implementations for OpenAI, Claude, Gemini, Ark, Ollama, Elasticsearch, and more.
→ eino-ext
## Stream Processing
Eino automatically handles streaming throughout orchestration: concatenating, boxing, merging, and copying streams as data flows between nodes. Components only implement the streaming paradigms that make sense for them; the framework handles the rest.
→ docs
## Callback Aspects
Inject logging, tracing, and metrics at fixed points (OnStart, OnEnd, OnError, OnStartWithStreamInput, OnEndWithStreamOutput) across components, graphs, and agents.
→ docs
## Interrupt/Resume
Any agent or tool can pause execution for human input and resume from checkpoint. The framework handles state persistence and routing.
→ docs · examples
# Framework Structure
The Eino framework consists of:
- Eino (this repo): Type definitions, streaming mechanism, component abstractions, orchestration, agent implementations, aspect mechanisms
- EinoExt: Component implementations, callback handlers, usage examples, evaluators, prompt optimizers
- Eino Devops: Visualized development and debugging
- EinoExamples: Example app