MATIH Platform is in active MVP development. Documentation reflects current implementation status.
12. AI Service
Agent System
Specialized Agents

Specialized Agents

Production - Integration agents for Airflow, Polaris, OpenMetadata, Ray, and Spark

Specialized Agents provide deep integrations with specific data platform components. Each agent understands the API, data model, and operational patterns of its target system.


12.2.14.1Available Specialized Agents

AgentTarget SystemCapabilities
Airflow AgentApache AirflowDAG management, trigger runs, check status, view logs
Polaris AgentApache PolarisCatalog management, table operations, namespace management
OpenMetadata AgentOpenMetadataMetadata discovery, lineage queries, quality checks
Ray AgentRay ClusterJob submission, cluster status, resource management
Spark AgentApache SparkSparkSQL execution, job management, resource monitoring

Service Discovery

Specialized agents connect to their target systems via service discovery URLs configured in src/config/settings.py:

airflow_url: str = "http://airflow-api-server.matih-data-plane.svc.cluster.local:8080/api/v1"
polaris_url: str = "http://polaris.matih-catalog.svc.cluster.local:8181"
openmetadata_url: str = "http://openmetadata.matih-catalog.svc.cluster.local:8585"
ray_head_url: str = "http://ray-head.matih-data-plane.svc.cluster.local:8265"
spark_connect_url: str = "http://spark-connect.matih-data-plane.svc.cluster.local:15002"

12.2.14.2Airflow Agent Example

# Trigger an Airflow DAG via the agent
curl -X POST http://localhost:8000/api/v1/agents/process \
  -H "Content-Type: application/json" \
  -H "X-Tenant-ID: acme-corp" \
  -d '{
    "agent_id": "airflow-agent",
    "session_id": "session-123",
    "message": "Trigger the daily_sales_etl DAG with date=2025-01-15"
  }'

The Airflow agent translates natural language into Airflow API calls:

{
  "content": "I have triggered the daily_sales_etl DAG for 2025-01-15. The DAG run ID is run-abc-123.",
  "tool_calls": [
    {
      "name": "trigger_dag",
      "arguments": {
        "dag_id": "daily_sales_etl",
        "conf": {"date": "2025-01-15"}
      }
    }
  ],
  "tool_results": [
    {
      "name": "trigger_dag",
      "result": {"dag_run_id": "run-abc-123", "state": "queued"}
    }
  ]
}