BREAKING: postgres + saas

This commit is contained in:
Vasily Zubarev
2025-04-03 13:07:54 +02:00
parent 54a892ddb0
commit f523b1f8ba
136 changed files with 3971 additions and 1563 deletions

39
ai/prompt.ts Normal file
View File

@@ -0,0 +1,39 @@
import { Category, Field, Project } from "@prisma/client"
export function buildLLMPrompt(
promptTemplate: string,
fields: Field[],
categories: Category[] = [],
projects: Project[] = []
) {
let prompt = promptTemplate
prompt = prompt.replace(
"{fields}",
fields
.filter((field) => field.llm_prompt)
.map((field) => `- ${field.code}: ${field.llm_prompt}`)
.join("\n")
)
prompt = prompt.replace(
"{categories}",
categories
.filter((category) => category.llm_prompt)
.map((category) => `- ${category.code}: for ${category.llm_prompt}`)
.join("\n")
)
prompt = prompt.replace(
"{projects}",
projects
.filter((project) => project.llm_prompt)
.map((project) => `- ${project.code}: for ${project.llm_prompt}`)
.join("\n")
)
prompt = prompt.replace("{categories.code}", categories.map((category) => `${category.code}`).join(", "))
prompt = prompt.replace("{projects.code}", projects.map((project) => `${project.code}`).join(", "))
return prompt
}