BYOK (Bring Your Own Knowledge) RAG configuration.
+
+
+
+
+
Field
@@ -414,6 +419,13 @@
ByokRag
string
Path to RAG database.
+
+
score_multiplier
+
number
+
Multiplier applied to relevance scores from this vector store. Used
+to weight results when querying multiple knowledge sources. Values >
+1 boost this store’s results; values < 1 reduce them.
+
CORSConfiguration
@@ -603,9 +615,15 @@
Configuration
‘production’). Used in telemetry events.
-
solr
+
rag
-
Configuration for Solr vector search operations.
+
Configuration for all RAG strategies (inline and tool-based).
+
+
+
okp
+
+
OKP provider settings. Only used when ‘okp’ is listed in rag.inline
+or rag.tool.
Controls provider-specific behaviour for the OKP vector store. Only
+relevant when "okp" is listed in rag.inline or
+rag.tool.
+
+
+
+
+
+
+
+
+
Field
+
Type
+
Description
+
+
+
+
+
offline
+
boolean
+
When True, use parent_id for OKP chunk source URLs. When False, use
+reference_url for chunk source URLs.
+
+
+
chunk_filter_query
+
string
+
OKP filter query applied to every OKP search request. Defaults to
+‘is_chunk:true’ to restrict results to chunk documents. To add extra
+constraints, extend the expression using boolean syntax,
+e.g. ‘is_chunk:true AND product:openshift’.
+
+
+
PostgreSQLDatabaseConfiguration
PostgreSQL database configuration.
PostgreSQL database is used by Lightspeed Core Stack service for
@@ -1337,6 +1390,48 @@
RHIdentityConfiguration
+
RagConfiguration
+
RAG strategy configuration.
+
Controls which RAG sources are used for inline and tool-based
+retrieval.
+
Each strategy lists RAG IDs to include. The special ID
+"okp" defined in constants, activates the OKP provider; all
+other IDs refer to entries in byok_rag.
+
Backward compatibility: - inline defaults to
+[] (no inline RAG). - tool defaults to
+None which means all registered vector stores are used
+(identical to the previous tool.byok.enabled = True
+default).
+
+
+
+
+
+
+
+
+
Field
+
Type
+
Description
+
+
+
+
+
inline
+
array
+
RAG IDs whose sources are injected as context before the LLM call.
+Use ‘okp’ to enable OKP inline RAG. Empty by default (no inline
+RAG).
+
+
+
tool
+
array
+
RAG IDs made available to the LLM as a file_search tool. Use ‘okp’
+to include the OKP vector store. When omitted, all registered BYOK
+vector stores are used (backward compatibility).
+
+
+
SQLiteDatabaseConfiguration
SQLite database configuration.
@@ -1429,39 +1524,6 @@
ServiceConfiguration
-
SolrConfiguration
-
Solr configuration for vector search queries.
-
Controls whether to use offline or online mode when building document
-URLs from vector search results, and enables/disables Solr vector IO
-functionality.
-
-
-
-
-
-
-
-
-
Field
-
Type
-
Description
-
-
-
-
-
enabled
-
boolean
-
When True, enables Solr vector IO functionality for vector search
-queries. When False, disables Solr vector search processing.
-
-
-
offline
-
boolean
-
When True, use parent_id for chunk source URLs. When False, use
-reference_url for chunk source URLs.
-
-
-
SplunkConfiguration
Splunk HEC (HTTP Event Collector) configuration.
Splunk HEC allows sending events directly to Splunk over HTTP/HTTPS.
diff --git a/docs/config.md b/docs/config.md
index 8ba10ad7e..00c0ae747 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -130,12 +130,12 @@ byok_rag:
| Field | Type | Description |
|-------|------|-------------|
| rag_id | string | Unique RAG ID |
-| rag_type | string | Type of RAG database (e.g. `inline::faiss`). |
+| rag_type | string | Type of RAG database. |
| embedding_model | string | Embedding model identification |
| embedding_dimension | integer | Dimensionality of embedding vectors. |
| vector_db_id | string | Vector database identification. |
| db_path | string | Path to RAG database. |
-| score_multiplier | number | Multiplier applied to relevance scores from this vector store when querying multiple sources. Values > 1 boost results; values < 1 reduce them. Default: 1.0. |
+| score_multiplier | number | Multiplier applied to relevance scores from this vector store. Used to weight results when querying multiple knowledge sources. Values > 1 boost this store's results; values < 1 reduce them. |
## CORSConfiguration
@@ -187,7 +187,8 @@ Global service configuration.
| azure_entra_id | | |
| splunk | | Splunk HEC configuration for sending telemetry events. |
| deployment_environment | string | Deployment environment name (e.g., 'development', 'staging', 'production'). Used in telemetry events. |
-| rag | | RAG strategy configuration (OKP and BYOK). Controls pre-query (Inline RAG) and tool-based (Tool RAG) retrieval. |
+| rag | | Configuration for all RAG strategies (inline and tool-based). |
+| okp | | OKP provider settings. Only used when 'okp' is listed in rag.inline or rag.tool. |
## ConversationHistoryConfiguration
@@ -395,6 +396,21 @@ Useful resources:
| timeout | integer | Timeout in seconds for requests to the MCP server. If not specified, the default timeout from Llama Stack will be used. Note: This field is reserved for future use when Llama Stack adds timeout support. |
+## OkpConfiguration
+
+
+OKP (Offline Knowledge Portal) provider configuration.
+
+Controls provider-specific behaviour for the OKP vector store.
+Only relevant when ``"okp"`` is listed in ``rag.inline`` or ``rag.tool``.
+
+
+| Field | Type | Description |
+|-------|------|-------------|
+| offline | boolean | When True, use parent_id for OKP chunk source URLs. When False, use reference_url for chunk source URLs. |
+| chunk_filter_query | string | OKP filter query applied to every OKP search request. Defaults to 'is_chunk:true' to restrict results to chunk documents. To add extra constraints, extend the expression using boolean syntax, e.g. 'is_chunk:true AND product:*openshift*'. |
+
+
## PostgreSQLDatabaseConfiguration
@@ -501,6 +517,28 @@ Red Hat Identity authentication configuration.
| required_entitlements | array | List of all required entitlements. |
+## RagConfiguration
+
+
+RAG strategy configuration.
+
+Controls which RAG sources are used for inline and tool-based retrieval.
+
+Each strategy lists RAG IDs to include. The special ID ``"okp"`` defined in constants,
+activates the OKP provider; all other IDs refer to entries in ``byok_rag``.
+
+Backward compatibility:
+ - ``inline`` defaults to ``[]`` (no inline RAG).
+ - ``tool`` defaults to ``None`` which means all registered vector stores
+ are used (identical to the previous ``tool.byok.enabled = True`` default).
+
+
+| Field | Type | Description |
+|-------|------|-------------|
+| inline | array | RAG IDs whose sources are injected as context before the LLM call. Use 'okp' to enable OKP inline RAG. Empty by default (no inline RAG). |
+| tool | array | RAG IDs made available to the LLM as a file_search tool. Use 'okp' to include the OKP vector store. When omitted, all registered BYOK vector stores are used (backward compatibility). |
+
+
## SQLiteDatabaseConfiguration
@@ -537,62 +575,6 @@ the service can handle requests concurrently.
| cors | | Cross-Origin Resource Sharing configuration for cross-domain requests |
-## RagConfiguration
-
-
-Top-level RAG strategy configuration. Controls two complementary retrieval modes:
-
-- **Inline RAG**: context is fetched from the listed sources and injected before the
- LLM request.
-- **Tool RAG**: the LLM can call the `file_search` tool during generation to retrieve
- context on demand from the listed vector stores. Supports both BYOK and OKP.
-
-Each strategy is configured as a list of RAG IDs referencing entries in `byok_rag`.
-The special ID `okp` activates the OKP provider (no `byok_rag` entry needed).
-
-**Backward compatibility**: omitting `tool` uses all registered BYOK vector stores
-(equivalent to the old `tool.byok.enabled = True`). Omitting `inline` means no
-context is injected before the LLM request.
-
-Example:
-
-```yaml
-rag:
- inline:
- - my-docs # inject context from my-docs before the LLM request
- tool:
- - okp # LLM can search OKP as a tool
- - my-docs # LLM can also search my-docs as a tool
-
-okp:
- offline: true # use parent_id for OKP URL construction
-```
-
-
-| Field | Type | Description |
-|-------|------|-------------|
-| inline | list[string] | RAG IDs whose content is injected before the LLM request. Use `okp` for OKP. Empty by default (no inline RAG). |
-| tool | list[string] or null | RAG IDs exposed as a `file_search` tool the LLM can invoke. Use `okp` to include OKP. When omitted, all registered BYOK vector stores are used (backward compatibility). |
-
-
-## OkpConfiguration
-
-OKP (Offline Knowledge Portal) provider settings. Only used when `okp` is listed in `rag.inline` or `rag.tool`.
-
-Example:
-
-```yaml
-okp:
- offline: true # use parent_id for OKP URL construction
- chunk_filter_query: "is_chunk:true"
-```
-
-| Field | Type | Description |
-|-------|------|-------------|
-| offline | boolean | When `true` (default), use `parent_id` for OKP chunk source URLs. When `false`, use `reference_url`. |
-| chunk_filter_query | string | OKP filter query (`fq`) applied to every OKP search request. Defaults to `"is_chunk:true"`. Extend with `AND` for extra constraints. |
-
-
## SplunkConfiguration
diff --git a/docs/config.puml b/docs/config.puml
index cc35f5862..69497edcc 100644
--- a/docs/config.puml
+++ b/docs/config.puml
@@ -41,11 +41,12 @@ class "AzureEntraIdConfiguration" as src.models.config.AzureEntraIdConfiguration
tenant_id
}
class "ByokRag" as src.models.config.ByokRag {
- db_path
+ db_path : str
embedding_dimension
embedding_model : str
rag_id : str
rag_type : str
+ score_multiplier : float
vector_db_id : str
}
class "CORSConfiguration" as src.models.config.CORSConfiguration {
@@ -69,9 +70,10 @@ class "Configuration" as src.models.config.Configuration {
llama_stack
mcp_servers : list[ModelContextProtocolServer]
name : str
+ okp
quota_handlers
+ rag
service
- solr : Optional[SolrConfiguration]
splunk : Optional[SplunkConfiguration]
user_data_collection
dump(filename: str | Path) -> None
@@ -160,6 +162,10 @@ class "ModelContextProtocolServer" as src.models.config.ModelContextProtocolServ
resolve_auth_headers() -> Self
validate_headers(value: list[str]) -> list[str]
}
+class "OkpConfiguration" as src.models.config.OkpConfiguration {
+ chunk_filter_query : str
+ offline : bool
+}
class "PostgreSQLDatabaseConfiguration" as src.models.config.PostgreSQLDatabaseConfiguration {
ca_cert_path : Optional[FilePath]
db : str
@@ -194,6 +200,10 @@ class "QuotaSchedulerConfiguration" as src.models.config.QuotaSchedulerConfigura
class "RHIdentityConfiguration" as src.models.config.RHIdentityConfiguration {
required_entitlements : Optional[list[str]]
}
+class "RagConfiguration" as src.models.config.RagConfiguration {
+ inline : list[str]
+ tool : Optional[list[str]]
+}
class "SQLiteDatabaseConfiguration" as src.models.config.SQLiteDatabaseConfiguration {
db_path : str
}
@@ -211,10 +221,6 @@ class "ServiceConfiguration" as src.models.config.ServiceConfiguration {
check_service_configuration() -> Self
validate_root_path(value: str) -> str
}
-class "SolrConfiguration" as src.models.config.SolrConfiguration {
- enabled : bool
- offline : bool
-}
class "SplunkConfiguration" as src.models.config.SplunkConfiguration {
enabled : bool
index : Optional[str]
@@ -257,14 +263,15 @@ src.models.config.JwtConfiguration --|> src.models.config.ConfigurationBase
src.models.config.JwtRoleRule --|> src.models.config.ConfigurationBase
src.models.config.LlamaStackConfiguration --|> src.models.config.ConfigurationBase
src.models.config.ModelContextProtocolServer --|> src.models.config.ConfigurationBase
+src.models.config.OkpConfiguration --|> src.models.config.ConfigurationBase
src.models.config.PostgreSQLDatabaseConfiguration --|> src.models.config.ConfigurationBase
src.models.config.QuotaHandlersConfiguration --|> src.models.config.ConfigurationBase
src.models.config.QuotaLimiterConfiguration --|> src.models.config.ConfigurationBase
src.models.config.QuotaSchedulerConfiguration --|> src.models.config.ConfigurationBase
src.models.config.RHIdentityConfiguration --|> src.models.config.ConfigurationBase
+src.models.config.RagConfiguration --|> src.models.config.ConfigurationBase
src.models.config.SQLiteDatabaseConfiguration --|> src.models.config.ConfigurationBase
src.models.config.ServiceConfiguration --|> src.models.config.ConfigurationBase
-src.models.config.SolrConfiguration --|> src.models.config.ConfigurationBase
src.models.config.SplunkConfiguration --|> src.models.config.ConfigurationBase
src.models.config.TLSConfiguration --|> src.models.config.ConfigurationBase
src.models.config.UserDataCollection --|> src.models.config.ConfigurationBase
@@ -278,8 +285,10 @@ src.models.config.InferenceConfiguration --* src.models.config.Configuration : i
src.models.config.JsonPathOperator --* src.models.config.JwtRoleRule : operator
src.models.config.JwtConfiguration --* src.models.config.JwkConfiguration : jwt_configuration
src.models.config.LlamaStackConfiguration --* src.models.config.Configuration : llama_stack
+src.models.config.OkpConfiguration --* src.models.config.Configuration : okp
src.models.config.QuotaHandlersConfiguration --* src.models.config.Configuration : quota_handlers
src.models.config.QuotaSchedulerConfiguration --* src.models.config.QuotaHandlersConfiguration : scheduler
+src.models.config.RagConfiguration --* src.models.config.Configuration : rag
src.models.config.SQLiteDatabaseConfiguration --* src.models.config.DatabaseConfiguration : sqlite
src.models.config.ServiceConfiguration --* src.models.config.Configuration : service
src.models.config.TLSConfiguration --* src.models.config.ServiceConfiguration : tls_config
diff --git a/docs/config.svg b/docs/config.svg
index c0d342d41..816cbd1e5 100644
--- a/docs/config.svg
+++ b/docs/config.svg
@@ -1,729 +1,759 @@
-