AI Processors
AI Processors are the specialized agents within NetOrca Pack, defined by Service Owners, that execute specific stages of the automated configuration generation workflow. Each AI Processor is configured for a specific service and processing stage, i.e., CONFIG, VERIFY, or RESULTS. By combining multiple AI Processors, service owners can build their own multi-stage pipelines that generate, validate, and finalize network configurations with minimal human intervention.
Understanding AI Processor Stages
NetOrca Pack operates through three distinct processing stages, each serving a specific purpose in the configuration generation lifecycle:
CONFIG Stage
The CONFIG stage is responsible for generating initial implementation-ready configurations based on service item declarations like JSON configuration files for network devices, Infrastructure-as-code templates, Policy definitions, and rule sets. This is where the primary transformation occurs - converting high-level service requirements into vendor-specific configuration files.
VERIFY Stage
The VERIFY stage validates and reviews generated configurations. It can be used for validation reports, checking for potential issues, security assessment results, recommendations for configuration improvements. This optional stage provides quality assurance before configurations are applied to production infrastructure.
RESULTS Stage
The RESULTS stage performs final testing, quality assessment, and preparation of configurations for deployment. This optional stage provides the final layer of confidence before production deployment.
Setting Up AI Processors
AI Processors are configured by Service Owners after LLM Models have been set up by administrators. Each service can have one AI Processor for each stage. To set up an AI Processor:
POST /v1/external/serviceowner/ai_processors/ HTTP/1.1
Content-Type: application/json
Authorization: Token <YOUR_TOKEN>
{
"name": "Awesome Agent",
"service": <service_id>>,
"llm_model": <llm_model_id>,
"processor_type": "<config|verify|results>",
"prompt": "Generate an AS3 config for this service item.",
"response_schema": {
"type": "object",
"title": "AS3Config",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"declaration"
],
"properties": {
"declaration": {
"type": "object",
}
}
}
}
Response Schema
Define the expected structure of the AI's response using JSON Schema format. This ensures consistent, parseable outputs that can be processed by the infrastructure apis.
Note: The LLM Model selected for the AI Processor must be able to respond with predefined the json schema. Not all LLM models support this feature.
Prompt
Define the prompt that customizes the LLM's behavior for this specific processor and stage. This prompt is a wrapper for the consumer's intent.
CONFIG Prompt Examples:
Generate a complete F5 AS3 configuration for the following service requirements.
Include virtual server, pool, SSL profile, and health monitor configurations.
Ensure all configurations follow F5 best practices and include proper error handling.
Return only valid JSON in AS3 format.
VERIFY Prompt Examples:
Review the following F5 AS3 configuration for security vulnerabilities,
best practice compliance, and potential conflicts. Provide a detailed
validation report with pass/fail status and specific recommendations
for any identified issues.
RESULTS Prompt Examples:
Perform final quality assessment of the configuration and verification results.
Generate a deployment-ready package with documentation, rollback procedures,
and final validation summary. Confirm readiness for production deployment.
Final Prompt
Here is the final prompt that the AI Processor will send to the LLM models:
{
"netorca_prompt": "<system prompt provided by LLM Model>",
"serviceowner_prompt": "<AI Processor Prompt provided by the Service Owner>",
"service_item": {... service item declaration},
"serviceowner_comment" (only in retrigger mode): "optional comment from Service Owner",
"config" (only in verify stage or retrigger mode): {... Pack Data generated by config AI Processor},
"verify" (only in results stage): {... Pack Data generated by verify AI Processor},
"results" (only in retrigger): {... Pack Data generated by results AI Processor},
}