mirror of
https://github.com/microsoft/autogen.git
synced 2025-10-06 21:47:32 +00:00
59 lines
2.0 KiB
Markdown
59 lines
2.0 KiB
Markdown
# Composable Actor Platform (CAP) for AutoGen
|
|
|
|
## I just want to run the remote AutoGen agents!
|
|
*Python Instructions (Windows, Linux, MacOS):*
|
|
|
|
pip install autogencap
|
|
|
|
1) AutoGen require OAI_CONFIG_LIST.
|
|
AutoGen python requirements: 3.8 <= python <= 3.11
|
|
|
|
```
|
|
|
|
## What is Composable Actor Platform (CAP)?
|
|
AutoGen is about Agents and Agent Orchestration. CAP extends AutoGen to allows Agents to communicate via a message bus. CAP, therefore, deals with the space between these components. CAP is a message based, actor platform that allows actors to be composed into arbitrary graphs.
|
|
|
|
Actors can register themselves with CAP, find other agents, construct arbitrary graphs, send and receive messages independently and many, many, many other things.
|
|
|
|
```python
|
|
# CAP Library
|
|
from autogencap.ComponentEnsemble import ComponentEnsemble
|
|
from autogencap.Actor import Actor
|
|
|
|
# A simple Agent
|
|
class GreeterAgent(Actor):
|
|
def __init__(self):
|
|
super().__init__(
|
|
agent_name="Greeter",
|
|
description="This is the greeter agent, who knows how to greet people.")
|
|
|
|
# Prints out the message it receives
|
|
def on_txt_msg(self, msg):
|
|
print(f"Greeter received: {msg}")
|
|
return True
|
|
|
|
ensemble = ComponentEnsemble()
|
|
# Create an agent
|
|
agent = GreeterAgent()
|
|
# Register an agent
|
|
ensemble.register(agent) # start message processing
|
|
# call on_connect() on all Agents
|
|
ensemble.connect()
|
|
# Get a channel to the agent
|
|
greeter_link = ensemble.find_by_name("Greeter")
|
|
#Send a message to the agent
|
|
greeter_link.send_txt_msg("Hello World!")
|
|
# Cleanup
|
|
greeter_link.close()
|
|
ensemble.disconnect()
|
|
```
|
|
|
|
### Check out other demos in the `py/demo` directory. We show the following: ###
|
|
1) Hello World shown above
|
|
2) Many CAP Actors interacting with each other
|
|
3) A pair of interacting AutoGen Agents wrapped in CAP Actors
|
|
4) CAP wrapped AutoGen Agents in a group chat
|
|
5) Two AutoGen Agents running in different processes and communicating through CAP
|
|
6) List all registered agents in CAP
|
|
7) Run Agent in user supplied message loop
|