Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
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.` ); })();
違いを見つける