@sqlrooms/ai / AiSliceOptions
Interface: AiSliceOptions<TTools>
Configuration options for creating an AI slice.
TTools is inferred from the tools value and constrains toolRenderers:
- Keys must be present in
tools - Each renderer's
outputprop is typed to that tool's return type
Example
createAiSlice({
tools: {query: createQueryTool(store), chart: createVegaChartTool()},
toolRenderers: {
query: QueryToolResult, // ToolRenderer<QueryToolOutput>
chart: VegaChartToolResult, // ToolRenderer<VegaChartToolOutput>
TYPO: SomeRenderer, // compile error — not a key of tools
},
})Type Parameters
| Type Parameter | Default type |
|---|---|
TTools extends ToolSet | ToolSet |
Properties
config?
optionalconfig:Partial<{sessions:object[];currentSessionId?:string;openSessionTabs?:string[]; }>
initialPrompt?
optionalinitialPrompt:string
tools
tools:
TTools
toolRenderers?
optionaltoolRenderers:ToolRenderers<TTools>
getInstructions()
getInstructions: () =>
string
Returns
string
defaultProvider?
optionaldefaultProvider:string
defaultModel?
optionaldefaultModel:string
getCustomModel()?
optionalgetCustomModel: () =>LanguageModel|undefined
Provide a pre-configured model client for a provider (e.g., Azure).
Returns
LanguageModel | undefined
getProviderOptions?
optionalgetProviderOptions:GetProviderOptions
maxSteps?
optionalmaxSteps:number
getApiKey()?
optionalgetApiKey: (modelProvider) =>string
Parameters
| Parameter | Type |
|---|---|
modelProvider | string |
Returns
string
getBaseUrl()?
optionalgetBaseUrl: () =>string
Returns
string
chatEndPoint?
optionalchatEndPoint:string
Optional remote endpoint to use for chat; if empty, local transport is used
chatHeaders?
optionalchatHeaders:Record<string,string>
Optional headers to send with remote endpoint
