Router
router
codex_ai.core.router
LLMRouter — registry for prompt builder functions.
Register builders via the @router.prompt(mode) decorator,
then connect to LLMDispatcher via include_router().
Classes
LLMRouter
Router for grouping prompt builder functions by mode.
Example
router = LLMRouter()
@router.prompt("chat")
async def build_chat(text: str, history: list, **kw) -> PromptResult:
return PromptResult(messages=[{"role": "user", "content": text}])
@router.prompt("summarize")
async def build_summarize(text: str, **kw) -> PromptResult:
return PromptResult(
messages=[{"role": "user", "content": f"Summarize: {text}"}],
system="Be concise.",
)
Source code in src/codex_ai/core/router.py
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | |
Attributes
builders
property
Registered builders (read-only view).
Functions
prompt(mode)
Decorator for registering a prompt builder for a given mode.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
mode
|
str
|
Identifier string (e.g., |
required |
Returns:
| Type | Description |
|---|---|
Callable[[PromptBuilder], PromptBuilder]
|
Decorator returning the original builder unchanged. |
Source code in src/codex_ai/core/router.py
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | |