Pass tag confidence scores to AI assignment for weighted matching
The AI assignment path was receiving project tags as flat strings, losing the confidence scores from AI tagging. Now both the GPT path and the fallback algorithm weight tag matches by confidence — a 0.9 tag matters more than a 0.5 one. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -74,10 +74,22 @@ async function runAIAssignmentJob(jobId: string, roundId: string, userId: string
|
||||
description: true,
|
||||
tags: true,
|
||||
teamName: true,
|
||||
projectTags: {
|
||||
select: { tag: { select: { name: true } }, confidence: true },
|
||||
},
|
||||
_count: { select: { assignments: { where: { roundId } } } },
|
||||
},
|
||||
})
|
||||
|
||||
// Enrich projects with tag confidence data for AI matching
|
||||
const projectsWithConfidence = projects.map((p) => ({
|
||||
...p,
|
||||
tagConfidences: p.projectTags.map((pt) => ({
|
||||
name: pt.tag.name,
|
||||
confidence: pt.confidence,
|
||||
})),
|
||||
}))
|
||||
|
||||
const existingAssignments = await prisma.assignment.findMany({
|
||||
where: { roundId },
|
||||
select: { userId: true, projectId: true },
|
||||
@@ -124,7 +136,7 @@ async function runAIAssignmentJob(jobId: string, roundId: string, userId: string
|
||||
|
||||
const result = await generateAIAssignments(
|
||||
jurors,
|
||||
projects,
|
||||
projectsWithConfidence,
|
||||
constraints,
|
||||
userId,
|
||||
roundId,
|
||||
|
||||
Reference in New Issue
Block a user