This repository contains code for the paper "On the feasibility of identifying microservice early-stage architectures using LLMs".
ArchiLLM leverages the capabilities of Large Language Models to assist in architectural modeling tasks, potentially focusing on enterprise architecture, software architecture, or system design. This project explores the intersection of AI and architectural modeling to streamline and enhance the design process.
- AI-Powered Architecture Generation: Utilize LLMs to generate architectural models from natural language descriptions
- Model Analysis: Analyze and validate architectural designs using AI capabilities
- Interactive Design Assistant: Chat-based interface for architectural design guidance
- Export Capabilities: Generate various architectural artifacts and documentation
- Python 3.10
- Streamlit
- Required dependencies (see
requirements.txt) - API access to LLM services (if applicable)
- Clone the repository:
git clone https://github.com/IlKaiser/ArchiLLM.git
cd ArchiLLM- Install dependencies:
pip install -r requirements.txt- Configure environment variables (if needed):
cp .env.example .env
# Edit .env with your configurationLaunch the Streamlit web application:
streamlit run src/main.pyThis will start the ArchiLLM web interface, typically accessible at http://localhost:8501. The Streamlit app provides an interactive interface for:
- Inputting architectural requirements and descriptions
- Generating architectural models using LLMs
- Visualizing and editing the generated architectures
- Exporting results in various formats
Configuration options can be set through environment variables or a configuration file:
OPENAI_API_KEY: API key for OpenAI LLM servicesMISTRAL_API_KEY: API key for Mistral LLM services
This project is part of ongoing research at DIAG-Sapienza-BPM-Smart-Spaces focusing on:
- The application of LLMs in architectural modeling
- Automated generation of architectural artifacts
- AI-assisted design validation and optimization
- Integration with existing modeling frameworks
Contributions are welcome! Please read our contributing guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
If you use this project in your research, please cite:
@misc{calamo2025archillm,
title={ArchiLLM: Architecture Modeling with Large Language Models},
author={Calamo, Marco and others},
year={2025},
institution={DIAG-Sapienza-BPM-Smart-Spaces},
url={https://github.com/IlKaiser/ArchiLLM}
}This project is licensed under the MIT License - see the LICENSE file for details.
- Author: Marco Calamo
- Institution: DIAG-Sapienza-BPM-Smart-Spaces, Sapienza University of Rome
- Location: Rome, Italy
- ORCID: 0009-0006-2602-9604
- GitHub: @IlKaiser
- DIAG-Sapienza-BPM-Smart-Spaces research group
- Sapienza University of Rome
- Contributors and collaborators