переехали на вектурную бд
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user