Руководство по конфигурации
Настройте SmartRAG для ваших конкретных потребностей с подробными опциями и лучшими практиками
Базовая конфигурация
SmartRAG можно настроить с различными опциями в соответствии с вашими потребностями:
services.AddSmartRAG(options =>
{
options.AIProvider = AIProvider.Anthropic;
options.StorageProvider = StorageProvider.Qdrant;
options.ApiKey = "your-api-key";
});
Опции конфигурации
Опция | Тип | По умолчанию | Описание |
---|---|---|---|
AIProvider |
AIProvider |
Anthropic |
ИИ-провайдер для эмбеддингов |
StorageProvider |
StorageProvider |
Qdrant |
Провайдер хранения для векторов |
ApiKey |
string |
Обязательно | Ваш API-ключ для ИИ-провайдера |
ModelName |
string |
По умолчанию провайдера | Конкретная модель для использования |
ChunkSize |
int |
1000 | Размер фрагментов документа |
ChunkOverlap |
int |
200 | Перекрытие между фрагментами |
Конфигурация ИИ-провайдеров
Выберите из нескольких ИИ-провайдеров для генерации эмбеддингов:
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";
});
Пользовательский ИИ-провайдер
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";
});
Конфигурация провайдеров хранения
Выберите бэкенд хранения, который лучше всего подходит для ваших потребностей:
Qdrant (Векторная база данных)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.Qdrant;
options.QdrantUrl = "http://localhost:6333";
options.CollectionName = "smartrag_documents";
});
Redis (Кэш в памяти)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.Redis;
options.RedisConnectionString = "localhost:6379";
options.DatabaseId = 0;
});
SQLite (Локальная база данных)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.Sqlite;
options.ConnectionString = "Data Source=smartrag.db";
});
In-Memory (Разработка)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.InMemory;
// Дополнительная конфигурация не требуется
});
Файловая система (Локальное хранилище)
services.AddSmartRAG(options =>
{
options.StorageProvider = StorageProvider.FileSystem;
options.StoragePath = "./data/smartrag";
});
Расширенная конфигурация
Настройте SmartRAG для ваших конкретных требований:
Пользовательское разбиение на фрагменты
services.AddSmartRAG(options =>
{
options.ChunkSize = 500;
options.ChunkOverlap = 100;
options.ChunkingStrategy = ChunkingStrategy.Sentence;
});
Обработка документов
services.AddSmartRAG(options =>
{
options.SupportedFormats = new[] { ".pdf", ".docx", ".txt" };
options.MaxFileSize = 10 * 1024 * 1024; // 10MB
options.EnableTextExtraction = true;
});
Конфигурация окружения
Настройте SmartRAG с помощью переменных окружения или файлов конфигурации:
appsettings.json
{
"SmartRAG": {
"AIProvider": "Anthropic",
"StorageProvider": "Qdrant",
"ApiKey": "your-api-key",
"ChunkSize": 1000,
"ChunkOverlap": 200
}
}
Переменные окружения
export SMARTRAG_AI_PROVIDER=Anthropic
export SMARTRAG_STORAGE_PROVIDER=Qdrant
export SMARTRAG_API_KEY=your-api-key
Лучшие практики
API-ключи
Никогда не храните API-ключи в исходном коде. Используйте переменные окружения или безопасную конфигурацию.
Размер фрагментов
Балансируйте между контекстом и производительностью. Меньшие фрагменты для точности, большие для контекста.
Хранение
Выбирайте провайдера хранения на основе вашего масштаба и требований.
Безопасность
Используйте соответствующие средства контроля доступа и мониторинга для производственных сред.