DriveClient
Namespace: Daisi.SDK.Clients.V1.Orc
Inheritance: DriveManagerProto.DriveManagerProtoClient
Factory
DriveClientFactory - create a DriveClient using your IClientKeyProvider.
var driveClientFactory = new DriveClientFactory(clientKeyProvider); var driveClient = driveClientFactory.Create();
Remarks
DriveClient manages file storage and semantic search on DAISI Drive. Files are organized into repositories with access control. The vector search feature uses RAG (Retrieval-Augmented Generation) to find relevant files based on natural language queries, scoped to repositories the caller has access to.
Vector Search
Search across your files using natural language. Results are automatically scoped to repositories you have access to:
// Basic search
var response = await driveClient.VectorSearchAsync("customer onboarding process", topK: 10);
foreach (var result in response.Results)
{
Console.WriteLine($"{result.FileName} (score: {result.Score:F3})");
Console.WriteLine($" Repository: {result.RepositoryId}");
Console.WriteLine($" Snippet: {result.Content}");
}
Filtered Vector Search
Filter search results to specific repositories or files:
// Search within specific repositories
var response = await driveClient.VectorSearchAsync(
query: "quarterly revenue data",
topK: 5,
repositoryIds: new[] { "repo-finance", "repo-reports" },
fileIds: null,
includeSystemFiles: false
);
Access Control
Vector search respects DAISI Drive's repository access model. Results are filtered server-side based on the caller's permissions — you will only receive results from repositories you can access. Repository types include:
- Account - Accessible to all users in the account
- Private - Accessible only to the file owner
- Custom - Accessible to specific users or groups