Table of Contents

Interface ICoreService

Namespace
FoundationaLLM.Core.Interfaces
Assembly
FoundationaLLM.Core.dll

Contains methods for managing chat sessions and messages, and for getting completions from the orchestrator.

public interface ICoreService
Extension Methods

Methods

CreateConversationAsync(string, ChatSessionProperties)

Creates a new chat session.

Task<Conversation> CreateConversationAsync(string instanceId, ChatSessionProperties chatSessionProperties)

Parameters

instanceId string

The instance Id.

chatSessionProperties ChatSessionProperties

The session properties.

Returns

Task<Conversation>

DeleteAttachments(string, List<string>, UnifiedUserIdentity)

Deletes one or more attachments.

Task<Dictionary<string, ResourceProviderDeleteResult?>> DeleteAttachments(string instanceId, List<string> resourcePaths, UnifiedUserIdentity userIdentity)

Parameters

instanceId string

The FoundationaLLM instance id.

resourcePaths List<string>

The list of resources to be deleted.

userIdentity UnifiedUserIdentity

The UnifiedUserIdentity providing information about the calling user identity.

Returns

Task<Dictionary<string, ResourceProviderDeleteResult>>

A dictionary with the delete operation result for each resource path.

DeleteConversationAsync(string, string)

Delete a chat session and related messages.

Task DeleteConversationAsync(string instanceId, string sessionId)

Parameters

instanceId string

The instance id.

sessionId string

The session id to delete.

Returns

Task

DownloadAttachment(string, string, string, UnifiedUserIdentity)

Downloads an attachment.

Task<AttachmentFile?> DownloadAttachment(string instanceId, string fileProvider, string fileId, UnifiedUserIdentity userIdentity)

Parameters

instanceId string

The FoundationaLLM instance id.

fileProvider string

The name of the file provider.

fileId string

The identifier of the file.

userIdentity UnifiedUserIdentity

The UnifiedUserIdentity providing information about the calling user identity.

Returns

Task<AttachmentFile>

An AttachmentFile object with the properties and the content of the attachment.

Remarks

The following file providers are supported:

  • FoundationaLLM.Attachments
  • FoundationaLLM.AzureOpenAI

GetAllConversationsAsync(string)

Returns list of chat session ids and names.

Task<List<Conversation>> GetAllConversationsAsync(string instanceId)

Parameters

instanceId string

The instance id for which to retrieve chat sessions.

Returns

Task<List<Conversation>>

GetChatCompletionAsync(string, CompletionRequest)

Receive a prompt from a user, retrieve the message history from the related session, generate a completion response, and log full completion results.

Task<Message> GetChatCompletionAsync(string instanceId, CompletionRequest completionRequest)

Parameters

instanceId string

The instance id.

completionRequest CompletionRequest

The completion request.

Returns

Task<Message>

GetChatSessionMessagesAsync(string, string)

Returns the chat messages related to an existing session.

Task<List<Message>> GetChatSessionMessagesAsync(string instanceId, string sessionId)

Parameters

instanceId string

The instance id for which to retrieve chat messages.

sessionId string

The session id for which to retrieve chat messages.

Returns

Task<List<Message>>

GetCompletionAsync(string, CompletionRequest)

Provides a completion for a user prompt, without a session.

Task<Message> GetCompletionAsync(string instanceId, CompletionRequest directCompletionRequest)

Parameters

instanceId string

The instance id.

directCompletionRequest CompletionRequest

The completion request.

Returns

Task<Message>

GetCompletionOperationStatus(string, string)

Gets the status of a completion operation.

Task<LongRunningOperation> GetCompletionOperationStatus(string instanceId, string operationId)

Parameters

instanceId string

The FoundationaLLM instance id.

operationId string

The OperationId for which to retrieve the status.

Returns

Task<LongRunningOperation>

Returns a LongRunningOperation object containing the OperationId, Status, and result.

GetCompletionPrompt(string, string, string)

Returns the completion prompt for a given session and completion prompt id.

Task<CompletionPrompt> GetCompletionPrompt(string instanceId, string sessionId, string completionPromptId)

Parameters

instanceId string

The instance Id.

sessionId string

The session id from which to retrieve the completion prompt.

completionPromptId string

The id of the completion prompt to retrieve.

Returns

Task<CompletionPrompt>

GetCoreConfiguration(string, UnifiedUserIdentity)

Gets the file store configuration for the given instance.

Task<CoreConfiguration> GetCoreConfiguration(string instanceId, UnifiedUserIdentity userIdentity)

Parameters

instanceId string

The FoundationaLLM instance id.

userIdentity UnifiedUserIdentity

The UnifiedUserIdentity providing information about the calling user identity.

Returns

Task<CoreConfiguration>

The file store configuration.

RateMessageAsync(string, string, string, MessageRatingRequest)

Rate an assistant message. This can be used to discover useful AI responses for training, discoverability, and other benefits down the road.

Task RateMessageAsync(string instanceId, string id, string sessionId, MessageRatingRequest rating)

Parameters

instanceId string

The instance id.

id string

The message id to rate.

sessionId string

The session id to which the message belongs.

rating MessageRatingRequest

The rating and optional comments to assign to the message.

Returns

Task

RenameConversationAsync(string, string, ChatSessionProperties)

Rename the chat session from its default (eg., "New Chat") to the summary provided by OpenAI.

Task<Conversation> RenameConversationAsync(string instanceId, string sessionId, ChatSessionProperties chatSessionProperties)

Parameters

instanceId string

The instance id.

sessionId string

The session id to rename.

chatSessionProperties ChatSessionProperties

The session properties.

Returns

Task<Conversation>

StartCompletionOperation(string, CompletionRequest)

Begins a completion operation.

Task<LongRunningOperation> StartCompletionOperation(string instanceId, CompletionRequest completionRequest)

Parameters

instanceId string

The FoundationaLLM instance id.

completionRequest CompletionRequest

The completion request containing the user prompt and message history.

Returns

Task<LongRunningOperation>

Returns an LongRunningOperation object containing the OperationId and Status.

UploadAttachment(string, string, AttachmentFile, string, UnifiedUserIdentity)

Uploads an attachment.

Task<ResourceProviderUpsertResult<AttachmentFile>> UploadAttachment(string instanceId, string sessionId, AttachmentFile attachmentFile, string agentName, UnifiedUserIdentity userIdentity)

Parameters

instanceId string

The FoundationaLLM instance id.

sessionId string

The session id from which the attachment is uploaded.

attachmentFile AttachmentFile

The AttachmentFile object containing the attachment file data.

agentName string

The name of the agent.

userIdentity UnifiedUserIdentity

The UnifiedUserIdentity providing information about the calling user identity.

Returns

Task<ResourceProviderUpsertResult<AttachmentFile>>

A ResourceProviderUpsertResult<T> object with the FoundationaLLM.Attachment resource provider object id.