переехали на вектурную бд

This commit is contained in:
2026-07-22 22:36:12 +04:00
parent 17a64809cb
commit b6829ce753
5 changed files with 130 additions and 23 deletions

View File

@@ -1,9 +1,12 @@
using CodeBase.Services;
using CodeBase.Warehouse;
using Qdrant.Client;
using Qdrant.Client.Grpc;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddSingleton(new QdrantClient("localhost", 6334));
builder.Services.AddSingleton<ChunkWarehouse>();
builder.Services.AddTransient<VectorizationService>();
@@ -11,6 +14,7 @@ builder.Services.AddTransient<LlmService>();
builder.Services.AddScoped<LlmPromptBuilder>();
builder.Services.AddTransient<ChunkService>();
builder.Services.AddTransient<CodeService>();
builder.Services.AddTransient<QdrantRepository>();
builder.Services.AddControllers();
builder.Services.AddSwaggerGen();
@@ -30,4 +34,27 @@ app.UseAuthorization();
app.MapControllers();
using (var scope = app.Services.CreateScope())
{
var qdrantClient = scope.ServiceProvider.GetRequiredService<QdrantClient>();
// Получаем список существующих коллекций
var collections = await qdrantClient.ListCollectionsAsync();
if (!collections.Contains("CodeBaseCollection"))
{
Console.WriteLine("Создаем новую коллекцию в Qdrant...");
await qdrantClient.CreateCollectionAsync(
collectionName: "CodeBaseCollection",
vectorsConfig: new VectorParams
{
Size = 768, // Размер вектора GraphCodeBERT
Distance = Distance.Cosine // Сразу задаем алгоритм поиска (косинусное сходство)
}
);
}
}
app.Run();