Table of Contents

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 AssistantResponse

AssistantResponse.

request CreateThreadRequest

Optional, CreateThreadRequest.

streamEventHandler Func<IServerSentEvent, Task>

Optional, Func<T, TResult> stream callback handler.

cancellationToken CancellationToken

Optional, CancellationToken.

Returns

Task<RunResponse>

RunResponse.

DeleteAsync(AssistantResponse, bool, CancellationToken)

Delete the assistant.

public static Task<bool> DeleteAsync(this AssistantResponse assistant, bool deleteToolResources = false, CancellationToken cancellationToken = default)

Parameters

assistant AssistantResponse

AssistantResponse.

deleteToolResources bool

Optional, should tool resources, such as vector stores be deleted when this assistant is deleted?

cancellationToken CancellationToken

Optional, CancellationToken.

Returns

Task<bool>

True, if the assistant was successfully deleted.

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 AssistantResponse

AssistantResponse.

toolCall ToolCall

ToolCall.

Returns

ToolOutput

ToolOutput.

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 AssistantResponse

AssistantResponse.

toolCall ToolCall

ToolCall.

cancellationToken CancellationToken

Optional, CancellationToken.

Returns

Task<ToolOutput>

ToolOutput.

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 AssistantResponse

AssistantResponse.

run RunResponse

The RunResponse to complete the tool calls for.

cancellationToken CancellationToken

Optional, 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 AssistantResponse

AssistantResponse.

toolCalls IEnumerable<ToolCall>

A collection of ToolCalls.

cancellationToken CancellationToken

Optional, 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 AssistantResponse

AssistantResponse.

toolCalls IEnumerable<ToolCall>

A collection of ToolCalls.

cancellationToken CancellationToken

Optional, 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 AssistantResponse

AssistantResponse.

toolCall ToolCall

ToolCall.

Returns

string

Tool output result as string.

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 AssistantResponse

AssistantResponse.

toolCall ToolCall

ToolCall.

cancellationToken CancellationToken

Optional, CancellationToken.

Returns

Task<string>

Tool output result as string.

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 AssistantResponse

AssistantResponse.

toolCall ToolCall

ToolCall.

cancellationToken CancellationToken

Optional, CancellationToken.

Returns

Task<T>

Tool output result as string.

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 AssistantResponse

AssistantResponse.

toolCall ToolCall

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 AssistantResponse

AssistantResponse.

request CreateAssistantRequest

CreateAssistantRequest.

cancellationToken CancellationToken

Optional, CancellationToken.

Returns

Task<AssistantResponse>

AssistantResponse.

UpdateAsync(AssistantResponse, CancellationToken)

Get the latest status of the assistant.

public static Task<AssistantResponse> UpdateAsync(this AssistantResponse assistant, CancellationToken cancellationToken = default)

Parameters

assistant AssistantResponse

AssistantResponse.

cancellationToken CancellationToken

Optional, CancellationToken.

Returns

Task<AssistantResponse>

AssistantResponse.