Konfigurationshandbuch
Konfigurieren Sie SmartRAG für Ihre spezifischen Bedürfnisse mit detaillierten Optionen und bewährten Praktiken
Grundkonfiguration
SmartRAG kann mit verschiedenen Optionen konfiguriert werden, um Ihren Bedürfnissen zu entsprechen:
services.AddSmartRAG(options =>
{
options.AIProvider = AIProvider.Anthropic;
options.StorageProvider = StorageProvider.Qdrant;
options.ApiKey = "your-api-key";
});
Konfigurationsoptionen
Option | Typ | Standard | Beschreibung |
---|---|---|---|
AIProvider |
AIProvider |
Anthropic |
Der KI-Anbieter für Embeddings |
StorageProvider |
StorageProvider |
Qdrant |
Der Speicheranbieter für Vektoren |
ApiKey |
string |
Erforderlich | Ihr API-Schlüssel für den KI-Anbieter |
ModelName |
string |
Anbieter-Standard | Das spezifische zu verwendende Modell |
ChunkSize |
int |
1000 | Größe der Dokumentenabschnitte |
ChunkOverlap |
int |
200 | Überlappung zwischen Abschnitten |
KI-Anbieter-Konfiguration
Wählen Sie aus mehreren KI-Anbietern für die Embedding-Generierung:
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";
});
Benutzerdefinierter KI-Anbieter
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";
});
Speicher-Anbieter-Konfiguration
Wählen Sie das Speicher-Backend, das am besten zu Ihren Bedürfnissen passt:
Qdrant (Vektor-Datenbank)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.Qdrant;
options.QdrantUrl = "http://localhost:6333";
options.CollectionName = "smartrag_documents";
});
Redis (In-Memory-Cache)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.Redis;
options.RedisConnectionString = "localhost:6379";
options.DatabaseId = 0;
});
SQLite (Lokale Datenbank)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.Sqlite;
options.ConnectionString = "Data Source=smartrag.db";
});
In-Memory (Entwicklung)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.InMemory;
// Keine zusätzliche Konfiguration erforderlich
});
Dateisystem (Lokaler Speicher)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.FileSystem;
options.StoragePath = "./data/smartrag";
});
Erweiterte Konfiguration
Feinabstimmung von SmartRAG für Ihre spezifischen Anforderungen:
Benutzerdefinierte Chunking
services.AddSmartRAG(options =>
{
options.ChunkSize = 500;
options.ChunkOverlap = 100;
options.ChunkingStrategy = ChunkingStrategy.Sentence;
});
Dokumentenverarbeitung
services.AddSmartRAG(options =>
{
options.SupportedFormats = new[] { ".pdf", ".docx", ".txt" };
options.MaxFileSize = 10 * 1024 * 1024; // 10MB
options.EnableTextExtraction = true;
});
Umgebungskonfiguration
Konfigurieren Sie SmartRAG mit Umgebungsvariablen oder Konfigurationsdateien:
appsettings.json
{
"SmartRAG": {
"AIProvider": "Anthropic",
"StorageProvider": "Qdrant",
"ApiKey": "your-api-key",
"ChunkSize": 1000,
"ChunkOverlap": 200
}
}
Umgebungsvariablen
export SMARTRAG_AI_PROVIDER=Anthropic
export SMARTRAG_STORAGE_PROVIDER=Qdrant
export SMARTRAG_API_KEY=your-api-key
Bewährte Praktiken
API-Schlüssel
Kodieren Sie API-Schlüssel niemals im Quellcode. Verwenden Sie Umgebungsvariablen oder sichere Konfiguration.
Chunk-Größe
Balancieren Sie zwischen Kontext und Leistung. Kleinere Chunks für Präzision, größere für Kontext.
Speicher
Wählen Sie den Speicheranbieter basierend auf Ihrer Skala und Ihren Anforderungen.
Sicherheit
Verwenden Sie angemessene Zugriffskontrollen und Überwachung für Produktionsumgebungen.