mirror of
https://github.com/marcogll/TaxHacker_s23.git
synced 2026-01-13 13:25:18 +00:00
BREAKING: postgres + saas
This commit is contained in:
39
ai/prompt.ts
Normal file
39
ai/prompt.ts
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user