Table of Contents

Class FunctionExtensions

Namespace
Mythosia.AI.Extensions
Assembly
Mythosia.AI.dll

Extension methods for function calling support

public static class FunctionExtensions
Inheritance
FunctionExtensions
Inherited Members

Methods

AskWithoutFunctionsAsync(AIService, string)

Execute with functions temporarily disabled

public static Task<string> AskWithoutFunctionsAsync(this AIService service, string prompt)

Parameters

service AIService
prompt string

Returns

Task<string>

WithFunction(AIService, FunctionDefinition)

Register a pre-built function definition

public static AIService WithFunction(this AIService service, FunctionDefinition function)

Parameters

service AIService
function FunctionDefinition

Returns

AIService

WithFunction(AIService, string, string, Func<string>)

Parameterless Function

public static AIService WithFunction(this AIService service, string name, string description, Func<string> handler)

Parameters

service AIService
name string
description string
handler Func<string>

Returns

AIService

WithFunctionAsync(AIService, string, string, Func<Task<string>>)

Parameterless async function

public static AIService WithFunctionAsync(this AIService service, string name, string description, Func<Task<string>> handler)

Parameters

service AIService
name string
description string
handler Func<Task<string>>

Returns

AIService

WithFunctionAsync<T>(AIService, string, string, (string name, string description, bool required), Func<T, Task<string>>)

Single parameter async function registration

public static AIService WithFunctionAsync<T>(this AIService service, string name, string description, (string name, string description, bool required) param, Func<T, Task<string>> handler)

Parameters

service AIService
name string
description string
param (string name, string description, bool required)
handler Func<T, Task<string>>

Returns

AIService

Type Parameters

T

WithFunctionAsync<T1, T2>(AIService, string, string, (string name, string description, bool required), (string name, string description, bool required), Func<T1, T2, Task<string>>)

Two parameters async function registration

public static AIService WithFunctionAsync<T1, T2>(this AIService service, string name, string description, (string name, string description, bool required) param1, (string name, string description, bool required) param2, Func<T1, T2, Task<string>> handler)

Parameters

service AIService
name string
description string
param1 (string name, string description, bool required)
param2 (string name, string description, bool required)
handler Func<T1, T2, Task<string>>

Returns

AIService

Type Parameters

T1
T2

WithFunctionAsync<T1, T2, T3>(AIService, string, string, (string name, string description, bool required), (string name, string description, bool required), (string name, string description, bool required), Func<T1, T2, T3, Task<string>>)

Three parameters async function registration

public static AIService WithFunctionAsync<T1, T2, T3>(this AIService service, string name, string description, (string name, string description, bool required) param1, (string name, string description, bool required) param2, (string name, string description, bool required) param3, Func<T1, T2, T3, Task<string>> handler)

Parameters

service AIService
name string
description string
param1 (string name, string description, bool required)
param2 (string name, string description, bool required)
param3 (string name, string description, bool required)
handler Func<T1, T2, T3, Task<string>>

Returns

AIService

Type Parameters

T1
T2
T3

WithFunction<T>(AIService, string, string, (string name, string description, bool required), Func<T, string>)

Single parameter function registration

public static AIService WithFunction<T>(this AIService service, string name, string description, (string name, string description, bool required) param, Func<T, string> handler)

Parameters

service AIService
name string
description string
param (string name, string description, bool required)
handler Func<T, string>

Returns

AIService

Type Parameters

T

WithFunction<T1, T2>(AIService, string, string, (string name, string description, bool required), (string name, string description, bool required), Func<T1, T2, string>)

Two parameters function registration

public static AIService WithFunction<T1, T2>(this AIService service, string name, string description, (string name, string description, bool required) param1, (string name, string description, bool required) param2, Func<T1, T2, string> handler)

Parameters

service AIService
name string
description string
param1 (string name, string description, bool required)
param2 (string name, string description, bool required)
handler Func<T1, T2, string>

Returns

AIService

Type Parameters

T1
T2

WithFunction<T1, T2, T3>(AIService, string, string, (string name, string description, bool required), (string name, string description, bool required), (string name, string description, bool required), Func<T1, T2, T3, string>)

Three parameters function registration

public static AIService WithFunction<T1, T2, T3>(this AIService service, string name, string description, (string name, string description, bool required) param1, (string name, string description, bool required) param2, (string name, string description, bool required) param3, Func<T1, T2, T3, string> handler)

Parameters

service AIService
name string
description string
param1 (string name, string description, bool required)
param2 (string name, string description, bool required)
param3 (string name, string description, bool required)
handler Func<T1, T2, T3, string>

Returns

AIService

Type Parameters

T1
T2
T3

WithFunctionsEnabled(AIService, bool)

Enable/disable functions for the chat

public static AIService WithFunctionsEnabled(this AIService service, bool enabled = true)

Parameters

service AIService
enabled bool

Returns

AIService

WithFunctions<T>(AIService, T)

Registers all AI functions from an object

public static AIService WithFunctions<T>(this AIService service, T instance) where T : class

Parameters

service AIService
instance T

Returns

AIService

Type Parameters

T

WithStaticFunctions<T>(AIService)

Registers all static AI functions from a type

public static AIService WithStaticFunctions<T>(this AIService service) where T : class

Parameters

service AIService

Returns

AIService

Type Parameters

T

WithoutFunctions(AIService, bool)

Temporarily disable functions (like StatelessMode)

public static AIService WithoutFunctions(this AIService service, bool disable = true)

Parameters

service AIService
disable bool

Returns

AIService