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, ConversationProperties)
Creates a new chat session.
Task<Conversation> CreateConversationAsync(string instanceId, ConversationProperties chatSessionProperties)
Parameters
instanceIdstringThe instance Id.
chatSessionPropertiesConversationPropertiesThe session properties.
Returns
DeleteAttachments(string, List<string>)
Deletes one or more attachments.
Task<Dictionary<string, ResourceProviderDeleteResult?>> DeleteAttachments(string instanceId, List<string> resourcePaths)
Parameters
instanceIdstringThe FoundationaLLM instance id.
resourcePathsList<string>The list of resources to be deleted.
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
Returns
DownloadAttachment(string, string, string)
Downloads an attachment.
Task<AttachmentFile?> DownloadAttachment(string instanceId, string fileProvider, string fileId)
Parameters
instanceIdstringThe FoundationaLLM instance id.
fileProviderstringThe name of the file provider.
fileIdstringThe identifier of the file.
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
instanceIdstringThe instance id for which to retrieve chat sessions.
Returns
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
instanceIdstringThe instance id.
completionRequestCompletionRequestThe completion request.
Returns
GetChatSessionMessagesAsync(string, string)
Returns the chat messages related to an existing session.
Task<List<Message>> GetChatSessionMessagesAsync(string instanceId, string sessionId)
Parameters
instanceIdstringThe instance id for which to retrieve chat messages.
sessionIdstringThe session id for which to retrieve chat messages.
Returns
GetCompletionAsync(string, CompletionRequest)
Provides a completion for a user prompt, without a session.
Task<Message> GetCompletionAsync(string instanceId, CompletionRequest directCompletionRequest)
Parameters
instanceIdstringThe instance id.
directCompletionRequestCompletionRequestThe completion request.
Returns
GetCompletionOperationStatus(string, string)
Gets the status of a completion operation.
Task<LongRunningOperation> GetCompletionOperationStatus(string instanceId, string operationId)
Parameters
instanceIdstringThe FoundationaLLM instance id.
operationIdstringThe 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
instanceIdstringThe instance Id.
sessionIdstringThe session id from which to retrieve the completion prompt.
completionPromptIdstringThe id of the completion prompt to retrieve.
Returns
GetCoreConfiguration(string)
Gets the file store configuration for the given instance.
Task<CoreConfiguration> GetCoreConfiguration(string instanceId)
Parameters
instanceIdstringThe FoundationaLLM instance id.
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
instanceIdstringThe instance id.
idstringThe message id to rate.
sessionIdstringThe session id to which the message belongs.
ratingMessageRatingRequestThe rating and optional comments to assign to the message.
Returns
StartCompletionOperation(string, CompletionRequest)
Begins a completion operation.
Task<LongRunningOperation> StartCompletionOperation(string instanceId, CompletionRequest completionRequest)
Parameters
instanceIdstringThe FoundationaLLM instance id.
completionRequestCompletionRequestThe completion request containing the user prompt and message history.
Returns
- Task<LongRunningOperation>
Returns an LongRunningOperation object containing the OperationId and Status.
UpdateConversationAsync(string, string, ConversationProperties)
Update the conversation.
Task<Conversation> UpdateConversationAsync(string instanceId, string conversationId, ConversationProperties conversationProperties)
Parameters
instanceIdstringThe instance id.
conversationIdstringThe identifier of the conversation to rename.
conversationPropertiesConversationPropertiesThe conversation properties to update.
Returns
UploadAttachment(string, string, AttachmentFile, string)
Uploads an attachment.
Task<ResourceProviderUpsertResult<AttachmentFile>> UploadAttachment(string instanceId, string sessionId, AttachmentFile attachmentFile, string agentName)
Parameters
instanceIdstringThe FoundationaLLM instance id.
sessionIdstringThe session id from which the attachment is uploaded.
attachmentFileAttachmentFileThe AttachmentFile object containing the attachment file data.
agentNamestringThe name of the agent.
Returns
- Task<ResourceProviderUpsertResult<AttachmentFile>>
A ResourceProviderUpsertResult<T> object with the FoundationaLLM.Attachment resource provider object id.