Ceylon is an advanced multi-agent platform specifically developed for Ceylon Aritficial Intelligence.
Project description
Ceylon: Multi Agent Framework
Empowering Collaboration, Simplifying Complexity
Introduction
Welcome to Ceylon: A Multi-Agent System (MAS) designed to orchestrate complex task flows among multiple AI agents. Ceylon manages and automates interactions between agents, each with specific roles and responsibilities, enabling powerful collaborative AI solutions. By empowering collaboration and simplifying complexity, Ceylon opens up new possibilities in AI-driven task automation and problem-solving.
🚀 Key Features
- Agent Management: Easily define and manage agents with specific roles and tools.
- Task Automation: Automate task flow based on agent input and predefined sequences.
- Scalability: Handle multiple agents and complex workflows with ease.
- Customization: Highly adaptable to fit diverse use cases.
- Distributed Architecture: Developed as a robust distributed system.
- Efficient Message Propagation: Utilizes a powerful framework for reliable inter-agent communication.
- Interoperability and Performance: Ensures seamless operation across different programming languages while providing memory safety and high performance.
- Chief Agent Leadership: Centralized task management and execution flow.
- Parallel or Sequential Execution: Adapt to your task's needs.
- Customizable I/O: Define inputs and outputs tailored to your requirements.
- Versatile Deployment: Run as a server or standalone application.
🌟 Why Ceylon?
Ceylon pushes the boundaries of what's possible in task automation and AI collaboration. It's not just another framework; it's a new paradigm for solving complex problems.
- Achieve the Impossible: Tackle tasks that traditional single-agent or monolithic systems can't handle.
- Flexible Architecture: Easily adapt to various use cases, from customer support to market analysis.
- Scalable Performance: Distribute workload across multiple agents for improved efficiency.
- Rich Interaction: Agents share information, creating a truly collaborative AI ecosystem.
🛠️ Use Cases
- Automated customer support systems
- Intelligent meeting schedulers
- Real-time stock market analysis
- AI-driven content creation pipelines
- Complex data processing and decision-making systems
🚦 Getting Started
Here's a simple example of how to use Ceylon to create a multi-agent system for a trading decision process:
from ceylon import Agent, AgentJobStepRequest, AgentJobResponse, JobRequest, JobSteps, Step, RunnerAgent
class TechnicalAnalysisAgent(Agent):
async def execute_request(self, request: AgentJobStepRequest) -> AgentJobResponse:
return AgentJobResponse(
worker=self.details().name,
job_data={"MA": 100.0, "EMA": 200.0}
)
class NewsSentimentAgent(Agent):
async def execute_request(self, request: AgentJobStepRequest) -> AgentJobResponse:
return AgentJobResponse(
worker=self.details().name,
job_data={"sentiment": "Positive"}
)
class DecisionMakerAgent(Agent):
async def execute_request(self, request: AgentJobStepRequest) -> AgentJobResponse:
return AgentJobResponse(
worker=self.details().name,
job_data={"trade": True}
)
# Create agent instances
ta_agent = TechnicalAnalysisAgent(name="ta", role="Technical Analyst")
news_agent = NewsSentimentAgent(name="news", role="News Analyst")
decision_agent = DecisionMakerAgent(name="decision", role="Decision Maker")
# Create the runner agent
chief = RunnerAgent(workers=[ta_agent, news_agent, decision_agent])
# Define the job
job = JobRequest(
title="Trading Decision",
explanation="Analyze market data and make a trading decision",
steps=JobSteps(steps=[
Step(worker="ta", explanation="Perform technical analysis", dependencies=[]),
Step(worker="news", explanation="Analyze news sentiment", dependencies=[]),
Step(worker="decision", explanation="Make trading decision", dependencies=["ta", "news"])
])
)
# Execute the job
result = chief.execute(job)
print(result)
This example demonstrates how to:
- Define custom agents for different tasks
- Create a runner agent to orchestrate the process
- Define a job with multiple steps and dependencies
- Execute the job and get the result
Examples
- Example Example
- Colab Scripts
Tutorials
- Collaborative AI Workflow: Using Ceylon Framework for Streamlined Article Creation
- A Meeting Scheduler with Ceylon - Multi Agent System
🚧 Todo
- LLM Agent Stack
- Job Handling (parallel & sequential)
- Web Agent
- Agent Registry
🤝 Contributing
We welcome contributions! Please read our contributing guidelines before submitting a pull request.
📄 License
Ceylon is released under the Apache-2.0 license. See the LICENSE file for details.
📞 Contact
For questions or support, please contact us at support@ceylon.ai.
Built with ☕ by the Ceylon Team. Star us on GitHub if you find this interesting!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for ceylon-0.15.12-py3-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14cc7389c844a93395b61b12e52bd20dcc1b56eb9b361a25cf6e835f10ddf3d0 |
|
MD5 | 9c954c0bd8a7d8f423baadef35da0a30 |
|
BLAKE2b-256 | 5ea65f2a864926233f65b6672e831c295c01c49c5b34b7106cb8dbdd7d7ae622 |
Hashes for ceylon-0.15.12-py3-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d78dfcb41eb8a0c585fdafef4aacbb82c8c73e67201c23f8af3fd51ae084d0a7 |
|
MD5 | a61184b7947dc8329698fdfea8a18851 |
|
BLAKE2b-256 | 1818bfade8cd1ab1ff6c3ee4c8eccc4ebf5d5d9a9b84c60ce3bb4ae1638f22b4 |
Hashes for ceylon-0.15.12-py3-none-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc7838ea9d6ebbd3655eaaf87936e306a446ec6320ee028651c071553e31ac68 |
|
MD5 | 4e843b009656d6c28406136cc3f1f5ec |
|
BLAKE2b-256 | aada7d17377362912f4fa84f12d65f11e7324319765a45f1d3ae76ddb435390f |
Hashes for ceylon-0.15.12-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fde7a98be3c63f2465b1e6db569d313304ce8901a0255bade275eb08262d797 |
|
MD5 | 233f68f7b7cb2b4bff0ee6209b7a34b0 |
|
BLAKE2b-256 | 30b6728cd23ab4a76225ea02b0084b02311b00c5bcf02d3b7418827c45b53c3a |
Hashes for ceylon-0.15.12-py3-none-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bc0b7ede90e590f44761e8b4ba63e335bed8bb5ed0395fe4c9395d008d47992 |
|
MD5 | 4cc327ce4c5d67bd94d4391a3a6cb731 |
|
BLAKE2b-256 | ca2b4885dcbb00b4151b6261eb0f9a250c4233b2a1ec175711ed152ed5108e31 |