Integration Models Overview

6 ways to integrate PraisonAI recipes into your applications

Next

Six integration models cover embedded SDK, CLI, sidecar HTTP, remote runner, events, and plugins.

python
from praisonaiagents import Agent

agent = Agent(
    name="Model Picker",
    instructions="Summarise PraisonAI recipe integration options.",
)
agent.start("Compare CLI versus embedded SDK for our CI pipeline.")

The user selects a tab or card below to compare latency, complexity, and setup time.

Diagram

Input

Agent

Output

PraisonAI recipes can be integrated into your applications using six distinct models. Each model has specific use cases, trade-offs, and implementation patterns.

Quick Comparison

By Latency

ModelLatencyBest For
Embedded SDKLowestPython apps, notebooks
CLI InvocationLowScripts, CI/CD
Plugin ModeLowIDE/CMS extensions
Local HTTP SidecarMediumMicroservices, polyglot
Remote Managed RunnerMediumMulti-tenant, cloud
Event-DrivenVariableAsync workflows

By Complexity

ModelComplexitySetup Time
Embedded SDKLowMinutes
CLI InvocationLowMinutes
Plugin ModeMediumHours
Local HTTP SidecarMediumHours
Remote Managed RunnerHighDays
Event-DrivenHighDays

Local vs Remote

ModelDeploymentNetwork Required
Embedded SDKIn-processNo
CLI InvocationLocal subprocessNo
Plugin ModeLocal/RemoteOptional
Local HTTP SidecarLocal containerLocalhost only
Remote Managed RunnerCloud/Self-hostedYes
Event-DrivenDistributedYes

Decision Guide

Diagram

Yes

No

Yes

No

Yes

No

Yes

No

Yes

No

Start

Python app?

Model 1: Embedded SDK

Script/CI/CD?

Model 2: CLI Invocation

Local microservice?

Model 3: HTTP Sidecar

Async/batch?

Model 5: Event-Driven

IDE/CMS plugin?

Model 6: Plugin Mode

Model 4: Remote Runner

Choose Your Integration Model

Feature Matrix

FeatureSDKCLISidecarRemoteEventPlugin
Streaming✅✅✅✅❌✅
Multi-tenant❌❌❌✅✅❌
Auth built-in❌❌✅✅✅❌
Async native✅❌✅✅✅✅
Process isolation❌✅✅✅✅✅
Hot reload❌✅✅✅❌❌

Quick Start

  1. Simple Usage

    Run a recipe from Python with the embedded SDK:

    python
    from praisonai import recipe
    
    result = recipe.run("my-recipe", input={"query": "Hello"})
    print(result.output)
  2. With Configuration

    Use CLI or a local HTTP sidecar when you need language-agnostic or service-style invocation:

    CLI
    praisonai recipe run my-recipe --input '{"query": "Hello"}' --json
    HTTP Sidecar
    # Start server
    praisonai serve recipe --port 8765
    
    # Invoke
    curl -X POST http://localhost:8765/v1/recipes/run \
      -H "Content-Type: application/json" \
      -d '{"recipe": "my-recipe", "input": {"query": "Hello"}}'

Next Steps

  1. Choose your integration model based on the decision guide above
  2. Follow the dedicated page for step-by-step setup
  3. Review Personas for role-specific guidance
  4. Explore Use Cases for implementation patterns