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
Returns
WithFunction(AIService, FunctionDefinition)
Register a pre-built function definition
public static AIService WithFunction(this AIService service, FunctionDefinition function)
Parameters
serviceAIServicefunctionFunctionDefinition
Returns
WithFunction(AIService, string, string, Func<string>)
Parameterless Function
public static AIService WithFunction(this AIService service, string name, string description, Func<string> handler)
Parameters
Returns
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
Returns
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
serviceAIServicenamestringdescriptionstringparam(string name, string description, bool required)handlerFunc<T, Task<string>>
Returns
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
serviceAIServicenamestringdescriptionstringparam1(string name, string description, bool required)param2(string name, string description, bool required)handlerFunc<T1, T2, Task<string>>
Returns
Type Parameters
T1T2
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
serviceAIServicenamestringdescriptionstringparam1(string name, string description, bool required)param2(string name, string description, bool required)param3(string name, string description, bool required)handlerFunc<T1, T2, T3, Task<string>>
Returns
Type Parameters
T1T2T3
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
serviceAIServicenamestringdescriptionstringparam(string name, string description, bool required)handlerFunc<T, string>
Returns
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
serviceAIServicenamestringdescriptionstringparam1(string name, string description, bool required)param2(string name, string description, bool required)handlerFunc<T1, T2, string>
Returns
Type Parameters
T1T2
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
serviceAIServicenamestringdescriptionstringparam1(string name, string description, bool required)param2(string name, string description, bool required)param3(string name, string description, bool required)handlerFunc<T1, T2, T3, string>
Returns
Type Parameters
T1T2T3
WithFunctionsEnabled(AIService, bool)
Enable/disable functions for the chat
public static AIService WithFunctionsEnabled(this AIService service, bool enabled = true)
Parameters
Returns
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
serviceAIServiceinstanceT
Returns
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
serviceAIService
Returns
Type Parameters
T
WithoutFunctions(AIService, bool)
Temporarily disable functions (like StatelessMode)
public static AIService WithoutFunctions(this AIService service, bool disable = true)