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
assistantAssistantResponserequestCreateThreadRequestOptional, CreateThreadRequest.
streamEventHandlerFunc<IServerSentEvent, Task>Optional, Func<T, TResult> stream callback handler.
cancellationTokenCancellationTokenOptional, CancellationToken.
Returns
DeleteAsync(AssistantResponse, bool, CancellationToken)
Delete the assistant.
public static Task<bool> DeleteAsync(this AssistantResponse assistant, bool deleteToolResources = false, CancellationToken cancellationToken = default)
Parameters
assistantAssistantResponsedeleteToolResourcesboolOptional, should tool resources, such as vector stores be deleted when this assistant is deleted?
cancellationTokenCancellationTokenOptional, CancellationToken.
Returns
GetToolOutput(AssistantResponse, IToolCall)
Calls the tool's function, with the provided arguments from the toolCall and returns the output.
public static ToolOutput GetToolOutput(this AssistantResponse assistant, IToolCall toolCall)
Parameters
assistantAssistantResponsetoolCallIToolCall
Returns
Remarks
Only call this directly on your IToolCall if you know the method is synchronous.
GetToolOutputAsync(AssistantResponse, IToolCall, 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, IToolCall toolCall, CancellationToken cancellationToken = default)
Parameters
assistantAssistantResponsetoolCallIToolCallcancellationTokenCancellationTokenOptional, 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
assistantAssistantResponserunRunResponseThe RunResponse to complete the tool calls for.
cancellationTokenCancellationTokenOptional, CancellationToken.
Returns
- Task<IReadOnlyList<ToolOutput>>
A collection of ToolOutputs.
GetToolOutputsAsync(AssistantResponse, IEnumerable<IToolCall>, 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<IToolCall> toolCalls, CancellationToken cancellationToken = default)
Parameters
assistantAssistantResponsetoolCallsIEnumerable<IToolCall>A collection of IToolCalls.
cancellationTokenCancellationTokenOptional, CancellationToken.
Returns
- Task<IReadOnlyList<ToolOutput>>
A collection of ToolOutputs.
InvokeToolCall(AssistantResponse, IToolCall)
Invoke the assistant's tool function using the IToolCall.
public static string InvokeToolCall(this AssistantResponse assistant, IToolCall toolCall)
Parameters
assistantAssistantResponsetoolCallIToolCall
Returns
Remarks
Only call this directly on your IToolCall if you know the method is synchronous.
InvokeToolCallAsync(AssistantResponse, IToolCall, CancellationToken)
Invoke the assistant's tool function using the IToolCall.
public static Task<string> InvokeToolCallAsync(this AssistantResponse assistant, IToolCall toolCall, CancellationToken cancellationToken = default)
Parameters
assistantAssistantResponsetoolCallIToolCallcancellationTokenCancellationTokenOptional, CancellationToken.
Returns
InvokeToolCallAsync<T>(AssistantResponse, IToolCall, CancellationToken)
Invoke the assistant's tool function using the IToolCall.
public static Task<T> InvokeToolCallAsync<T>(this AssistantResponse assistant, IToolCall toolCall, CancellationToken cancellationToken = default)
Parameters
assistantAssistantResponsetoolCallIToolCallcancellationTokenCancellationTokenOptional, CancellationToken.
Returns
Type Parameters
TThe expected signature return type.
InvokeToolCall<T>(AssistantResponse, IToolCall)
Invoke the assistant's tool function using the IToolCall.
public static T InvokeToolCall<T>(this AssistantResponse assistant, IToolCall toolCall)
Parameters
assistantAssistantResponsetoolCallIToolCall
Returns
- T
Tool output result as string.
Type Parameters
TThe expected signature return type.
Remarks
Only call this directly on your IToolCall 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
assistantAssistantResponserequestCreateAssistantRequestcancellationTokenCancellationTokenOptional, CancellationToken.
Returns
UpdateAsync(AssistantResponse, CancellationToken)
Get the latest status of the assistant.
public static Task<AssistantResponse> UpdateAsync(this AssistantResponse assistant, CancellationToken cancellationToken = default)
Parameters
assistantAssistantResponsecancellationTokenCancellationTokenOptional, CancellationToken.