Yapılandırma Rehberi
SmartRAG'i ihtiyaçlarınıza göre detaylı seçenekler ve en iyi uygulamalarla yapılandırın
Temel Yapılandırma
SmartRAG ihtiyaçlarınıza uygun çeşitli seçeneklerle yapılandırılabilir:
services.AddSmartRAG(options =>
{
options.AIProvider = AIProvider.Anthropic;
options.StorageProvider = StorageProvider.Qdrant;
options.ApiKey = "your-api-key";
});
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'ı |
ApiKey |
string |
Gerekli | AI provider için API anahtarınız |
ModelName |
string |
Provider varsayılanı | Kullanılacak spesifik model |
ChunkSize |
int |
1000 | Belge parçalarının boyutu |
ChunkOverlap |
int |
200 | Parçalar arasındaki örtüşme |
AI Provider Yapılandırması
Embedding üretimi için birden fazla AI provider arasından seçim yapın:
Anthropic (Claude)
services.AddSmartRAG(options =>
{
options.AIProvider = AIProvider.Anthropic;
options.ApiKey = "your-anthropic-key";
options.ModelName = "claude-3-sonnet-20240229";
});
OpenAI
services.AddSmartRAG(options =>
{
options.AIProvider = AIProvider.OpenAI;
options.ApiKey = "your-openai-key";
options.ModelName = "text-embedding-ada-002";
});
Azure OpenAI
services.AddSmartRAG(options =>
{
options.AIProvider = AIProvider.AzureOpenAI;
options.ApiKey = "your-azure-key";
options.Endpoint = "https://your-resource.openai.azure.com/";
options.ModelName = "text-embedding-ada-002";
});
Google Gemini
services.AddSmartRAG(options =>
{
options.AIProvider = AIProvider.Gemini;
options.ApiKey = "your-gemini-key";
options.ModelName = "embedding-001";
});
Özel AI Provider
services.AddSmartRAG(options =>
{
options.AIProvider = AIProvider.Custom;
options.CustomEndpoint = "https://your-custom-api.com/v1/embeddings";
options.ApiKey = "your-custom-key";
options.ModelName = "your-custom-model";
});
Depolama Provider Yapılandırması
İhtiyaçlarınıza en uygun depolama backend'ini seçin:
Qdrant (Vektör Veritabanı)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.Qdrant;
options.QdrantUrl = "http://localhost:6333";
options.CollectionName = "smartrag_documents";
});
Redis (Bellek İçi Önbellek)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.Redis;
options.RedisConnectionString = "localhost:6379";
options.DatabaseId = 0;
});
SQLite (Yerel Veritabanı)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.Sqlite;
options.ConnectionString = "Data Source=smartrag.db";
});
Bellek İçi (Geliştirme)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.InMemory;
// Ek yapılandırma gerekmez
});
Dosya Sistemi (Yerel Depolama)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.FileSystem;
options.StoragePath = "./data/smartrag";
});
Gelişmiş Yapılandırma
SmartRAG'i özel gereksinimleriniz için ince ayar yapın:
Özel Parçalama
services.AddSmartRAG(options =>
{
options.ChunkSize = 500;
options.ChunkOverlap = 100;
options.ChunkingStrategy = ChunkingStrategy.Sentence;
});
Belge İşleme
services.AddSmartRAG(options =>
{
options.SupportedFormats = new[] { ".pdf", ".docx", ".txt" };
options.MaxFileSize = 10 * 1024 * 1024; // 10MB
options.EnableTextExtraction = true;
});
Ortam Yapılandırması
Ortam değişkenleri veya yapılandırma dosyaları kullanarak SmartRAG'i yapılandırın:
appsettings.json
{
"SmartRAG": {
"AIProvider": "Anthropic",
"StorageProvider": "Qdrant",
"ApiKey": "your-api-key",
"ChunkSize": 1000,
"ChunkOverlap": 200
}
}
Ortam Değişkenleri
export SMARTRAG_AI_PROVIDER=Anthropic
export SMARTRAG_STORAGE_PROVIDER=Qdrant
export SMARTRAG_API_KEY=your-api-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.