Class KnowledgeService
- Namespace
- FoundationaLLM.Context.Services
- Assembly
- FoundationaLLM.ContextEngine.dll
Provides the implementation for the FoundationaLLM Knowledge Graph service.
public class KnowledgeService : IKnowledgeService
- Inheritance
-
KnowledgeService
- Implements
- Inherited Members
- Extension Methods
Constructors
KnowledgeService(IStorageService, IAuthorizationServiceClient, IResourceProviderService, IResourceProviderService, IResourceProviderService, IResourceProviderService, IHttpClientFactoryService, KnowledgeServiceSettings, ILoggerFactory)
Provides the implementation for the FoundationaLLM Knowledge Graph service.
public KnowledgeService(IStorageService storageService, IAuthorizationServiceClient authorizationServiceClient, IResourceProviderService agentResourceProvider, IResourceProviderService contextResourceProvider, IResourceProviderService configurationResourceProvider, IResourceProviderService vectorResourceProvider, IHttpClientFactoryService httpClientFactory, KnowledgeServiceSettings settings, ILoggerFactory loggerFactory)
Parameters
storageServiceIStorageServiceThe IStorageService providing storage services.
authorizationServiceClientIAuthorizationServiceClientThe client for the FoundationaLLM Authorization API.
agentResourceProviderIResourceProviderServiceThe FoundationaLLM.Agent resource provider.
contextResourceProviderIResourceProviderServiceThe FoundationaLLM.Context resource provider service.
configurationResourceProviderIResourceProviderServiceThe FoundationaLLM.Configuration resource provider service.
vectorResourceProviderIResourceProviderServiceThe FoundationaLLM.Vector resource provider service.
httpClientFactoryIHttpClientFactoryServiceThe factory for creating HTTP clients.
settingsKnowledgeServiceSettingsThe settings for the Knowledge Graph service.
loggerFactoryILoggerFactoryThe logger factory used to create loggers.
Methods
GetKnowledgeSource(string, string, string?, UnifiedUserIdentity)
Retrieves a specified knowledge source.
public Task<Result<ResourceProviderGetResult<KnowledgeSource>>> GetKnowledgeSource(string instanceId, string knowledgeSourceId, string? agentName, UnifiedUserIdentity userIdentity)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
knowledgeSourceIdstringThe knowledge source identifier.
agentNamestringThe agent name if the request is being made on behalf of an agent.
userIdentityUnifiedUserIdentityThe identity of the security principal submitting the request.
Returns
- Task<Result<ResourceProviderGetResult<KnowledgeSource>>>
A Task producing a Result<T> whose value is a ResourceProviderGetResult<T> containing the KnowledgeSource and its assigned roles/actions when successful; otherwise a failed result with a domain error.
GetKnowledgeSources(string, ContextKnowledgeResourceListRequest, UnifiedUserIdentity)
Retrieves the list of knowledge sources.
public Task<Result<IEnumerable<ResourceProviderGetResult<KnowledgeSource>>>> GetKnowledgeSources(string instanceId, ContextKnowledgeResourceListRequest listRequest, UnifiedUserIdentity userIdentity)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
listRequestContextKnowledgeResourceListRequestThe request containing the information used to filter the knowledge resources.
userIdentityUnifiedUserIdentityThe identity of the security principal submitting the request.
Returns
- Task<Result<IEnumerable<ResourceProviderGetResult<KnowledgeSource>>>>
A Task producing a Result<T> whose value is an enumerable of ResourceProviderGetResult<T> items for the matching KnowledgeSource resources; otherwise a failed result with a domain error.
GetKnowledgeUnit(string, string, string?, UnifiedUserIdentity)
Retrieves a specified knowledge unit.
public Task<Result<ResourceProviderGetResult<KnowledgeUnit>>> GetKnowledgeUnit(string instanceId, string knowledgeUnitId, string? agentName, UnifiedUserIdentity userIdentity)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
knowledgeUnitIdstringThe knowledge unit identifier.
agentNamestringThe agent name if the request is being made on behalf of an agent.
userIdentityUnifiedUserIdentityThe identity of the security principal submitting the request.
Returns
- Task<Result<ResourceProviderGetResult<KnowledgeUnit>>>
A Task producing a Result<T> whose value is a ResourceProviderGetResult<T> containing the KnowledgeUnit and its assigned roles/actions when successful; otherwise a failed result with a domain error.
GetKnowledgeUnits(string, ContextKnowledgeResourceListRequest, UnifiedUserIdentity)
Retrieves the list of knowledge units.
public Task<Result<IEnumerable<ResourceProviderGetResult<KnowledgeUnit>>>> GetKnowledgeUnits(string instanceId, ContextKnowledgeResourceListRequest listRequest, UnifiedUserIdentity userIdentity)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
listRequestContextKnowledgeResourceListRequestThe request containing the information used to filter the knowledge resources.
userIdentityUnifiedUserIdentityThe identity of the security principal submitting the request.
Returns
- Task<Result<IEnumerable<ResourceProviderGetResult<KnowledgeUnit>>>>
A Task producing a Result<T> whose value is an enumerable of ResourceProviderGetResult<T> items for the matching KnowledgeUnit resources; otherwise a failed result with a domain error.
QueryKnowledgeSource(string, string, ContextKnowledgeSourceQueryRequest, UnifiedUserIdentity)
Queries a knowledge source.
public Task<Result<ContextKnowledgeSourceQueryResponse>> QueryKnowledgeSource(string instanceId, string knowledgeSourceId, ContextKnowledgeSourceQueryRequest queryRequest, UnifiedUserIdentity userIdentity)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
knowledgeSourceIdstringThe knowledge source identifier.
queryRequestContextKnowledgeSourceQueryRequestThe request containing the details of the query.
userIdentityUnifiedUserIdentityThe identity of the security principal submitting the request.
Returns
- Task<Result<ContextKnowledgeSourceQueryResponse>>
A Task producing a Result<T> whose value is a ContextKnowledgeSourceQueryResponse containing vector store and/or knowledge graph results when successful; otherwise a failed result with a domain error.
RenderKnowledgeUnitGraph(string, string, ContextKnowledgeSourceQueryRequest?, UnifiedUserIdentity)
Retrieves the knowledge unit's knowledge graph in a format suitable for visualization or further processing.
public Task<Result<ContextKnowledgeUnitRenderGraphResponse>> RenderKnowledgeUnitGraph(string instanceId, string knowledgeUnitId, ContextKnowledgeSourceQueryRequest? queryRequest, UnifiedUserIdentity userIdentity)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
knowledgeUnitIdstringThe knowledge unit identifier.
queryRequestContextKnowledgeSourceQueryRequestThe request containing the details of the query.
userIdentityUnifiedUserIdentityThe identity of the security principal submitting the request.
Returns
- Task<Result<ContextKnowledgeUnitRenderGraphResponse>>
A Task producing a Result<T> whose value is a ContextKnowledgeUnitRenderGraphResponse containing nodes and edges when successful; otherwise a failed result with a domain error.
SetKnowledgeUnitGraph(string, string, ContextKnowledgeUnitSetGraphRequest, UnifiedUserIdentity)
Sets the knowledge graph associated with a knowledge unit.
public Task<Result<ResourceProviderActionResult>> SetKnowledgeUnitGraph(string instanceId, string knowledgeUnitId, ContextKnowledgeUnitSetGraphRequest setGraphRequest, UnifiedUserIdentity userIdentity)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
knowledgeUnitIdstringThe knowledge unit identifier.
setGraphRequestContextKnowledgeUnitSetGraphRequestThe request containing the knowledge graph details.
userIdentityUnifiedUserIdentityThe identity of the security principal submitting the request.
Returns
- Task<Result<ResourceProviderActionResult>>
A Task producing a Result<T> whose value is a ResourceProviderActionResult indicating the graph set operation outcome; otherwise a failed result with a domain error.
UpsertKnowledgeSource(string, KnowledgeSource, UnifiedUserIdentity)
Creates or updates a knowledge source in the context service.
public Task<Result<ResourceProviderUpsertResult<KnowledgeSource>>> UpsertKnowledgeSource(string instanceId, KnowledgeSource knowledgeSource, UnifiedUserIdentity userIdentity)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
knowledgeSourceKnowledgeSourceThe knowledge source to be created or updated.
userIdentityUnifiedUserIdentityThe identity of the security principal submitting the request.
Returns
- Task<Result<ResourceProviderUpsertResult<KnowledgeSource>>>
A Task producing a Result<T> whose value is a ResourceProviderUpsertResult<T> describing the upsert outcome for the KnowledgeSource; otherwise a failed result with a domain error.
UpsertKnowledgeUnit(string, KnowledgeUnit, UnifiedUserIdentity)
Creates or updates a knowledge unit in the context service.
public Task<Result<ResourceProviderUpsertResult<KnowledgeUnit>>> UpsertKnowledgeUnit(string instanceId, KnowledgeUnit knowledgeUnit, UnifiedUserIdentity userIdentity)
Parameters
instanceIdstringThe FoundationaLLM instance identifier.
knowledgeUnitKnowledgeUnitThe knowledge unit to be created or updated.
userIdentityUnifiedUserIdentityThe identity of the security principal submitting the request.
Returns
- Task<Result<ResourceProviderUpsertResult<KnowledgeUnit>>>
A Task producing a Result<T> whose value is a ResourceProviderUpsertResult<T> describing the upsert outcome for the KnowledgeUnit; otherwise a failed result with a domain error.