Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Diff
생성일
3년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
22 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
96 행
복사
21 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
96 행
복사
import { writeFileSync } from "fs";
import { writeFileSync } from "fs";
import { codePartToCompactString } from "./utils/codePartToCompactString";
import { codePartToCompactString } from "./utils/codePartToCompactString";
import { getFlydeFiles } from "./utils/fs-helpers";
import { getFlydeFiles } from "./utils/fs-helpers";
import { preprocessStdLibParts } from "./utils/preprocessStdLibParts";
import { preprocessStdLibParts } from "./utils/preprocessStdLibParts";
import { join } from "path";
import { join } from "path";
import { chunkArray } from "./utils";
import { chunkArray } from "./utils";
import { readVersionResult } from "./utils/generatePartVersions";
import { readVersionResult } from "./utils/generatePartVersions";
복사
복사됨
복사
복사됨
import { fullChatInstructions } from "./benchmark/chat-completion-instructions";
(async function () {
(async function () {
const files = getFlydeFiles();
const files = getFlydeFiles();
const parts = preprocessStdLibParts(files);
const parts = preprocessStdLibParts(files);
const partsWithVersions = parts.map((part) => {
const partsWithVersions = parts.map((part) => {
const versionData = readVersionResult(part);
const versionData = readVersionResult(part);
return { ...part, ...versionData };
return { ...part, ...versionData };
});
});
const partsPerNamespace = partsWithVersions.reduce<
const partsPerNamespace = partsWithVersions.reduce<
Record<string, typeof parts>
Record<string, typeof parts>
>((acc, part) => {
>((acc, part) => {
const namespace = part.original.namespace ?? "n/a";
const namespace = part.original.namespace ?? "n/a";
if (!acc[namespace]) {
if (!acc[namespace]) {
acc[namespace] = [];
acc[namespace] = [];
}
}
acc[namespace].push(part);
acc[namespace].push(part);
return acc;
return acc;
}, {});
}, {});
const trainingIds = new Set<string>();
const trainingIds = new Set<string>();
const validationIds = new Set<string>();
const validationIds = new Set<string>();
Object.entries(partsPerNamespace).forEach(([k, parts]) => {
Object.entries(partsPerNamespace).forEach(([k, parts]) => {
const chunks = chunkArray(parts, 10);
const chunks = chunkArray(parts, 10);
chunks.forEach((chunk) => {
chunks.forEach((chunk) => {
chunk.forEach((part, idx) => {
chunk.forEach((part, idx) => {
if (idx === 0 && chunk.length > 4) {
if (idx === 0 && chunk.length > 4) {
validationIds.add(part.original.id);
validationIds.add(part.original.id);
} else {
} else {
trainingIds.add(part.original.id);
trainingIds.add(part.original.id);
}
}
});
});
});
});
});
});
const validationDataset = partsWithVersions.flatMap((part) => {
const validationDataset = partsWithVersions.flatMap((part) => {
if (!validationIds.has(part.original.id)) {
if (!validationIds.has(part.original.id)) {
return [];
return [];
}
}
복사
복사됨
복사
복사됨
const compactParts =
[
part.original.runFnString,
part.alternativeFunction]
const compactParts =
codePartToCompactString({
.map((code) => ({ ...part.original, runFnString: code }))
...part.original,
.map(codePartToCompactString)
;
runFnString:
part.original.runFnString,
})
;
return part.prompts.map((desc, idx) => {
return part.prompts.map((desc, idx) => {
return {
return {
prompt: desc + "\n\n###\n\n",
prompt: desc + "\n\n###\n\n",
completion: " " + compactParts[idx % 2] + "###",
completion: " " + compactParts[idx % 2] + "###",
};
};
});
});
});
});
const trainingDataset = partsWithVersions.flatMap((part) => {
const trainingDataset = partsWithVersions.flatMap((part) => {
if (!trainingIds.has(part.original.id)) {
if (!trainingIds.has(part.original.id)) {
return [];
return [];
}
}
복사
복사됨
복사
복사됨
const compactPart
s = [part.original.runFnString, part.alternativeFunction]
const compactPart
=
codePartToCompactString
(
{
.map((code) => ({ ...part.original, runFnString: code }))
...part.original
,
.map(
codePartToCompactString
);
runFnString: part.original.runFnString,
return part.prompts.map((desc, idx) => {
return
{
prompt: desc + "\n\n###\n\n"
,
completion: " " + compactParts[idx % 2] + "###",
};
});
});
복사
복사됨
복사
복사됨
const prompt = part.prompts[0];
return {
messages: [
{ role: "system", content: fullChatInstructions },
{ role: "user", content: prompt },
{ role: "assistant", content: compactPart },
],
};
});
});
복사
복사됨
복사
복사됨
console.log(
const datasetFileLocation = join(__dirname, `../dataset
-cc
.json`);
partsWithVersions.length,
trainingDataset.length,
validationDataset.length
);
const datasetFileLocation = join(__dirname, `../dataset
.json`);
writeFileSync(
writeFileSync(
datasetFileLocation,
datasetFileLocation,
JSON.stringify([...trainingDataset, ...validationDataset], null, 2)
JSON.stringify([...trainingDataset, ...validationDataset], null, 2)
);
);
console.log(
console.log(
복사
복사됨
복사
복사됨
`
Dataset
written to: ${datasetFileLocation}. Remember, the last ${validationDataset.length} entries are validation data.`
`
${trainingDataset.length} examples
written to: ${datasetFileLocation}. Remember, the last ${validationDataset.length} entries are validation data.`
);
);
})();
})();
저장된 비교 결과
원본
파일 열기
import { writeFileSync } from "fs"; import { codePartToCompactString } from "./utils/codePartToCompactString"; import { getFlydeFiles } from "./utils/fs-helpers"; import { preprocessStdLibParts } from "./utils/preprocessStdLibParts"; import { join } from "path"; import { chunkArray } from "./utils"; import { readVersionResult } from "./utils/generatePartVersions"; (async function () { const files = getFlydeFiles(); const parts = preprocessStdLibParts(files); const partsWithVersions = parts.map((part) => { const versionData = readVersionResult(part); return { ...part, ...versionData }; }); const partsPerNamespace = partsWithVersions.reduce< Record<string, typeof parts> >((acc, part) => { const namespace = part.original.namespace ?? "n/a"; if (!acc[namespace]) { acc[namespace] = []; } acc[namespace].push(part); return acc; }, {}); const trainingIds = new Set<string>(); const validationIds = new Set<string>(); Object.entries(partsPerNamespace).forEach(([k, parts]) => { const chunks = chunkArray(parts, 10); chunks.forEach((chunk) => { chunk.forEach((part, idx) => { if (idx === 0 && chunk.length > 4) { validationIds.add(part.original.id); } else { trainingIds.add(part.original.id); } }); }); }); const validationDataset = partsWithVersions.flatMap((part) => { if (!validationIds.has(part.original.id)) { return []; } const compactParts = [part.original.runFnString, part.alternativeFunction] .map((code) => ({ ...part.original, runFnString: code })) .map(codePartToCompactString); return part.prompts.map((desc, idx) => { return { prompt: desc + "\n\n###\n\n", completion: " " + compactParts[idx % 2] + "###", }; }); }); const trainingDataset = partsWithVersions.flatMap((part) => { if (!trainingIds.has(part.original.id)) { return []; } const compactParts = [part.original.runFnString, part.alternativeFunction] .map((code) => ({ ...part.original, runFnString: code })) .map(codePartToCompactString); return part.prompts.map((desc, idx) => { return { prompt: desc + "\n\n###\n\n", completion: " " + compactParts[idx % 2] + "###", }; }); }); console.log( partsWithVersions.length, trainingDataset.length, validationDataset.length ); const datasetFileLocation = join(__dirname, `../dataset.json`); writeFileSync( datasetFileLocation, JSON.stringify([...trainingDataset, ...validationDataset], null, 2) ); console.log( `Dataset written to: ${datasetFileLocation}. Remember, the last ${validationDataset.length} entries are validation data.` ); })();
수정본
파일 열기
import { writeFileSync } from "fs"; import { codePartToCompactString } from "./utils/codePartToCompactString"; import { getFlydeFiles } from "./utils/fs-helpers"; import { preprocessStdLibParts } from "./utils/preprocessStdLibParts"; import { join } from "path"; import { chunkArray } from "./utils"; import { readVersionResult } from "./utils/generatePartVersions"; import { fullChatInstructions } from "./benchmark/chat-completion-instructions"; (async function () { const files = getFlydeFiles(); const parts = preprocessStdLibParts(files); const partsWithVersions = parts.map((part) => { const versionData = readVersionResult(part); return { ...part, ...versionData }; }); const partsPerNamespace = partsWithVersions.reduce< Record<string, typeof parts> >((acc, part) => { const namespace = part.original.namespace ?? "n/a"; if (!acc[namespace]) { acc[namespace] = []; } acc[namespace].push(part); return acc; }, {}); const trainingIds = new Set<string>(); const validationIds = new Set<string>(); Object.entries(partsPerNamespace).forEach(([k, parts]) => { const chunks = chunkArray(parts, 10); chunks.forEach((chunk) => { chunk.forEach((part, idx) => { if (idx === 0 && chunk.length > 4) { validationIds.add(part.original.id); } else { trainingIds.add(part.original.id); } }); }); }); const validationDataset = partsWithVersions.flatMap((part) => { if (!validationIds.has(part.original.id)) { return []; } const compactParts = codePartToCompactString({ ...part.original, runFnString: part.original.runFnString, }); return part.prompts.map((desc, idx) => { return { prompt: desc + "\n\n###\n\n", completion: " " + compactParts[idx % 2] + "###", }; }); }); const trainingDataset = partsWithVersions.flatMap((part) => { if (!trainingIds.has(part.original.id)) { return []; } const compactPart = codePartToCompactString({ ...part.original, runFnString: part.original.runFnString, }); const prompt = part.prompts[0]; return { messages: [ { role: "system", content: fullChatInstructions }, { role: "user", content: prompt }, { role: "assistant", content: compactPart }, ], }; }); const datasetFileLocation = join(__dirname, `../dataset-cc.json`); writeFileSync( datasetFileLocation, JSON.stringify([...trainingDataset, ...validationDataset], null, 2) ); console.log( `${trainingDataset.length} examples written to: ${datasetFileLocation}. Remember, the last ${validationDataset.length} entries are validation data.` ); })();
비교하기