Exosphere provides an open-source solution for deploying AI agents at scale. It simplifies the creation of dynamic workflows, enabling developers to easily define and manage reusable nodes for their workflows. With support for infinite parallel agents and robust failure handling, Exosphere ensures that AI applications can be efficiently built and maintained.
Exosphere is an open-source infrastructure designed to facilitate the execution of AI agents at scale, catering specifically to large datasets and long-running processes. By leveraging Exosphere, developers can define modular, plug-and-play nodes that operate on a reliable backbone structured as workflows. This innovative approach incorporates:
- Dynamic State Creation at runtime
- Infinite Parallel Agents for enhanced performance
- Persistent State Management ensuring reliability
- Failure Handling to maintain workflow integrity
With these features, Exosphere empowers developers to deploy production agents capable of seamlessly scaling, thus enabling the construction of robust and autonomous AI workflows.
Getting Started with Exosphere
To define your first node in Exosphere, consider the following basic structure:
from exospherehost import BaseNode
from pydantic import BaseModel
class MyFirstNode(BaseNode):
class Inputs(BaseModel):
city: str # Define inputs taken by node
class Outputs(BaseModel):
description: str # Output fields from this node
async def execute(self) -> Outputs:
return Outputs(descriptor_agent(self.inputs.city)) # Execution function
After creating the node, incorporate it into a runtime to enable its execution:
from exospherehost import Runtime
Runtime(
name="my-first-runtime",
namespace="hello-world",
nodes=[
MyFirstNode
]
).start()
Subsequently, workflows can be expressed by connecting nodes and defining their relationships in JSON format. Exosphere executes the defined graphs based on specific trigger conditions, as shown below:
{
"secrets": {},
"nodes": [
{
"node_name": "MyFirstNode",
"namespace": "hello-world",
"identifier": "describe_city",
"inputs": {
"bucket_name": "initial",
"prefix": "initial",
"files_only": "true",
"recursive": "false"
},
"next_nodes": []
}
]
}
Documentation and Resources
For detailed guidance on utilizing Exosphere, access the following resources:
- Getting Started Guide
- State Manager Setup Guide: Instructions for running Exosphere locally or in production.
- Dashboard Guide: Instructions for setting up and using the Exosphere web dashboard.
- Architecture: Insights on constructing graphs, including concepts like fanout and unite.
Commitment to Open Source
The creators of Exosphere uphold a strong commitment to the open-source community by:
- Open-sourcing a significant portion of the Exosphere codebase, inviting contributions from community members.
- Donating a portion of any profits to support open-source projects and initiatives.
- Engaging with open-source student programs to foster the next generation of contributors.
Further inquiries and suggestions can be directed to nivedit@exosphere.host.
No comments yet.
Sign in to be the first to comment.