Быстрые примеры

Начните работу с SmartRAG за минуты.

Базовое использование

// 1. Загрузить документ
var document = await _documentService.UploadDocumentAsync(file);

// 2. Поиск документов
var results = await _searchService.SearchDocumentsAsync(query, 10);

// 3. Генерация RAG ответа с историей разговора
var response = await _searchService.GenerateRagAnswerAsync(question);

Пример контроллера

[ApiController]
[Route("api/[controller]")]
public class SearchController : ControllerBase
{
    private readonly IDocumentSearchService _searchService;
    
    [HttpPost("search")]
    public async Task Search([FromBody] SearchRequest request)
    {
        var response = await _searchService.GenerateRagAnswerAsync(
            request.Query, request.MaxResults);
        return Ok(response);
    }
}

public class SearchRequest
{
    public string Query { get; set; } = string.Empty;
    public int MaxResults { get; set; } = 5;
}</code></pre>
                    </div>
                </div>
            </div>
        </section>

        
        

Расширенное использование

Расширенные примеры для производственного использования.

Пакетная обработка

// Загрузить несколько документов
var documents = await _documentService.UploadDocumentsAsync(files);

// Получить статистику хранилища
var stats = await _documentService.GetStorageStatisticsAsync();

// Управление документами
var allDocs = await _documentService.GetAllDocumentsAsync();
await _documentService.DeleteDocumentAsync(documentId);

Операции обслуживания

// Регенерация эмбеддингов
await _documentService.RegenerateAllEmbeddingsAsync();

// Очистка данных
await _documentService.ClearAllEmbeddingsAsync();
await _documentService.ClearAllDocumentsAsync();

Конфигурация

Настройте SmartRAG под ваши потребности.

Регистрация сервисов

// Program.cs
services.AddSmartRag(configuration, options =>
{
    options.AIProvider = AIProvider.Anthropic;
    options.StorageProvider = StorageProvider.Redis;
    options.MaxChunkSize = 1000;
    options.ChunkOverlap = 200;
});
</div> </div>