Remove unused fields, refine model translation (#62)

* Remove unused ScenarioVariantCell fields

* Refine deriveNewConstructFn

* Fix prettier
This commit is contained in:
arcticfly
2023-07-19 13:59:11 -07:00
committed by GitHub
parent 4fa2dffbcb
commit 58892d8b63
4 changed files with 21 additions and 53 deletions

View File

@@ -0,0 +1,16 @@
/*
Warnings:
- You are about to drop the column `completionTokens` on the `ScenarioVariantCell` table. All the data in the column will be lost.
- You are about to drop the column `inputHash` on the `ScenarioVariantCell` table. All the data in the column will be lost.
- You are about to drop the column `output` on the `ScenarioVariantCell` table. All the data in the column will be lost.
- You are about to drop the column `promptTokens` on the `ScenarioVariantCell` table. All the data in the column will be lost.
- You are about to drop the column `timeToComplete` on the `ScenarioVariantCell` table. All the data in the column will be lost.
*/
-- AlterTable
ALTER TABLE "ScenarioVariantCell" DROP COLUMN "completionTokens",
DROP COLUMN "inputHash",
DROP COLUMN "output",
DROP COLUMN "promptTokens",
DROP COLUMN "timeToComplete";

View File

@@ -88,17 +88,12 @@ enum CellRetrievalStatus {
model ScenarioVariantCell { model ScenarioVariantCell {
id String @id @default(uuid()) @db.Uuid id String @id @default(uuid()) @db.Uuid
inputHash String? // TODO: Remove once migration is complete
output Json? // TODO: Remove once migration is complete
statusCode Int? statusCode Int?
errorMessage String? errorMessage String?
timeToComplete Int? @default(0) // TODO: Remove once migration is complete
retryTime DateTime? retryTime DateTime?
streamingChannel String? streamingChannel String?
retrievalStatus CellRetrievalStatus @default(COMPLETE) retrievalStatus CellRetrievalStatus @default(COMPLETE)
promptTokens Int? // TODO: Remove once migration is complete
completionTokens Int? // TODO: Remove once migration is complete
modelOutput ModelOutput? modelOutput ModelOutput?
promptVariantId String @db.Uuid promptVariantId String @db.Uuid

View File

@@ -1,47 +0,0 @@
import { type Prisma } from "@prisma/client";
import { prisma } from "../db";
async function migrateScenarioVariantOutputData() {
// Get all ScenarioVariantCells
const cells = await prisma.scenarioVariantCell.findMany({ include: { modelOutput: true } });
console.log(`Found ${cells.length} records`);
let updatedCount = 0;
// Loop through all scenarioVariants
for (const cell of cells) {
// Create a new ModelOutput for each ScenarioVariant with an existing output
if (cell.output && !cell.modelOutput) {
updatedCount++;
await prisma.modelOutput.create({
data: {
scenarioVariantCellId: cell.id,
inputHash: cell.inputHash || "",
output: cell.output as Prisma.InputJsonValue,
timeToComplete: cell.timeToComplete ?? undefined,
promptTokens: cell.promptTokens,
completionTokens: cell.completionTokens,
createdAt: cell.createdAt,
updatedAt: cell.updatedAt,
},
});
} else if (cell.errorMessage && cell.retrievalStatus === "COMPLETE") {
updatedCount++;
await prisma.scenarioVariantCell.update({
where: { id: cell.id },
data: {
retrievalStatus: "ERROR",
},
});
}
}
console.log("Data migration completed");
console.log(`Updated ${updatedCount} records`);
}
// Execute the function
migrateScenarioVariantOutputData().catch((error) => {
console.error("An error occurred while migrating data: ", error);
process.exit(1);
});

View File

@@ -49,12 +49,16 @@ const getPromptFunctionForNewModel = async (
getApiShapeForModel(originalModel), getApiShapeForModel(originalModel),
null, null,
2, 2,
)}\n\nThe prompt variable has already been declared.}`, )}`,
}, },
{ {
role: "user", role: "user",
content: `Return the prompt constructor function for ${newModel} given the following prompt constructor function for ${originalModel}:\n---\n${originalVariant.constructFn}`, content: `Return the prompt constructor function for ${newModel} given the following prompt constructor function for ${originalModel}:\n---\n${originalVariant.constructFn}`,
}, },
{
role: "user",
content: "The prompt variable has already been declared, so do not declare it again.",
},
], ],
functions: [ functions: [
{ {