CompositeQueries
relationalai.agent.cortex.queries
CompositeQueries(*providers: Queries)Routes queries by id across multiple Queries providers.
The reserved id "dynamic" always routes to a DynamicQueries
provider, when one is registered. Other ids route to the first non-dynamic
provider that exposes them.
Catalog-only deployments (CompositeQueries(catalog)) behave identically
to passing the catalog directly to ToolRegistry.add(queries=...).
Parameters
Section titled “Parameters”
(*providersQueries, default:()) - Providers to compose. At most oneDynamicQueriesis allowed. Catalog providers must not register a query named"dynamic".
Methods
Section titled “Methods”.get_available_queries()
Section titled “.get_available_queries()”CompositeQueries.get_available_queries() -> dictMerge metadata from all registered providers.
Returns:
dict- The merged dict contains"queries"(union across providers), a concatenated"query_instructions", and"query_mode"("dynamic"when aDynamicQueriesis registered, else"catalog"). The dynamic case also surfaces"schema"and"spec_format".
.explain()
Section titled “.explain()”CompositeQueries.explain(query_id: str) -> Optional[str]Delegate explain to the provider that owns query_id.
Parameters:
(query_idstr) - Identifier of the query to explain.
Returns:
str or None- The owning provider’s explanation, orNoneif no provider claimsquery_id.
.execute()
Section titled “.execute()”CompositeQueries.execute(query_id: str, args: dict) -> Union[rai.Fragment, pandas.DataFrame]Route execution to the provider that owns query_id.
Parameters:
(query_idstr) - Identifier of the query to execute.
(argsdict) - Arguments forwarded to the owning provider.
Returns:
relationalai.semantics.Fragment or pandas.DataFrame- Whatever the owning provider returns from itsexecute.
Raises:
KeyError- If no provider claimsquery_id.