Component Interactions¶
This page describes the interactions between components in the Bluefly LLM ecosystem.
Overview¶
The Bluefly LLM ecosystem consists of several components that interact to provide a comprehensive solution for natural language processing:
- BFAPI: The central API service that coordinates requests between clients and models
- BFLLM: The machine learning component that manages model inference and training
- BFCLI: The command-line interface for interacting with the ecosystem
- BFUI: The user interface components for building web applications
Interaction Diagrams¶
Basic Request Flow¶
- Client application sends request to BFAPI
- BFAPI validates and processes the request
- BFAPI forwards the request to BFLLM for model inference
- BFLLM returns the model output to BFAPI
- BFAPI formats and returns the response to the client
Learning Flow¶
- User provides feedback on model outputs through BFCLI or application
- Feedback is stored in BFAPI database
- BFLLM periodically retrieves feedback data for model training
- BFLLM updates models based on feedback
- Updated models are deployed for inference
API Contracts¶
The communication between components is governed by well-defined API contracts:
- BFAPI <-> BFLLM: REST API for model inference and training
- BFCLI <-> BFAPI: REST API for command-line interactions
- BFUI <-> BFAPI: REST API for web application interactions
Authentication and Authorization¶
All interactions between components are secured using JWT authentication:
- Components authenticate using API keys or user credentials
- BFAPI issues JWT tokens with appropriate scopes
- Tokens are included in all API requests
- BFAPI validates tokens and enforces authorization rules