Переехали на графовую модель, засунули все в докер, поменяли парсинг

This commit is contained in:
2026-07-23 08:34:26 +04:00
parent c503fc4990
commit b2a13528ee
14 changed files with 420 additions and 204 deletions

View File

@@ -1,10 +1,9 @@
using CodeBase.Models;
using CodeBase.Warehouse;
namespace CodeBase.Services
{
public class CodeService(ChunkService service,
QdrantRepository repository,
GraphRepository repository,
VectorizationService vectorizationService,
LlmService llmService)
{
@@ -15,20 +14,7 @@ namespace CodeBase.Services
throw new Exception("Путь не найден");
}
var allChunks = new List<CodeChunk>();
// Находим все .cs файлы во всех вложенных папках
var csFiles = Directory.GetFiles(path, "*.cs", SearchOption.AllDirectories);
foreach (var filePath in csFiles)
{
var content = File.ReadAllText(filePath);
// Парсим каждый файл отдельно, сохраняя его оригинальный путь
var fileChunks = service.ChunkCSharpFile(filePath, content);
allChunks.AddRange(fileChunks);
}
var allChunks = await service.ParseProjectAsync(path);
var chunks = await vectorizationService.EnrichChunksWithVectorsAsync(allChunks);
@@ -49,7 +35,7 @@ namespace CodeBase.Services
}
// Главный метод поиска
public async Task<List<CodeChunk>> SearchAsync(
public async Task<List<GraphNodeContext>> SearchAsync(
float[] queryVector,
string name,
int topK = 3) // Возвращаем топ-3 результата