44 lines
1.2 KiB
C#
44 lines
1.2 KiB
C#
namespace Api.Models.Rag;
|
|
|
|
public sealed record CvIngestResponse(
|
|
string DocumentId,
|
|
int Chunks,
|
|
int CharactersExtracted,
|
|
string Summary
|
|
);
|
|
|
|
public sealed class JobMatchRequest
|
|
{
|
|
public string? CvDocumentId { get; set; }
|
|
public string? JobUrl { get; set; }
|
|
public string? JobDescription { get; set; }
|
|
public bool GdprConsent { get; set; }
|
|
}
|
|
|
|
public sealed class JobMatchResponse
|
|
{
|
|
public int Score { get; set; }
|
|
public string Summary { get; set; } = string.Empty;
|
|
public List<string> Strengths { get; set; } = [];
|
|
public List<string> Gaps { get; set; } = [];
|
|
public List<string> Recommendations { get; set; } = [];
|
|
public List<string> Evidence { get; set; } = [];
|
|
}
|
|
|
|
public sealed class StoredCvChunk
|
|
{
|
|
public required string Id { get; init; }
|
|
public required string DocumentId { get; init; }
|
|
public required string Text { get; init; }
|
|
public required float[] Embedding { get; init; }
|
|
public required int ChunkIndex { get; init; }
|
|
public DateTimeOffset ExpiresAt { get; init; }
|
|
}
|
|
|
|
public sealed class RetrievedCvChunk
|
|
{
|
|
public required string Text { get; init; }
|
|
public required int ChunkIndex { get; init; }
|
|
public double Score { get; init; }
|
|
}
|