Переехали на графовую модель, засунули все в докер, поменяли парсинг
This commit is contained in:
@@ -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 результата
|
||||
|
||||
Reference in New Issue
Block a user