Class AssistantExtensions
- Namespace
- OpenAI.Assistants
- Assembly
- OpenAI-DotNet.dll
public static class AssistantExtensions
- Inheritance
-
AssistantExtensions
- Inherited Members
Methods
CreateThreadAndRunAsync(AssistantResponse, CreateThreadRequest, Func<IServerSentEvent, Task>, CancellationToken)
Create a thread and run it.
public static Task<RunResponse> CreateThreadAndRunAsync(this AssistantResponse assistant, CreateThreadRequest request = null, Func<IServerSentEvent, Task> streamEventHandler = null, CancellationToken cancellationToken = default)
Parameters
assistant
AssistantResponserequest
CreateThreadRequestOptional, CreateThreadRequest.
streamEventHandler
Func<IServerSentEvent, Task>Optional, Func<T, TResult> stream callback handler.
cancellationToken
CancellationTokenOptional, CancellationToken.
Returns
DeleteAsync(AssistantResponse, bool, CancellationToken)
Delete the assistant.
public static Task<bool> DeleteAsync(this AssistantResponse assistant, bool deleteToolResources = false, CancellationToken cancellationToken = default)
Parameters
assistant
AssistantResponsedeleteToolResources
boolOptional, should tool resources, such as vector stores be deleted when this assistant is deleted?
cancellationToken
CancellationTokenOptional, CancellationToken.
Returns
GetToolOutput(AssistantResponse, ToolCall)
Calls the tool's function, with the provided arguments from the toolCall and returns the output.
public static ToolOutput GetToolOutput(this AssistantResponse assistant, ToolCall toolCall)
Parameters
assistant
AssistantResponsetoolCall
ToolCall
Returns
Remarks
Only call this directly on your ToolCall if you know the method is synchronous.
GetToolOutputAsync(AssistantResponse, ToolCall, CancellationToken)
Calls the tool's function, with the provided arguments from the toolCall and returns the output.
public static Task<ToolOutput> GetToolOutputAsync(this AssistantResponse assistant, ToolCall toolCall, CancellationToken cancellationToken = default)
Parameters
assistant
AssistantResponsetoolCall
ToolCallcancellationToken
CancellationTokenOptional, CancellationToken.
Returns
GetToolOutputsAsync(AssistantResponse, RunResponse, CancellationToken)
Calls each tool's function, with the provided arguments from the toolCalls and returns the outputs.
public static Task<IReadOnlyList<ToolOutput>> GetToolOutputsAsync(this AssistantResponse assistant, RunResponse run, CancellationToken cancellationToken = default)
Parameters
assistant
AssistantResponserun
RunResponseThe RunResponse to complete the tool calls for.
cancellationToken
CancellationTokenOptional, CancellationToken.
Returns
- Task<IReadOnlyList<ToolOutput>>
A collection of ToolOutputs.
GetToolOutputsAsync(AssistantResponse, IEnumerable<ToolCall>, CancellationToken)
Calls each tool's function, with the provided arguments from the toolCalls and returns the outputs.
public static Task<IReadOnlyList<ToolOutput>> GetToolOutputsAsync(this AssistantResponse assistant, IEnumerable<ToolCall> toolCalls, CancellationToken cancellationToken = default)
Parameters
assistant
AssistantResponsetoolCalls
IEnumerable<ToolCall>A collection of ToolCalls.
cancellationToken
CancellationTokenOptional, CancellationToken.
Returns
- Task<IReadOnlyList<ToolOutput>>
A collection of ToolOutputs.
GetToolOutputsAsync(AssistantResponse, IEnumerable<ToolCall>, CancellationToken)
Calls each tool's function, with the provided arguments from the toolCalls and returns the outputs.
public static Task<IReadOnlyList<ToolOutput>> GetToolOutputsAsync(this AssistantResponse assistant, IEnumerable<ToolCall> toolCalls, CancellationToken cancellationToken = default)
Parameters
assistant
AssistantResponsetoolCalls
IEnumerable<ToolCall>A collection of ToolCalls.
cancellationToken
CancellationTokenOptional, CancellationToken.
Returns
- Task<IReadOnlyList<ToolOutput>>
A collection of ToolOutputs.
InvokeToolCall(AssistantResponse, ToolCall)
Invoke the assistant's tool function using the ToolCall.
public static string InvokeToolCall(this AssistantResponse assistant, ToolCall toolCall)
Parameters
assistant
AssistantResponsetoolCall
ToolCall
Returns
Remarks
Only call this directly on your ToolCall if you know the method is synchronous.
InvokeToolCallAsync(AssistantResponse, ToolCall, CancellationToken)
Invoke the assistant's tool function using the ToolCall.
public static Task<string> InvokeToolCallAsync(this AssistantResponse assistant, ToolCall toolCall, CancellationToken cancellationToken = default)
Parameters
assistant
AssistantResponsetoolCall
ToolCallcancellationToken
CancellationTokenOptional, CancellationToken.
Returns
InvokeToolCallAsync<T>(AssistantResponse, ToolCall, CancellationToken)
Invoke the assistant's tool function using the ToolCall.
public static Task<T> InvokeToolCallAsync<T>(this AssistantResponse assistant, ToolCall toolCall, CancellationToken cancellationToken = default)
Parameters
assistant
AssistantResponsetoolCall
ToolCallcancellationToken
CancellationTokenOptional, CancellationToken.
Returns
Type Parameters
T
The expected signature return type.
InvokeToolCall<T>(AssistantResponse, ToolCall)
Invoke the assistant's tool function using the ToolCall.
public static T InvokeToolCall<T>(this AssistantResponse assistant, ToolCall toolCall)
Parameters
assistant
AssistantResponsetoolCall
ToolCall
Returns
- T
Tool output result as string.
Type Parameters
T
The expected signature return type.
Remarks
Only call this directly on your ToolCall if you know the method is synchronous.
ModifyAsync(AssistantResponse, CreateAssistantRequest, CancellationToken)
Modify the assistant.
public static Task<AssistantResponse> ModifyAsync(this AssistantResponse assistant, CreateAssistantRequest request, CancellationToken cancellationToken = default)
Parameters
assistant
AssistantResponserequest
CreateAssistantRequestcancellationToken
CancellationTokenOptional, CancellationToken.
Returns
UpdateAsync(AssistantResponse, CancellationToken)
Get the latest status of the assistant.
public static Task<AssistantResponse> UpdateAsync(this AssistantResponse assistant, CancellationToken cancellationToken = default)
Parameters
assistant
AssistantResponsecancellationToken
CancellationTokenOptional, CancellationToken.