Files
CodeAnalizer/CodeBase/Services/CodeService.cs
2026-07-24 14:07:34 +04:00

33 lines
1.0 KiB
C#

using CodeBase.Models;
using CodeBase.Repositories;
namespace CodeBase.Services
{
public class CodeService(ScipRepository repository,
VectorizationService vectorizationService,
LlmService llmService)
{
public async Task<string> GetAnswerAsync(string name, string question)
{
var query = await vectorizationService.GetVectorAsync(question);
var answerVectors = await SearchAsync(query, name, 15);
var answer = await llmService.AskQuestionAsync(question, answerVectors);
return answer;
}
// Главный метод поиска
public async Task<List<RetrievedContext>> SearchAsync(
float[] queryVector,
string name,
int topK = 3) // Возвращаем топ-3 результата
{
var results = await repository.FindSimilarNodesAsync(queryVector, name, topK);
return results;
}
}
}