Skip to content

Commit

Permalink
improve readme
Browse files Browse the repository at this point in the history
  • Loading branch information
dewmal committed Jan 26, 2025
1 parent 9c17f2b commit 8107372
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 182 deletions.
116 changes: 28 additions & 88 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,115 +4,55 @@
![PyPI - Version](https://img.shields.io/pypi/v/ceylon.svg) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ceylon.svg) ![PyPI Downloads](https://img.shields.io/pypi/dm/ceylon)

## 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.
Ceylon is a Multi-Agent System (MAS) designed to orchestrate complex task flows among multiple AI agents, enabling collaborative AI solutions through efficient agent management and communication.

![Ceylon Architecture](https://github.com/ceylonai/ceylon/blob/master/contents/images/img.png?raw=True)

## 🚀 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

## 📚 Tutorials and Examples

Ceylon provides a range of tutorials and examples to help you get started and make the most of the framework:
## Key Features

### Tutorials
- Distributed agent management and communication
- Task automation and workflow orchestration
- Scalable, performant architecture
- Cross-language interoperability
- Flexible deployment options

- [Collaborative AI Workflow: Using Ceylon Framework for Streamlined Article Creation](https://medium.com/ceylonai/collaborative-ai-workflow-using-ceylon-framework-for-streamlined-article-creation-81bbd7ee7c01)
- [A Meeting Scheduler with Ceylon - Multi Agent System](https://medium.com/ceylonai/a-meeting-scheduler-with-ceylon-multi-agent-system-a7aa5a906f36)
## Getting Started

### Example Projects
Visit [docs.ceylon.ai](https://docs.ceylon.ai) for comprehensive documentation, including:

- **Meeting Scheduler
**: [Colab Script](https://colab.research.google.com/drive/1C-E9BN992k5sZYeJWnVrsWA5_ryaaT8m?usp=sharing)
[Read more](bindings/ceylon/examples/time_scheduling)
- **Single Item Auction
**: [Colab Script](https://colab.research.google.com/drive/12o76s4CyGvOpUaACDYIaYmJgJE1hC81Y#scrollTo=_4dqqO616ifQ)
[Read more](bindings/ceylon/examples/auction)
- Installation and setup
- Core concepts
- API reference
- Best practices
- Advanced tutorials

### More Examples
## Interactive Examples

- **Task Manager**: [Read more](bindings/ceylon/examples/task_manager)
- **Auction System**: [Read more](bindings/ceylon/examples/auction)
- **Time Scheduling**: [Read more](bindings/ceylon/examples/time_scheduling)
Try Ceylon with our Colab notebooks:

## 🚦 Getting Started
- **Meeting Scheduler**: [Colab](https://colab.research.google.com/drive/1C-E9BN992k5sZYeJWnVrsWA5_ryaaT8m?usp=sharing)
- **Single Item Auction**: [Colab](https://colab.research.google.com/drive/12o76s4CyGvOpUaACDYIaYmJgJE1hC81Y#scrollTo=_4dqqO616ifQ)

To get started with Ceylon, refer to our detailed [Getting Started Guide](./docs/advance_agents). This guide walks you
through setting up a basic multi-agent system with easy-to-follow steps.
Find more examples and tutorials at [docs.ceylon.ai/tutorials](https://docs.ceylon.ai/tutorials).

## 🚧 Roadmap
## Roadmap

- [X] Agent Stack
- [X] Python SDK First Version Release
- [ ] Java/Kotlin SDK First Version Release
- [ ] NodeJS SDK First Version Release
- [ ] JS/TS SDK First Version Release
- [ ] Java/Kotlin SDK
- [ ] NodeJS SDK
- [ ] JS/TS SDK
- [ ] LLM Agents
- [ ] Web Agent
- [ ] Task Manager
- [ ] Agent Registry

## 🤝 Contributing
## Support & License

We welcome contributions! Please read our [contributing guidelines](CONTRIBUTING.md) before submitting a pull request.
- Contact: [[email protected]](mailto:[email protected])
- License: Apache-2.0 ([LICENSE](LICENSE))

## 📄 License

Ceylon is released under the Apache-2.0 license. See the [LICENSE](LICENSE) file for details.

## 📞 Contact

For questions or support, please contact us at [[email protected]](mailto:[email protected]).

## NOTE

**This project implements a peer-to-peer (P2P) networking solution designed for software agent communication, entirely
independent of any blockchain technology. Our system utilizes libp2p Rust implementation for enabling cross-network
communication between software agents, following distributed networking principles similar to BitTorrent. While libp2p
is also used in some blockchain projects, our implementation does not incorporate, rely on, or interact with any
blockchain or cryptocurrency technologies. Each agent in our network functions as an autonomous software component,
processing data and communicating through our P2P implementation powered by libp2p.**
**Note**: Ceylon implements P2P networking using libp2p Rust implementation, operating independently of blockchain technology.

---

Built with ☕ by the Ceylon Team. Star us on GitHub if you find this interesting!

---

Copyright 2024-Present, Syigen Ltd. and Syigen Private Limited. All rights reserved.
Licensed under the Apache License, Version 2.0 (See LICENSE or http://www.apache.org/licenses/LICENSE-2.0).
Copyright 2024-Present, Syigen Ltd. and Syigen Private Limited. All rights reserved.
116 changes: 28 additions & 88 deletions bindings/ceylon/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,115 +4,55 @@
![PyPI - Version](https://img.shields.io/pypi/v/ceylon.svg) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ceylon.svg) ![PyPI Downloads](https://img.shields.io/pypi/dm/ceylon)

## 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.
Ceylon is a Multi-Agent System (MAS) designed to orchestrate complex task flows among multiple AI agents, enabling collaborative AI solutions through efficient agent management and communication.

![Ceylon Architecture](https://github.com/ceylonai/ceylon/blob/master/contents/images/img.png?raw=True)

## 🚀 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

## 📚 Tutorials and Examples

Ceylon provides a range of tutorials and examples to help you get started and make the most of the framework:
## Key Features

### Tutorials
- Distributed agent management and communication
- Task automation and workflow orchestration
- Scalable, performant architecture
- Cross-language interoperability
- Flexible deployment options

- [Collaborative AI Workflow: Using Ceylon Framework for Streamlined Article Creation](https://medium.com/ceylonai/collaborative-ai-workflow-using-ceylon-framework-for-streamlined-article-creation-81bbd7ee7c01)
- [A Meeting Scheduler with Ceylon - Multi Agent System](https://medium.com/ceylonai/a-meeting-scheduler-with-ceylon-multi-agent-system-a7aa5a906f36)
## Getting Started

### Example Projects
Visit [docs.ceylon.ai](https://docs.ceylon.ai) for comprehensive documentation, including:

- **Meeting Scheduler
**: [Colab Script](https://colab.research.google.com/drive/1C-E9BN992k5sZYeJWnVrsWA5_ryaaT8m?usp=sharing)
[Read more](examples/time_scheduling)
- **Single Item Auction
**: [Colab Script](https://colab.research.google.com/drive/12o76s4CyGvOpUaACDYIaYmJgJE1hC81Y#scrollTo=_4dqqO616ifQ)
[Read more](examples/auction)
- Installation and setup
- Core concepts
- API reference
- Best practices
- Advanced tutorials

### More Examples
## Interactive Examples

- **Task Manager**: [Read more](examples/task_manager)
- **Auction System**: [Read more](examples/auction)
- **Time Scheduling**: [Read more](examples/time_scheduling)
Try Ceylon with our Colab notebooks:

## 🚦 Getting Started
- **Meeting Scheduler**: [Colab](https://colab.research.google.com/drive/1C-E9BN992k5sZYeJWnVrsWA5_ryaaT8m?usp=sharing)
- **Single Item Auction**: [Colab](https://colab.research.google.com/drive/12o76s4CyGvOpUaACDYIaYmJgJE1hC81Y#scrollTo=_4dqqO616ifQ)

To get started with Ceylon, refer to our detailed [Getting Started Guide](./docs/GettingStart.md). This guide walks you
through setting up a basic multi-agent system with easy-to-follow steps.
Find more examples and tutorials at [docs.ceylon.ai/tutorials](https://docs.ceylon.ai/tutorials).

## 🚧 Roadmap
## Roadmap

- [X] Agent Stack
- [X] Python SDK First Version Release
- [ ] Java/Kotlin SDK First Version Release
- [ ] NodeJS SDK First Version Release
- [ ] JS/TS SDK First Version Release
- [ ] Java/Kotlin SDK
- [ ] NodeJS SDK
- [ ] JS/TS SDK
- [ ] LLM Agents
- [ ] Web Agent
- [ ] Task Manager
- [ ] Agent Registry

## 🤝 Contributing
## Support & License

We welcome contributions! Please read our [contributing guidelines](CONTRIBUTING.md) before submitting a pull request.
- Contact: [[email protected]](mailto:[email protected])
- License: Apache-2.0 ([LICENSE](LICENSE))

## 📄 License

Ceylon is released under the Apache-2.0 license. See the [LICENSE](LICENSE) file for details.

## 📞 Contact

For questions or support, please contact us at [[email protected]](mailto:[email protected]).

## NOTE

**This project implements a peer-to-peer (P2P) networking solution designed for software agent communication, entirely
independent of any blockchain technology. Our system utilizes libp2p Rust implementation for enabling cross-network
communication between software agents, following distributed networking principles similar to BitTorrent. While libp2p
is also used in some blockchain projects, our implementation does not incorporate, rely on, or interact with any
blockchain or cryptocurrency technologies. Each agent in our network functions as an autonomous software component,
processing data and communicating through our P2P implementation powered by libp2p.**
**Note**: Ceylon implements P2P networking using libp2p Rust implementation, operating independently of blockchain technology.

---

Built with ☕ by the Ceylon Team. Star us on GitHub if you find this interesting!

---

Copyright 2024-Present, Syigen Ltd. and Syigen Private Limited. All rights reserved.
Licensed under the Apache License, Version 2.0 (See LICENSE or http://www.apache.org/licenses/LICENSE-2.0).
Copyright 2024-Present, Syigen Ltd. and Syigen Private Limited. All rights reserved.
11 changes: 5 additions & 6 deletions bindings/ceylon/examples/time_scheduling/time_scheduling.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ class AvailabilityResponse:


class Participant(Worker):
def __init__(self, name: str, available_slots: List[TimeSlot], admin_peer: str):
super().__init__(name=name, admin_peer=admin_peer)
def __init__(self, name: str, available_slots: List[TimeSlot]):
super().__init__(name=name)
self.available_slots = available_slots

@staticmethod
Expand Down Expand Up @@ -122,21 +122,20 @@ async def main():
)

scheduler = Scheduler(meeting)
scheduler_details = scheduler.details()

participants = [
Participant("Alice", [
TimeSlot("2024-07-21", 9, 12),
TimeSlot("2024-07-21", 14, 18)
], admin_peer=scheduler_details.id),
]),
Participant("Bob", [
TimeSlot("2024-07-21", 10, 13),
TimeSlot("2024-07-21", 15, 17)
], admin_peer=scheduler_details.id),
]),
Participant("Charlie", [
TimeSlot("2024-07-21", 11, 14),
TimeSlot("2024-07-21", 16, 18)
], admin_peer=scheduler_details.id)
])
]

await scheduler.start_agent(b"", participants)
Expand Down

0 comments on commit 8107372

Please sign in to comment.