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
GetAgentsAsync(string)
Returns the list of agents available for the calling user.
Task<IEnumerable<ResourceProviderGetResult<AgentBase>>> GetAgentsAsync(string instanceId)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
Returns
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
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
GetConversationMessagesAsync(string, string)
Returns the messages for a conversation.
Task<List<Message>> GetConversationMessagesAsync(string instanceId, string sessionId)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
sessionIdstringThe conversation identifier for which to retrieve messages.
Returns
GetConversationMessagesCountAsync(string, string)
Returns the number of messages in a conversation.
Task<int> GetConversationMessagesCountAsync(string instanceId, string sessionId)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
sessionIdstringThe conversation identifier for which to retrieve messages.
Returns
- Task<int>
A task that represents the asynchronous operation. The task result contains the number of messages in the specified conversation.
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.