basic db seeding

This commit is contained in:
Kyle Corbitt
2023-06-21 15:20:33 -07:00
parent 3d85984f98
commit 3be022786a
4 changed files with 408 additions and 36 deletions

View File

@@ -15,23 +15,25 @@ model Experiment {
id String @id @default(uuid()) @db.Uuid
label String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
InputVariable InputVariable[]
PromptVariant PromptVariant[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
TemplateVariable TemplateVariable[]
PromptVariant PromptVariant[]
TestScenario TestScenario[]
}
model PromptVariant {
id String @id @default(uuid()) @db.Uuid
id String @id @default(uuid()) @db.Uuid
label String
visible Boolean @default(true)
sortIndex Int @default(0)
config Json
experimentId String @db.Uuid
experiment Experiment @relation(fields: [experimentId], references: [id])
sortIndex Int @default(0)
label String
config Json
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
ModelOutput ModelOutput[]
@@ -40,15 +42,20 @@ model PromptVariant {
model TestScenario {
id String @id @default(uuid()) @db.Uuid
sortIndex Int @default(0)
visible Boolean @default(true)
sortIndex Int @default(0)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
ScenarioVariableVal ScenarioVariableVal[]
ModelOutput ModelOutput[]
variableValues Json
experimentId String @db.Uuid
experiment Experiment @relation(fields: [experimentId], references: [id])
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
ModelOutput ModelOutput[]
}
model InputVariable {
model TemplateVariable {
id String @id @default(uuid()) @db.Uuid
label String
@@ -56,26 +63,8 @@ model InputVariable {
experimentId String @db.Uuid
experiment Experiment @relation(fields: [experimentId], references: [id])
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
ScenarioVariableVal ScenarioVariableVal[]
}
model ScenarioVariableVal {
id String @id @default(uuid()) @db.Uuid
inputVariableId String @db.Uuid
inputVariable InputVariable? @relation(fields: [inputVariableId], references: [id])
testScenarioId String @db.Uuid
testScenario TestScenario? @relation(fields: [testScenarioId], references: [id])
value String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@unique([inputVariableId, testScenarioId])
}
model ModelOutput {
@@ -92,6 +81,8 @@ model ModelOutput {
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@unique([promptVariantId, testScenarioId])
}
// Necessary for Next auth

82
prisma/seed.ts Normal file
View File

@@ -0,0 +1,82 @@
import { prisma } from "~/server/db";
const experimentId = "11111111-1111-1111-1111-111111111111";
const experiment = await prisma.experiment.upsert({
where: {
id: experimentId,
},
update: {},
create: {
id: experimentId,
label: "Quick Start",
},
});
await prisma.promptVariant.deleteMany({
where: {
experimentId,
},
});
const resp = await prisma.promptVariant.createMany({
data: [
{
experimentId,
label: "Variant 1",
sortIndex: 0,
config: {
model: "gpt-3.5-turbo",
messages: [{ role: "user", content: "What is the capitol of {{input}}?" }],
temperature: 0,
},
},
{
experimentId,
label: "Variant 2",
sortIndex: 1,
config: {
model: "gpt-3.5-turbo",
messages: [{ role: "user", content: "What is the capitol of the US state {{input}}?" }],
temperature: 0,
},
},
],
});
await prisma.templateVariable.deleteMany({
where: {
experimentId,
},
});
await prisma.templateVariable.createMany({
data: [
{
experimentId,
label: "input",
},
],
});
await prisma.testScenario.deleteMany({
where: {
experimentId,
},
});
await prisma.testScenario.createMany({
data: [
{
experimentId,
variableValues: {
input: "Washington",
},
},
{
experimentId,
variableValues: {
input: "Georgia",
},
},
],
});