Server Module¶
The server module provides an OpenAI-compatible API server built on FastAPI
and uvicorn. It exposes POST /v1/chat/completions (with streaming via SSE),
GET /v1/models, and GET /health endpoints. Pydantic models ensure
request/response validation matching the OpenAI API format.
Application Factory¶
create_app¶
create_app
¶
create_app(engine, model: str, *, agent=None, bus=None, engine_name: str = '', agent_name: str = '', channel_bridge=None, config=None) -> FastAPI
Create and configure the FastAPI application.
| PARAMETER | DESCRIPTION |
|---|---|
engine
|
The inference engine to use for completions.
|
model
|
Default model name.
TYPE:
|
agent
|
Optional agent instance for agent-mode completions.
DEFAULT:
|
bus
|
Optional event bus for telemetry.
DEFAULT:
|
channel_bridge
|
Optional channel bridge for multi-platform messaging.
DEFAULT:
|
config
|
Optional JarvisConfig for security guardrails and other settings.
DEFAULT:
|
Source code in src/openjarvis/server/app.py
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | |
Route Handlers¶
chat_completions¶
chat_completions
async
¶
chat_completions(request_body: ChatCompletionRequest, request: Request)
Handle chat completion requests (streaming and non-streaming).
Source code in src/openjarvis/server/routes.py
list_models¶
list_models
async
¶
list_models(request: Request) -> ModelListResponse
List available models from the engine.
Source code in src/openjarvis/server/routes.py
health¶
health
async
¶
Health check endpoint.
Source code in src/openjarvis/server/routes.py
Pydantic Request/Response Models¶
ChatMessage¶
ChatMessage
¶
Bases: BaseModel
ChatCompletionRequest¶
ChatCompletionRequest
¶
Bases: BaseModel
ChatCompletionResponse¶
ChatCompletionResponse
¶
Bases: BaseModel
Choice¶
Choice
¶
Bases: BaseModel
ChoiceMessage¶
ChoiceMessage
¶
Bases: BaseModel
UsageInfo¶
UsageInfo
¶
Bases: BaseModel
ChatCompletionChunk¶
ChatCompletionChunk
¶
Bases: BaseModel
DeltaMessage¶
DeltaMessage
¶
Bases: BaseModel
StreamChoice¶
StreamChoice
¶
Bases: BaseModel
ModelObject¶
ModelObject
¶
Bases: BaseModel
ModelListResponse¶
ModelListResponse
¶
Bases: BaseModel
Channel Endpoints¶
list_channels¶
list_channels
async
¶
List available messaging channels.
Source code in src/openjarvis/server/routes.py
channel_send¶
channel_send
async
¶
Send a message to a channel.
Source code in src/openjarvis/server/routes.py
channel_status¶
channel_status
async
¶
Return channel bridge connection status.