Table of Contents

Class OpenAIService

Namespace
OpenAI.Managers
Assembly
AntRunnerLib.dll

Beta service for OpenAI.

public class OpenAIService : IAssistantService, IBetaService, IFileService, IMessageService, IRunService, IRunStepService, IOpenAIService, IThreadService, IVectorStores, IVectorStoreFiles
Inheritance
System.Object
OpenAIService
Implements
IDisposable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Extension Methods

Constructors

OpenAIService(IOptions<OpenAiOptions>, HttpClient)

[ActivatorUtilitiesConstructor]
public OpenAIService(IOptions<OpenAiOptions> settings, HttpClient httpClient)

Parameters

settings Microsoft.Extensions.Options.IOptions<OpenAiOptions>
httpClient HttpClient

OpenAIService(OpenAiOptions, Nullable<HttpClient>)

public OpenAIService(OpenAiOptions settings, HttpClient? httpClient = null)

Parameters

settings OpenAiOptions
httpClient System.Nullable<HttpClient>

Properties

Assistants

public IAssistantService Assistants { get; }

Property Value

IAssistantService

Beta

public IBetaService Beta { get; }

Property Value

IBetaService

Files

public IFileService Files { get; }

Property Value

IFileService

Messages

public IMessageService Messages { get; }

Property Value

IMessageService

Runs

public IRunService Runs { get; }

Property Value

IRunService

RunSteps

public IRunStepService RunSteps { get; }

Property Value

IRunStepService

Threads

public IThreadService Threads { get; }

Property Value

IThreadService

VectorStoreFiles

public IVectorStoreFiles VectorStoreFiles { get; }

Property Value

IVectorStoreFiles

VectorStores

public IVectorStores VectorStores { get; }

Property Value

IVectorStores

Methods

AssistantCreate(AssistantCreateRequest, String, CancellationToken)

public async Task<AssistantResponse> AssistantCreate(AssistantCreateRequest request, string modelId = null, CancellationToken cancellationToken = null)

Parameters

request AssistantCreateRequest
modelId System.String
cancellationToken CancellationToken

Returns

Task<AssistantResponse>

AssistantDelete(String, CancellationToken)

public async Task<DeletionStatusResponse> AssistantDelete(string assistantId, CancellationToken cancellationToken = null)

Parameters

assistantId System.String
cancellationToken CancellationToken

Returns

Task<DeletionStatusResponse>

AssistantList(PaginationRequest, CancellationToken)

public async Task<AssistantListResponse> AssistantList(PaginationRequest request = null, CancellationToken cancellationToken = null)

Parameters

request PaginationRequest
cancellationToken CancellationToken

Returns

Task<AssistantListResponse>

AssistantModify(String, AssistantModifyRequest, CancellationToken)

public async Task<AssistantResponse> AssistantModify(string assistantId, AssistantModifyRequest request, CancellationToken cancellationToken = null)

Parameters

assistantId System.String
request AssistantModifyRequest
cancellationToken CancellationToken

Returns

Task<AssistantResponse>

AssistantRetrieve(String, CancellationToken)

public async Task<AssistantResponse> AssistantRetrieve(string assistantId, CancellationToken cancellationToken = null)

Parameters

assistantId System.String
cancellationToken CancellationToken

Returns

Task<AssistantResponse>

CancelVectorStoreFileBatch(String, String, CancellationToken)

