Home Applications Facilis

Facilis

InterSystems does not provide technical support for this project. Please contact its developer for the technical assistance.
5
1 reviews
0
Awards
38
Views
0
IPM installs
0
1
Details
Releases (2)
Reviews (1)
Issues
Contest
[ˈfäkɪlʲɪs̠] Facilis – Effortless API Interoperability with AI

What's new in this version

  • Fixed issues
  • Improved Readme.md
    • 🛠️ How It Works
    • 💡 How to Use

Gitter
Quality Gate Status
Reliability Rating

License: MIT

Facilis - Effortless API Interoperability with AI

Facilis made by AI

Facilis is an AI-powered solution designed to streamline API integration by extracting structured specifications from natural language descriptions. Now powered by CrewAI, Facilis ensures a more efficient and modular approach to handling API documentation and interoperability.

How to pronounce Facilis: [ˈfäkɪlʲɪs̠]

🚀 Motivation

Managing API integrations can be complex and error-prone. Facilis simplifies this process by leveraging AI to extract and validate API details, ensuring compliance with OpenAPI standards and facilitating seamless interoperability.

🛠️ How It Works

Facilis processes user-provided API descriptions, extracting key details such as endpoints, HTTP methods, parameters, authentication, and more. It then structures the extracted information into OpenAPI-compliant JSON and exports it to InterSystems IRIS for interoperability. The workflow consists of multiple AI agents, orchestrated by CrewAI, handling:

  • Extraction: Identifies and structures API specifications from natural language.
  • Interaction: Requests missing details from the user.
  • Validation: Ensures API compliance and consistency.
  • Transformation: Converts structured API details into OpenAPI JSON.
  • Review: Verifies OpenAPI compliance before finalization.
  • Integration: Connects with Facilis API on InterSystems IRIS. Handles deployment configurations, creating the production, Business Services, Business Operations, and everything else

📋 Prerequisites

  • Python 3.10+
  • Docker & Docker Compose
  • An API key from your preferred LLM provider (OpenAI, Azure OpenAI, Google Gemini, or Claude)

🛠️ Installation

1️⃣ Clone the Repository

git clone https://github.com/musketeers-br/dc-facilis
cd dc-facilis

2️⃣ Set Up Environment Variables

Facilis requires two .env files, one in the root directory and another in python/facilis/.

Create .env files based on the provided samples

cp env_sample .env
cp python/facilis/env_sample python/facilis/.env

Edit .env and python/facilis/.env with your settings

# AI Engine selection (choose one: openai, azureopenai, googleGemini, claude, ollama)
AI_ENGINE=openai  

LLM Model Name

LLM_MODEL_NAME=gpt-4o-mini

API Key for the selected AI provider

OPENAI_API_KEY=your-api-key-here

3️⃣ Run with Docker Compose

# Build the container
docker-compose build --no-cache --progress=plain

Start the application

docker-compose up -d

Stop and remove containers

docker-compose down --rmi all

💡 How to Use

1. Describe Your APIs

Simply describe your API endpoints in natural language. For example:

I want to retrieve all users from api.example.com/users using GET method and also create a new user POST api.example.com/users

This will be automatically converted into proper API specifications for:

  • GET /users - Retrieve all users
  • POST /users - Create a new user

2. Provide Production Details

  • Enter your production name
  • Specify the namespace

Facilis will handle the rest!

🚧 Limitations

  • Accuracy of extracted API details depends on the quality of user input.
  • LLM-based processing may introduce minor inconsistencies requiring manual review.
  • Currently optimized for OpenAPI 3.0.

🎖️ Credits

Facilis is developed with ❤️ by the Musketeers Team

Made with
Version
1.0.130 Mar, 2025
Category
Solutions
Works with
InterSystems IRIS
First published
30 Mar, 2025
Last edited
30 Mar, 2025