mirror of https://github.com/microsoft/autogen.git
27 lines
1.8 KiB
Markdown
27 lines
1.8 KiB
Markdown
# AutoGen Services
|
|
|
|
## Overview
|
|
|
|
Each AutoGen agent system has one or more Agent Workers and a set of services for managing/supporting the agents. The services and workers can all be hosted in the same process or in a distributed system. When in the same process communication and event delivery is in-memory. When distributed, workers communicate with the service over gRPC. In all cases, events are packaged as CloudEvents. There are multiple options for the backend services:
|
|
|
|
- In-Memory: the Agent Workers and Services are all hosted in the same process and communicate over in-memory channels. Available for python and .NET.
|
|
- Python only: Agent workers communicate with a python hosted service that implements an in-memory message bus and agent registry.
|
|
- Micrososft Orleans: a distributed actor system that can host the services and workers, enables distributed state with persistent storage, can leverage multiple event bus types, and cross-language agent communication.
|
|
- *Roadmap: support for other languages distributed systems such as dapr or Akka.*
|
|
|
|
The Services in the system include:
|
|
|
|
- Worker: Hosts the Agents and is a client to the Gateway
|
|
- Gateway:
|
|
-- RPC gateway for the other services APIs
|
|
-- Provides an RPC bridge between the workers and the Event Bus
|
|
-- Message Session state (track message queues/delivery)
|
|
- Registry: keeps track of the {agents:agent types}:{Subscription/Topics} in the system and which events they can handle
|
|
-- *Roadmap: add lookup api in gateway*
|
|
- AgentState: persistent state for agents
|
|
- Routing: delivers events to agents based on their subscriptions+topics
|
|
-- *Roadmap: add subscription management APIs*
|
|
- *Roadmap: Management APIs for the Agent System*
|
|
- *Roadmap: Scheduling: manages placement of agents*
|
|
- *Roadmap: Discovery: allows discovery of agents and services*
|