Observed since 20 Oct, 23:32 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
An educational multi-agent orchestration framework

AgentSys is currently an experimental sample framework intended to explore ergonomic interfaces for multi-agent systems. It is not intended to be used in production, and therefore has no official support. (This also means we will not be reviewing PRs or issues!)
The primary goal of AgentSys is to showcase the handoff & routines patterns explored in the Orchestrating Agents: Handoffs & Routines cookbook. It is not meant as a standalone library, and is primarily for educational purposes.
pip install git+ssh://git@github.com/lifsys/agentsys.git
pip install git+https://github.com/lifsys/agentsys.git
The project is organized into several key modules:
agentsys.orchestration: Core orchestration functionality
Swarm: Main orchestration class for managing agent interactionsAgent: Base class for defining agentsagentsys.models: Model interfaces and implementations
BaseModel: Abstract base class for model implementationsOpenAIModel: OpenAI model implementationagentsys.config: Configuration management
Settings: Configuration settings and utilitiesagentsys.types: Type definitions and data structuresagentsys.util: Utility functions and helpersfrom agentsys import Swarm, Agent
client = Swarm()
agent = Agent(
name="test",
instructions="You are a helpful assistant.",
model="gpt-4",
)
messages = [{"role": "user", "content": "Hello!"}]
response = client.run(agent, messages)
print(response.messages[-1]["content"])
AgentSys supports function calling with both OpenAI's function calling and tool calling APIs:
def get_weather(location: str) -> str:
"""Get the weather for a location."""
return f"The weather in {location} is sunny!"
agent = Agent(
name="weather",
instructions="You can help users check the weather.",
model="gpt-4",
functions=[get_weather],
)
messages = [{"role": "user", "content": "What's the weather in San Francisco?"}]
response = client.run(agent, messages)
print(response.messages[-1]["content"])
You can configure AgentSys using environment variables or by passing a config object:
from agentsys import Settings
settings = Settings(
openai_api_key="your-api-key",
temperature=0.7,
)
The Swarm class is the main entry point for interacting with agents. It handles:
This is an experimental project and we are not accepting contributions at this time.
MIT
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.7.0 | 18 Nov 2024 | 8 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 23:32 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:729a75b52ed2e628055d987640abe18a7c3626a301a11ae45abe2b16eeb9f272