Попытки в мультипарсинг

This commit is contained in:
2026-07-24 13:47:21 +04:00
parent b2a13528ee
commit eb8dac7627
22 changed files with 1486 additions and 37 deletions

View File

@@ -0,0 +1,45 @@
using Neo4j.Driver;
namespace CodeBase.Repositories
{
public class DatabaseInitializer
{
private readonly IDriver _neo4jDriver;
public DatabaseInitializer(IDriver neo4jDriver)
{
_neo4jDriver = neo4jDriver;
}
public async Task InitializeAsync()
{
try
{
await using var session = _neo4jDriver.AsyncSession();
// IF NOT EXISTS гарантирует, что запрос не упадет с ошибкой,
// если индекс уже был создан при предыдущем запуске
var query = @"
CREATE VECTOR INDEX code_embeddings IF NOT EXISTS
FOR (m:CodeEntity) ON (m.embedding)
OPTIONS {
indexConfig: {
`vector.dimensions`: 768, // <-- УКАЖИ ТУТ РАЗМЕРНОСТЬ ТВОЕЙ МОДЕЛИ
`vector.similarity_function`: 'cosine'
}
}";
await session.ExecuteWriteAsync(async tx =>
{
await tx.RunAsync(query);
});
Console.WriteLine("[БД] Векторный индекс успешно инициализирован.");
}
catch (Exception ex)
{
Console.WriteLine($"[БД ОШИБКА] Ошибка при создании индекса: {ex.Message}");
}
}
}
}