public async Task<VectorStoreFileBatchObject> CancelVectorStoreFileBatch(string vectorStoreId, string batchId, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
batchId System.String
cancellationToken CancellationToken

Returns

Task<VectorStoreFileBatchObject>

CreateMessage(String, MessageCreateRequest, CancellationToken)

Create a message.

public async Task<MessageResponse> CreateMessage(string threadId, MessageCreateRequest request, CancellationToken cancellationToken = null)

Parameters

threadId System.String
request MessageCreateRequest
cancellationToken CancellationToken

Returns

Task<MessageResponse>

CreateThreadAndRun(CreateThreadAndRunRequest, CancellationToken)

public async Task<RunResponse> CreateThreadAndRun(CreateThreadAndRunRequest requestBody, CancellationToken cancellationToken = null)

Parameters

requestBody CreateThreadAndRunRequest
cancellationToken CancellationToken

Returns

Task<RunResponse>

CreateVectorStore(CreateVectorStoreRequest, CancellationToken)

public async Task<VectorStoreObjectResponse> CreateVectorStore(CreateVectorStoreRequest requestBody, CancellationToken cancellationToken = null)

Parameters

requestBody CreateVectorStoreRequest
cancellationToken CancellationToken

Returns

Task<VectorStoreObjectResponse>

CreateVectorStoreFile(String, CreateVectorStoreFileRequest, CancellationToken)

public async Task<VectorStoreFileObject> CreateVectorStoreFile(string vectorStoreId, CreateVectorStoreFileRequest requestBody, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
requestBody CreateVectorStoreFileRequest
cancellationToken CancellationToken

Returns

Task<VectorStoreFileObject>

CreateVectorStoreFileBatch(String, CreateVectorStoreFileBatchRequest, CancellationToken)

public async Task<VectorStoreFileBatchObject> CreateVectorStoreFileBatch(string vectorStoreId, CreateVectorStoreFileBatchRequest requestBody, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
requestBody CreateVectorStoreFileBatchRequest
cancellationToken CancellationToken

Returns

Task<VectorStoreFileBatchObject>

DeleteFile(String, CancellationToken)

public async Task<FileDeleteResponse> DeleteFile(string fileId, CancellationToken cancellationToken = null)

Parameters

fileId System.String
cancellationToken CancellationToken

Returns

Task<FileDeleteResponse>

DeleteMessage(String, String, CancellationToken)

public async Task<DeletionStatusResponse> DeleteMessage(string threadId, string messageId, CancellationToken cancellationToken = null)

Parameters

threadId System.String
messageId System.String
cancellationToken CancellationToken

Returns

Task<DeletionStatusResponse>

DeleteVectorStore(String, CancellationToken)

public async Task<DeletionStatusResponse> DeleteVectorStore(string vectorStoreId, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
cancellationToken CancellationToken

Returns

Task<DeletionStatusResponse>

DeleteVectorStoreFile(String, String, CancellationToken)

public async Task<DeletionStatusResponse> DeleteVectorStoreFile(string vectorStoreId, string fileId, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
fileId System.String
cancellationToken CancellationToken

Returns

Task<DeletionStatusResponse>

Dispose()

Method to dispose the HttpContext if created internally.

public void Dispose()

Dispose(Boolean)

protected virtual void Dispose(bool disposing)

Parameters

disposing System.Boolean

GetDefaultModelId()

Get default Model Id

public string GetDefaultModelId()

Returns

System.String

GetVectorStoreFile(String, String, CancellationToken)

public async Task<VectorStoreFileObject> GetVectorStoreFile(string vectorStoreId, string fileId, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
fileId System.String
cancellationToken CancellationToken

Returns

Task<VectorStoreFileObject>

GetVectorStoreFileBatch(String, String, CancellationToken)

public async Task<VectorStoreFileBatchObject> GetVectorStoreFileBatch(string vectorStoreId, string batchId, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
batchId System.String
cancellationToken CancellationToken

Returns

Task<VectorStoreFileBatchObject>

ListFile(CancellationToken)

public async Task<FileListResponse> ListFile(CancellationToken cancellationToken = null)

Parameters

cancellationToken CancellationToken

Returns

Task<FileListResponse>

ListFilesInVectorStoreBatch(String, String, PaginationRequest, CancellationToken)

public async Task<VectorStoreFileBatchListObjectResponse> ListFilesInVectorStoreBatch(string vectorStoreId, string batchId, PaginationRequest baseListRequest, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
batchId System.String
baseListRequest PaginationRequest
cancellationToken CancellationToken

Returns

Task<VectorStoreFileBatchListObjectResponse>

ListMessages(String, PaginationRequest, CancellationToken)

Returns a list of messages for a given thread.

public async Task<MessageListResponse> ListMessages(string threadId, PaginationRequest request = null, CancellationToken cancellationToken = null)

Parameters

threadId System.String
request PaginationRequest
cancellationToken CancellationToken

Returns

Task<MessageListResponse>

ListRuns(String, PaginationRequest, CancellationToken)

public async Task<RunListResponse> ListRuns(string threadId, PaginationRequest runListRequest, CancellationToken cancellationToken = null)

Parameters

threadId System.String
runListRequest PaginationRequest
cancellationToken CancellationToken

Returns

Task<RunListResponse>

ListVectorStoreFiles(String, VectorStoreFileListRequest, CancellationToken)

public async Task<VectorStoreFileListObject> ListVectorStoreFiles(string vectorStoreId, VectorStoreFileListRequest vectorStoreFileListRequest, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
vectorStoreFileListRequest VectorStoreFileListRequest
cancellationToken CancellationToken

Returns

Task<VectorStoreFileListObject>

ListVectorStores(PaginationRequest, CancellationToken)

public async Task<VectorStoreListObjectResponse> ListVectorStores(PaginationRequest request, CancellationToken cancellationToken = null)

Parameters

request PaginationRequest
cancellationToken CancellationToken

Returns

Task<VectorStoreListObjectResponse>

ModifyMessage(String, String, ModifyMessageRequest, CancellationToken)

public async Task<MessageResponse> ModifyMessage(string threadId, string messageId, ModifyMessageRequest requestBody, CancellationToken cancellationToken = null)

Parameters

threadId System.String
messageId System.String
requestBody ModifyMessageRequest
cancellationToken CancellationToken

Returns

Task<MessageResponse>

ModifyThread(String, ModifyThreadRequest, CancellationToken)

public async Task<ThreadResponse> ModifyThread(string threadId, ModifyThreadRequest requestBody, CancellationToken cancellationToken = null)

Parameters

threadId System.String
requestBody ModifyThreadRequest
cancellationToken CancellationToken

Returns

Task<ThreadResponse>

ModifyVectorStore(String, UpdateVectorStoreRequest, CancellationToken)

public async Task<VectorStoreObjectResponse> ModifyVectorStore(string vectorStoreId, UpdateVectorStoreRequest requestBody, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
requestBody UpdateVectorStoreRequest
cancellationToken CancellationToken

Returns

Task<VectorStoreObjectResponse>

RetrieveFile(String, CancellationToken)

public async Task<FileResponse> RetrieveFile(string fileId, CancellationToken cancellationToken = null)

Parameters

fileId System.String
cancellationToken CancellationToken

Returns

Task<FileResponse>

RetrieveFileContent<T>(String, CancellationToken)

public async Task<FileContentResponse<T>> RetrieveFileContent<T>(string fileId, CancellationToken cancellationToken = null)

Parameters

fileId System.String
cancellationToken CancellationToken

Returns

Task<FileContentResponse<T>>

Type Parameters

T

RetrieveMessage(String, String, CancellationToken)

public async Task<MessageResponse> RetrieveMessage(string threadId, string messageId, CancellationToken cancellationToken = null)

Parameters

threadId System.String
messageId System.String
cancellationToken CancellationToken

Returns

Task<MessageResponse>

RetrieveVectorStore(String, CancellationToken)

public async Task<VectorStoreObjectResponse> RetrieveVectorStore(string vectorStoreId, CancellationToken cancellationToken = null)

Parameters

vectorStoreId System.String
cancellationToken CancellationToken

Returns

Task<VectorStoreObjectResponse>

RunCancel(String, String, CancellationToken)

Cancels a run that is in_progress.

public async Task<RunResponse> RunCancel(string threadId, string runId, CancellationToken cancellationToken = null)

Parameters

threadId System.String
runId System.String
cancellationToken CancellationToken

Returns

Task<RunResponse>

RunCreate(String, RunCreateRequest, String, CancellationToken)

Create a run.

public async Task<RunResponse> RunCreate(string threadId, RunCreateRequest request, string modelId = null, CancellationToken cancellationToken = null)

Parameters

threadId System.String
request RunCreateRequest
modelId System.String
cancellationToken CancellationToken

Returns

Task<RunResponse>

RunModify(String, String, RunModifyRequest, CancellationToken)

public async Task<RunResponse> RunModify(string threadId, string runId, RunModifyRequest request, CancellationToken cancellationToken = null)

Parameters

threadId System.String
runId System.String
request RunModifyRequest
cancellationToken CancellationToken

Returns

Task<RunResponse>

RunRetrieve(String, String, CancellationToken)

Retrieves a run.

public async Task<RunResponse> RunRetrieve(string threadId, string runId, CancellationToken cancellationToken = null)

Parameters

threadId System.String
runId System.String
cancellationToken CancellationToken

Returns

Task<RunResponse>

RunStepRetrieve(String, String, String, CancellationToken)

public async Task<RunStepResponse> RunStepRetrieve(string threadId, string runId, string stepId, CancellationToken cancellationToken = null)

Parameters

threadId System.String
runId System.String
stepId System.String
cancellationToken CancellationToken

Returns

Task<RunStepResponse>

RunStepsList(String, String, PaginationRequest, CancellationToken)

public async Task<RunStepListResponse> RunStepsList(string threadId, string runId, PaginationRequest request = null, CancellationToken cancellationToken = null)

Parameters

threadId System.String
runId System.String
request PaginationRequest
cancellationToken CancellationToken

Returns

Task<RunStepListResponse>

RunSubmitToolOutputs(String, String, SubmitToolOutputsToRunRequest, CancellationToken)

Submit tool outputs to run

When a run has the status: "requires_action" and required_action.type is submit_tool_outputs, this endpoint can be used to submit the outputs from the tool calls once they're all completed. All outputs must be submitted in a single request.

public async Task<RunResponse> RunSubmitToolOutputs(string threadId, string runId, SubmitToolOutputsToRunRequest request, CancellationToken cancellationToken = null)

Parameters

threadId System.String
runId System.String
request SubmitToolOutputsToRunRequest
cancellationToken CancellationToken

Returns

Task<RunResponse>

SetDefaultModelId(String)

Sets default Model Id

public void SetDefaultModelId(string modelId)

Parameters

modelId System.String

ThreadCreate(ThreadCreateRequest, CancellationToken)

Create a thread.

public async Task<ThreadResponse> ThreadCreate(ThreadCreateRequest request = null, CancellationToken cancellationToken = null)

Parameters

request ThreadCreateRequest
cancellationToken CancellationToken

Returns

Task<ThreadResponse>

ThreadDelete(String, CancellationToken)

Delete a thread.

public async Task<DeletionStatusResponse> ThreadDelete(string threadId, CancellationToken cancellationToken = null)

Parameters

threadId System.String
cancellationToken CancellationToken

Returns

Task<DeletionStatusResponse>

ThreadRetrieve(String, CancellationToken)

Retrieves a thread.

public async Task<ThreadResponse> ThreadRetrieve(string threadId, CancellationToken cancellationToken = null)

Parameters

threadId System.String
cancellationToken CancellationToken

Returns

Task<ThreadResponse>

UploadFile(String, Byte[], String, CancellationToken)

public async Task<FileUploadResponse> UploadFile(string purpose, byte[] file, string fileName, CancellationToken cancellationToken = null)

Parameters

purpose System.String
file System.Byte[]
fileName System.String
cancellationToken CancellationToken

Returns

Task<FileUploadResponse>