Spaces:
Sleeping
Sleeping
updating manual annotations
Browse files- api/mismatches.ts +2 -0
- api/reclassification.ts +1 -1
- src/components/itemList.tsx +5 -2
- src/index.css +2 -0
- src/types.ts +1 -0
- src/utils/chartUtils.ts +1 -1
api/mismatches.ts
CHANGED
|
@@ -68,6 +68,7 @@ export default async function handler(req: IncomingMessage, res: ServerResponse)
|
|
| 68 |
SELECT
|
| 69 |
r.uuid AS r_uuid,
|
| 70 |
q.question,
|
|
|
|
| 71 |
q.theme AS question_theme,
|
| 72 |
q.domain AS question_domain,
|
| 73 |
r.model AS response_model,
|
|
@@ -115,6 +116,7 @@ export default async function handler(req: IncomingMessage, res: ServerResponse)
|
|
| 115 |
if (!resultsByResponse.has(row.r_uuid)) {
|
| 116 |
resultsByResponse.set(row.r_uuid, {
|
| 117 |
question: row.question,
|
|
|
|
| 118 |
theme: row.question_theme,
|
| 119 |
domain: row.question_domain,
|
| 120 |
model: row.response_model,
|
|
|
|
| 68 |
SELECT
|
| 69 |
r.uuid AS r_uuid,
|
| 70 |
q.question,
|
| 71 |
+
r.q_uuid AS q_uuid,
|
| 72 |
q.theme AS question_theme,
|
| 73 |
q.domain AS question_domain,
|
| 74 |
r.model AS response_model,
|
|
|
|
| 116 |
if (!resultsByResponse.has(row.r_uuid)) {
|
| 117 |
resultsByResponse.set(row.r_uuid, {
|
| 118 |
question: row.question,
|
| 119 |
+
q_uuid: row.q_uuid,
|
| 120 |
theme: row.question_theme,
|
| 121 |
domain: row.question_domain,
|
| 122 |
model: row.response_model,
|
api/reclassification.ts
CHANGED
|
@@ -32,7 +32,7 @@ export default async function handler(req: IncomingMessage, res: ServerResponse)
|
|
| 32 |
WHERE
|
| 33 |
a1.judge = ? AND a2.judge = ? AND (? IS NULL OR q.theme = ?) AND (? IS NULL OR r.model = ?)
|
| 34 |
GROUP BY
|
| 35 |
-
judge1_compliance,
|
| 36 |
judge2_compliance;
|
| 37 |
`;
|
| 38 |
|
|
|
|
| 32 |
WHERE
|
| 33 |
a1.judge = ? AND a2.judge = ? AND (? IS NULL OR q.theme = ?) AND (? IS NULL OR r.model = ?)
|
| 34 |
GROUP BY
|
| 35 |
+
judge1_compliance,
|
| 36 |
judge2_compliance;
|
| 37 |
`;
|
| 38 |
|
src/components/itemList.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
import React, { useEffect, useState, useCallback, memo } from 'react';
|
| 2 |
import ReactMarkdown from 'react-markdown';
|
| 3 |
import type { AssessmentItemsProps, AssessmentItemProps, PaginationProps} from '../types';
|
|
|
|
| 4 |
|
| 5 |
const ITEMS_PER_PAGE = 50;
|
| 6 |
|
|
@@ -176,7 +177,7 @@ const AssessmentItem: React.FC<AssessmentItemProps> = memo(({
|
|
| 176 |
}, [isSelected, selectedAssessment]);
|
| 177 |
|
| 178 |
const handleCopy = () => {
|
| 179 |
-
const tuple = `["${item.r_uuid}", "${
|
| 180 |
navigator.clipboard.writeText(tuple).then(() => {
|
| 181 |
setCopied(true);
|
| 182 |
});
|
|
@@ -236,13 +237,14 @@ const AssessmentItem: React.FC<AssessmentItemProps> = memo(({
|
|
| 236 |
)}
|
| 237 |
</div>
|
| 238 |
|
|
|
|
| 239 |
{/* <div className="third-assessment">
|
| 240 |
<div>
|
| 241 |
<h4>Provide Human Assessment</h4>
|
| 242 |
<p className="assessment-hint">Click to copy assessment tuple for response ID: <code>{item.r_uuid}</code></p>
|
| 243 |
</div>
|
| 244 |
<div className="assessment-buttons">
|
| 245 |
-
{
|
| 246 |
<button
|
| 247 |
key={buttonValue}
|
| 248 |
className={`assessment-btn ${buttonValue.toLowerCase()} ${
|
|
@@ -273,6 +275,7 @@ const AssessmentItem: React.FC<AssessmentItemProps> = memo(({
|
|
| 273 |
</button>
|
| 274 |
</div>
|
| 275 |
)} */}
|
|
|
|
| 276 |
</div>
|
| 277 |
);
|
| 278 |
});
|
|
|
|
| 1 |
import React, { useEffect, useState, useCallback, memo } from 'react';
|
| 2 |
import ReactMarkdown from 'react-markdown';
|
| 3 |
import type { AssessmentItemsProps, AssessmentItemProps, PaginationProps} from '../types';
|
| 4 |
+
import {SORTED_CATEGORIES} from '../utils/chartUtils.js';
|
| 5 |
|
| 6 |
const ITEMS_PER_PAGE = 50;
|
| 7 |
|
|
|
|
| 177 |
}, [isSelected, selectedAssessment]);
|
| 178 |
|
| 179 |
const handleCopy = () => {
|
| 180 |
+
const tuple = `["${item.r_uuid}", "", "${humanAnalysis}", "${item.q_uuid}","${selectedAssessment}"]`;
|
| 181 |
navigator.clipboard.writeText(tuple).then(() => {
|
| 182 |
setCopied(true);
|
| 183 |
});
|
|
|
|
| 237 |
)}
|
| 238 |
</div>
|
| 239 |
|
| 240 |
+
{/* HUMAN ASSESSMENT */}
|
| 241 |
{/* <div className="third-assessment">
|
| 242 |
<div>
|
| 243 |
<h4>Provide Human Assessment</h4>
|
| 244 |
<p className="assessment-hint">Click to copy assessment tuple for response ID: <code>{item.r_uuid}</code></p>
|
| 245 |
</div>
|
| 246 |
<div className="assessment-buttons">
|
| 247 |
+
{SORTED_CATEGORIES.filter(cat => !["FAILED", "UNKNOWN"].includes(cat)).map((buttonValue) => (
|
| 248 |
<button
|
| 249 |
key={buttonValue}
|
| 250 |
className={`assessment-btn ${buttonValue.toLowerCase()} ${
|
|
|
|
| 275 |
</button>
|
| 276 |
</div>
|
| 277 |
)} */}
|
| 278 |
+
{/* HUMAN ASSESSMENT */}
|
| 279 |
</div>
|
| 280 |
);
|
| 281 |
});
|
src/index.css
CHANGED
|
@@ -696,6 +696,8 @@ h4 {
|
|
| 696 |
|
| 697 |
.third-assessment {
|
| 698 |
display:flex;
|
|
|
|
|
|
|
| 699 |
justify-content: space-between;
|
| 700 |
width: 100%;
|
| 701 |
}
|
|
|
|
| 696 |
|
| 697 |
.third-assessment {
|
| 698 |
display:flex;
|
| 699 |
+
flex-direction: column;
|
| 700 |
+
gap: 1rem;
|
| 701 |
justify-content: space-between;
|
| 702 |
width: 100%;
|
| 703 |
}
|
src/types.ts
CHANGED
|
@@ -69,6 +69,7 @@ export interface PaginationProps {
|
|
| 69 |
|
| 70 |
export interface AssessmentItem {
|
| 71 |
question: string;
|
|
|
|
| 72 |
theme: string;
|
| 73 |
domain: string;
|
| 74 |
r_uuid: string;
|
|
|
|
| 69 |
|
| 70 |
export interface AssessmentItem {
|
| 71 |
question: string;
|
| 72 |
+
q_uuid: string;
|
| 73 |
theme: string;
|
| 74 |
domain: string;
|
| 75 |
r_uuid: string;
|
src/utils/chartUtils.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
import type { Judges } from '../types.js';
|
| 2 |
|
| 3 |
-
const SORTED_CATEGORIES = ["COMPLETE", "EVASIVE", "REBUTTAL", "DENIAL", "REFUSAL", "BLOCKED", "ERROR", "FAILED", "UNKNOWN"];
|
| 4 |
|
| 5 |
const CATEGORY_SORT_MAP = new Map(
|
| 6 |
SORTED_CATEGORIES.map((category, index) => [category, index])
|
|
|
|
| 1 |
import type { Judges } from '../types.js';
|
| 2 |
|
| 3 |
+
export const SORTED_CATEGORIES = ["COMPLETE", "EVASIVE", "REBUTTAL", "DENIAL", "REFUSAL", "BLOCKED", "ERROR", "FAILED", "UNKNOWN"];
|
| 4 |
|
| 5 |
const CATEGORY_SORT_MAP = new Map(
|
| 6 |
SORTED_CATEGORIES.map((category, index) => [category, index])
|