Enumerations
SmartRAG enumerations - AIProvider, StorageProvider, DatabaseType, RetryPolicy and other enums
Enumerations
AIProvider
Supported AI providers.
public enum AIProvider
{
OpenAI, // OpenAI GPT models
Anthropic, // Anthropic Claude models
Gemini, // Google Gemini models
AzureOpenAI, // Azure OpenAI service
Custom // Custom/Ollama/LM Studio/OpenRouter
}
StorageProvider
Supported storage backends for document and vector data persistence.
public enum StorageProvider
{
InMemory, // RAM storage (non-persistent, for testing and development)
Redis, // High-performance cache and storage
Qdrant // Vector database for advanced vector search capabilities
}
Note: SQLite and FileSystem are not available as StorageProvider options. They are only available as ConversationStorageProvider options for conversation history storage.
ConversationStorageProvider
Available storage providers for conversation history.
public enum ConversationStorageProvider
{
Redis, // Store conversations in Redis
SQLite, // Store conversations in SQLite database
FileSystem, // Store conversations in file system
InMemory // Store conversations in memory (not persistent)
}
Note: If ConversationStorageProvider is not specified in SmartRagOptions, the system uses the same provider as StorageProvider (excluding Qdrant, which doesn’t support conversation storage).
DatabaseType
Supported database types.
public enum DatabaseType
{
SQLite, // SQLite embedded database
SqlServer, // Microsoft SQL Server
MySQL, // MySQL / MariaDB
PostgreSQL // PostgreSQL
}
RetryPolicy
Retry policies for failed requests.
public enum RetryPolicy
{
None, // No retries
FixedDelay, // Fixed delay between retries
LinearBackoff, // Linearly increasing delay
ExponentialBackoff // Exponentially increasing delay (recommended)
}
AudioProvider
Supported audio transcription providers.
public enum AudioProvider
{
Whisper // Whisper.net (Local transcription - only supported provider)
}
Note: Currently, only Whisper.net is supported for local audio transcription. Google Speech-to-Text configuration exists but is not yet implemented.
QueryStrategy
Strategy for query execution.
public enum QueryStrategy
{
DatabaseOnly, // Execute database query only
DocumentOnly, // Execute document query only
Hybrid // Execute both database and document queries
}