Skip to content

Commit

Permalink
[README]
Browse files Browse the repository at this point in the history
  • Loading branch information
Your Name committed Sep 18, 2024
1 parent feb9b85 commit 42fbd37
Show file tree
Hide file tree
Showing 72 changed files with 87 additions and 5,581 deletions.
13 changes: 0 additions & 13 deletions .readthedocs.yml

This file was deleted.

25 changes: 0 additions & 25 deletions Dockerfile

This file was deleted.

22 changes: 0 additions & 22 deletions Makefile

This file was deleted.

121 changes: 87 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,67 +1,120 @@
[![Multi-Modality](agorabanner.png)](https://discord.com/servers/agora-999382051935506503)

# Python Package Template
g
# DermaSwarm: A Production-Grade Multi-Agent Dermatology Swarm

[![Join our Discord](https://img.shields.io/badge/Discord-Join%20our%20server-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/agora-999382051935506503) [![Subscribe on YouTube](https://img.shields.io/badge/YouTube-Subscribe-red?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/@kyegomez3242) [![Connect on LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/kye-g-38759a207/) [![Follow on X.com](https://img.shields.io/badge/X.com-Follow-1DA1F2?style=for-the-badge&logo=x&logoColor=white)](https://x.com/kyegomezb)

A easy, reliable, fluid template for python packages complete with docs, testing suites, readme's, github workflows, linting and much much more

[![PyPI version](https://badge.fury.io/py/dermaswarm.svg)](https://badge.fury.io/py/dermaswarm)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/The-Swarm-Corporation/DermaSwarm/blob/main/LICENSE)


**DermaSwarm** is a production-grade multi-agent system designed for dermatologists to collaboratively diagnose and treat skin conditions. Leveraging the power of AI-driven agents, DermaSwarm cross-checks peer-reviewed dermatology research to ensure diagnosis accuracy, generates treatment plans, and outputs results in easy-to-use JSON format. With extensive logging, seamless collaboration between agents, and a focus on clinical reliability, DermaSwarm is built for real-world use by dermatology practitioners.

## Installation

You can install the package using pip
You can install **DermaSwarm** via pip:

```bash
pip install -e .
pip install -U dermaswarm
```

# Usage
```python
print("hello world")
## Features

```
- **Multi-Agent Collaboration**: Leverage multiple AI agents specialized in dermatology to analyze symptoms, suggest diagnoses, and validate findings against peer-reviewed literature.
- **Evidence-Based Diagnoses**: Each diagnosis is cross-referenced with peer-reviewed articles to ensure accuracy and up-to-date knowledge.
- **Personalized Treatment Plans**: Based on the diagnosis, DermaSwarm generates a personalized treatment plan for the patient.
- **JSON Output**: Structured outputs in JSON format, including diagnosis, references, and suggested treatments for easy integration into medical records.
- **Comprehensive Logging**: Track the entire diagnostic process with extensive logging to ensure transparency and traceability of agent actions.
- **API-Ready**: Easy to integrate with existing dermatology workflows and applications.

## Usage

Below is an example of how to use **DermaSwarm** in a typical dermatological workflow.

### Code Quality 🧹
### Example

- `make style` to format the code
- `make check_code_quality` to check code quality (PEP8 basically)
- `black .`
- `ruff . --fix`

### Tests 🧪
### Logging

[`pytests`](https://docs.pytest.org/en/7.1.x/) is used to run our tests.
**DermaSwarm** includes comprehensive logging powered by `loguru` to track agent decisions, references to peer-reviewed articles, and diagnostic conclusions. You can configure the logging settings to fit your clinic’s compliance and documentation needs.

### Publish on PyPi 🚀
```python
from dermaswarm import configure_logging

**Important**: Before publishing, edit `__version__` in [src/__init__](/src/__init__.py) to match the wanted new version.
# Configure logging
configure_logging(level="INFO", log_file="diagnosis_logs.log")
```

## API Integration

DermaSwarm can be easily integrated into any clinical software via its REST API interface. Below is an example request using cURL:

```bash
curl -X POST https://api.dermaswarm.com/diagnose \
-H "Content-Type: application/json" \
-d '{
"symptoms": {
"rash": "red, scaly patches",
"location": "forearm",
"duration": "2 weeks",
"itchiness": "severe"
},
"medical_history": {
"allergies": ["pollen"],
"current_medications": ["ibuprofen"]
}
}'
```
poetry build
poetry publish

### API Response

```json
{
"diagnosis": "Psoriasis",
"treatment_plan": {
"medications": [
{
"name": "Topical Corticosteroids",
"dosage": "Apply twice daily for 2 weeks"
}
],
"follow_up": "Reassess in 4 weeks for symptom improvement"
},
"peer_reviewed_articles": [
{
"title": "Psoriasis and Its Treatment",
"journal": "Journal of Dermatology",
"url": "https://example.com/psoriasis-article"
}
]
}
```

### CI/CD 🤖
## Configuration

We use [GitHub actions](https://github.com/features/actions) to automatically run tests and check code quality when a new PR is done on `main`.
DermaSwarm offers flexible configuration options to tailor the system to your practice:

On any pull request, we will check the code quality and tests.
```python
from dermaswarm import set_config

When a new release is created, we will try to push the new code to PyPi. We use [`twine`](https://twine.readthedocs.io/en/stable/) to make our life easier.
set_config({
"peer_review_check": True,
"output_format": "json",
"log_level": "INFO"
})
```

The **correct steps** to create a new realease are the following:
- edit `__version__` in [src/__init__](/src/__init__.py) to match the wanted new version.
- create a new [`tag`](https://git-scm.com/docs/git-tag) with the release name, e.g. `git tag v0.0.1 && git push origin v0.0.1` or from the GitHub UI.
- create a new release from GitHub UI
## Roadmap

The CI will run when you create the new release.
- **Enhanced Treatment Plans**: Addition of more diverse treatment recommendations, including alternative therapies.
- **Multi-Language Support**: Expanding the language capabilities to support non-English-speaking regions.
- **Cloud Integration**: Upcoming support for cloud-based deployments with added security and scalability.
- **Mobile App Integration**: Seamless mobile interface for real-time diagnostics on-the-go.

# Docs
We use MK docs. This repo comes with the zeta docs. All the docs configurations are already here along with the readthedocs configs.
## Contributing

We welcome contributions from the community! Please see our [CONTRIBUTING.md](https://github.com/The-Swarm-Corporation/DermaSwarm/blob/main/CONTRIBUTING.md) for more details.

## License

# License
MIT
DermaSwarm is open-source software, licensed under the [MIT License](https://github.com/The-Swarm-Corporation/DermaSwarm/blob/main/LICENSE).
Binary file removed agorabanner.png
Binary file not shown.
Binary file removed docs/.DS_Store
Binary file not shown.
42 changes: 0 additions & 42 deletions docs/applications/customer_support.md

This file was deleted.

Empty file removed docs/applications/enterprise.md
Empty file.
64 changes: 0 additions & 64 deletions docs/applications/marketing_agencies.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/architecture.md

This file was deleted.

7 changes: 0 additions & 7 deletions docs/assets/css/extra.css

This file was deleted.

Binary file removed docs/assets/img/SwarmsLogoIcon.png
Binary file not shown.
Binary file removed docs/assets/img/swarmsbanner.png
Binary file not shown.
Binary file removed docs/assets/img/tools/output.png
Binary file not shown.
Binary file removed docs/assets/img/tools/poetry_setup.png
Binary file not shown.
Binary file removed docs/assets/img/tools/toml.png
Binary file not shown.
Binary file removed docs/assets/img/zetascale.png
Binary file not shown.
Loading

0 comments on commit 42fbd37

Please sign in to comment.