OpenFlow Protocol

Providers

Provider System

Provider Architecture

The OpenFlow Protocol defines a standardized provider interface that enables integration with external services. Providers abstract the implementation details of specific services while maintaining a consistent interface for node execution.

Provider Types

Provider TypeCapabilitiesCommon ServicesUse Cases
LLM ProvidersText generation, chat completion, vision analysisOpenAI, Anthropic, CohereContent creation, Q&A, code generation
Vector DatabaseEmbedding storage, similarity search, CRUD operationsPinecone, Weaviate, ChromaSemantic search, RAG systems
Embedding ProvidersText-to-vector conversion servicesOpenAI, Cohere, HuggingFaceDocument indexing, similarity matching
Storage ProvidersFile storage and retrieval servicesAWS S3, Google Cloud, Local FSDocument processing, asset management
Custom ProvidersUser-defined service integrationsAPIs, databases, toolsDomain-specific integrations

Provider Configuration Schema

{
  provider_id: {
    type: "provider_type (lowercase_underscore, e.g., 'openai', 'anthropic', 'pinecone', 'chroma')",
    apiKey: "api_credential (base64_encoded_string or environment_variable_reference like '${OPENAI_API_KEY}')",
    endpoint: "custom_endpoint_url (https_url, optional, overrides default provider endpoint)",
    timeout: "request_timeout_ms (integer, 1000-300000, default: 30000)",
    rate_limit: {
      concurrent_limit: "max_concurrent_requests (integer, 1-100, default: 10)",
      rps: "requests_per_second (integer, 1-1000, default: 60)",
      retry_strategy: {
        max_retries: "max_retry_attempts (integer, 0-10, default: 3)",
        backoff: "backoff_strategy (enum: 'linear' | 'exponential' | 'fixed', default: 'exponential')",
        base_delay: "base_delay_ms (integer, 100-10000, default: 1000)",
        jitter: "enable_jitter (boolean, adds randomness to prevent thundering herd, default: true)"
      }
    },
    custom_config: "provider_specific_settings (object, varies by provider, e.g., {model: 'gpt-4', temperature: 0.7})"
  }
}

Provider Interface Requirements

RequirementPurposeImplementation DetailsCompliance
AuthenticationSecure credential handlingAPI keys, OAuth, JWT tokensMandatory
Rate LimitingRequest throttling and queuingConfigurable RPS, concurrent limitsMandatory
Error HandlingStandardized error responsesOpenFlow error format complianceMandatory
Retry LogicConfigurable retry behaviorExponential backoff, max attemptsMandatory
Timeout ManagementRequest timeout handlingPer-request timeout configurationMandatory
LoggingIntegration with OpenFlow loggingStructured logs, correlation IDsRecommended

On this page