go-kratos/blades
Blades is a Go-based multimodal AI Agent framework.
What it solves
Blades provides a structured framework for Go developers to build multimodal AI agents. It solves the complexity of integrating various large language models (LLMs), managing conversation memory, and orchestrating multi-step reasoning workflows within a language typically used for backend services rather than AI orchestration.
How it works
The framework uses a decoupled, pluggable architecture based on unified interfaces. It coordinates several core components:
- Agent: The primary unit that executes tasks by combining models and tools.
- ModelProvider: An adapter layer that allows developers to switch between different LLMs (like OpenAI, DeepSeek, or Gemini) without changing core logic.
- Tool: External functions (APIs, databases) that the agent can invoke to interact with the real world.
- Memory: A system for storing and retrieving conversation history to maintain context across turns.
- Chain/Flow: A mechanism to link multiple agents or steps together to create complex data and control flows.
- Middleware: An "onion-model" chain used to handle cross-cutting concerns like logging, monitoring, and guardrails.
Who it’s for
Go developers who want to build production-ready AI agents, conversational applications, or complex AI workflows using an idiomatic Go codebase.
Highlights
- Go Idiomatic: Designed to feel familiar to Go developers with a focus on simplicity and extensibility.
- Pluggable Models: Easily swap LLM providers via the
ModelProviderinterface. - Multimodal Support: Built as a multimodal AI agent framework.
- Skill Injection: Supports loading agent skills from directories or embedded filesystems following the Agent Skill specification.
Related
- Project
- Project
- Project
- Project
- Project