Use Terra and Luna for task-specific AI processing
All checks were successful
Build and Push Docker Images / build-backend (push) Successful in 46s
Build and Push Docker Images / build-frontend (push) Successful in 22s
Build and Push Docker Images / build-website (push) Successful in 21s
Build and Push Docker Images / build-central-services-api (push) Successful in 29s
Build and Push Docker Images / build-central-services-admin (push) Successful in 48s
Build and Push Docker Images / build-docs (push) Successful in 22s

This commit is contained in:
2026-09-08 09:46:37 +02:00
parent a1e0ec6ac5
commit 2462418548
4 changed files with 7 additions and 4 deletions

View File

@@ -71,7 +71,8 @@ export async function suggestEmailEntities(message: any, allCandidates: EntityCa
const candidates = selectCandidates(allCandidates, JSON.stringify(mail))
if (!candidates.length) return []
const request: any = {
model: "gpt-4o",
model: "gpt-5.6-luna",
reasoning_effort: "none",
store: false,
max_completion_tokens: 1500,
response_format: zodResponseFormat(suggestionFormat as any, "email_entity_suggestions"),

View File

@@ -168,7 +168,8 @@ export const getInvoiceDataFromGPT = async function (
const completionRequest: any = {
model: "gpt-4o",
model: "gpt-5.6-terra",
reasoning_effort: "low",
store: true,
response_format: zodResponseFormat(InstructionFormat as any, "instruction"),
messages: [

View File

@@ -407,7 +407,8 @@ const detectRecurringWithAi = async (server: FastifyInstance, statements: any[])
try {
const completionRequest: any = {
model: "gpt-4o",
model: "gpt-5.6-terra",
reasoning_effort: "low",
store: true,
response_format: zodResponseFormat(AiRecurringFormat as any, "liquidity_recurring_transactions"),
messages: [

View File

@@ -5,7 +5,7 @@ import { requireInstance } from "../lib/auth.js";
import { recordServiceUsage, requireCentralService } from "../services/central-services.js";
const aiSchema = z.object({
model: z.enum(["gpt-4o", "gpt-4o-mini"]),
model: z.enum(["gpt-4o", "gpt-4o-mini", "gpt-5.6-terra", "gpt-5.6-luna"]),
messages: z.array(z.object({
role: z.enum(["system", "user", "assistant"]),
content: z.union([z.string(), z.array(z.unknown())]),