Temel Yapılandırma
SmartRAG ihtiyaçlarınıza uygun çeşitli seçeneklerle yapılandırılabilir:
services.AddSmartRag(configuration, options =>
{
options.AIProvider = AIProvider.Anthropic;
options.StorageProvider = StorageProvider.Qdrant;
options.MaxChunkSize = 1000;
options.ChunkOverlap = 200;
});
Yapılandırma Seçenekleri
Seçenek | Tip | Varsayılan | Açıklama |
---|---|---|---|
AIProvider |
AIProvider |
Anthropic |
Embedding'ler için kullanılacak AI provider |
StorageProvider |
StorageProvider |
Qdrant |
Vektörler için depolama provider'ı |
MaxChunkSize |
int |
1000 | Belge parçalarının maksimum boyutu |
MinChunkSize |
int |
50 | Belge parçalarının minimum boyutu |
ChunkOverlap |
int |
200 | Parçalar arasındaki örtüşme |
MaxRetryAttempts |
int |
3 | Maksimum yeniden deneme sayısı |
RetryDelayMs |
int |
1000 | Yeniden deneme arasındaki gecikme (ms) |
RetryPolicy |
RetryPolicy |
ExponentialBackoff |
Yeniden deneme politikası |
EnableFallbackProviders |
bool |
false | Yedek provider'ları etkinleştir |
FallbackProviders |
AIProvider[] |
[] | Yedek AI provider'ları listesi |
AI Provider Yapılandırması
Embedding üretimi için birden fazla AI provider arasından seçim yapın:
services.AddSmartRag(configuration, options =>
{
options.AIProvider = AIProvider.Anthropic;
options.MaxChunkSize = 1000;
options.ChunkOverlap = 200;
});
// appsettings.json
{
"Anthropic": {
"ApiKey": "your-anthropic-key",
"Model": "claude-3-sonnet-20240229"
}
}
services.AddSmartRag(configuration, options =>
{
options.AIProvider = AIProvider.OpenAI;
options.MaxChunkSize = 1000;
options.ChunkOverlap = 200;
});
// appsettings.json
{
"OpenAI": {
"ApiKey": "your-openai-key",
"Model": "gpt-4",
"EmbeddingModel": "text-embedding-ada-002"
}
}
services.AddSmartRag(configuration, options =>
{
options.AIProvider = AIProvider.Gemini;
options.MaxChunkSize = 1000;
options.ChunkOverlap = 200;
});
// appsettings.json
{
"Gemini": {
"ApiKey": "your-gemini-key",
"Model": "gemini-pro",
"EmbeddingModel": "embedding-001"
}
}
Depolama Provider Yapılandırması
İhtiyaçlarınıza en uygun depolama backend'ini seçin:
services.AddSmartRag(configuration, options =>
{
options.StorageProvider = StorageProvider.Qdrant;
options.MaxChunkSize = 1000;
options.ChunkOverlap = 200;
});
// appsettings.json
{
"Storage": {
"Qdrant": {
"Host": "localhost",
"ApiKey": "your-qdrant-key",
"CollectionName": "smartrag_documents",
"VectorSize": 768
}
}
}
services.AddSmartRag(configuration, options =>
{
options.StorageProvider = StorageProvider.InMemory;
options.MaxChunkSize = 1000;
options.ChunkOverlap = 200;
});
// Ek yapılandırma gerekmez
Gelişmiş Yapılandırma
SmartRAG'i özel gereksinimleriniz için ince ayar yapın:
Özel Parçalama
services.AddSmartRag(configuration, options =>
{
options.MaxChunkSize = 500;
options.MinChunkSize = 50;
options.ChunkOverlap = 100;
});
Yeniden Deneme Yapılandırması
services.AddSmartRag(configuration, options =>
{
options.MaxRetryAttempts = 3;
options.RetryDelayMs = 1000;
options.RetryPolicy = RetryPolicy.ExponentialBackoff;
options.EnableFallbackProviders = true;
options.FallbackProviders = new[] { AIProvider.Gemini, AIProvider.OpenAI };
});
Ortam Yapılandırması
Ortam değişkenleri veya yapılandırma dosyaları kullanarak SmartRAG'i yapılandırın:
appsettings.json
{
"Anthropic": {
"ApiKey": "your-anthropic-key",
"Model": "claude-3-sonnet-20240229"
},
"Storage": {
"Qdrant": {
"Host": "localhost",
"ApiKey": "your-qdrant-key",
"CollectionName": "smartrag_documents"
}
}
}
Ortam Değişkenleri
export ANTHROPIC_API_KEY=your-anthropic-key
export QDRANT_API_KEY=your-qdrant-key
En İyi Uygulamalar
API Anahtarları
API anahtarlarını kaynak kodda asla hardcode yapmayın. Ortam değişkenleri veya güvenli yapılandırma kullanın.
Parça Boyutu
Bağlam ve performans arasında denge kurun. Hassasiyet için küçük, bağlam için büyük parçalar.
Depolama
Ölçeğinize ve gereksinimlerinize göre depolama provider'ı seçin.
Güvenlik
Üretim ortamları için uygun erişim kontrolleri ve izleme kullanın.