This commit is contained in:
@@ -2,8 +2,7 @@ import { z } from "zod";
|
||||
import type { MemoryCategory, MemorySourceType } from "@adventureos/shared";
|
||||
import { SENSITIVE_MEMORY_CATEGORIES } from "@adventureos/shared";
|
||||
import { parseAiJson } from "@/lib/ai/parse-json";
|
||||
import { getProvider } from "@/lib/ai/provider-registry";
|
||||
import { getAiBehaviorConfig, getAiProviderConfig, buildSystemPrompt } from "./ai-config";
|
||||
import { getAiBehaviorConfig, getAiProviderConfig, generateTextWithFallback, buildSystemPrompt } from "./ai-config";
|
||||
import { createSuggestion, getMemoryLearningSettings } from "./ai-memory";
|
||||
|
||||
const candidateSchema = z.object({
|
||||
@@ -43,16 +42,19 @@ If nothing clear, return { "candidates": [] }.`;
|
||||
|
||||
try {
|
||||
const coreSystem = await getTemplateBody(userId);
|
||||
const provider = getProvider(providerConfig.type);
|
||||
const res = await provider.generateText(providerConfig, {
|
||||
model: providerConfig.model,
|
||||
prompt,
|
||||
system: buildSystemPrompt(behavior, coreSystem),
|
||||
format: "json",
|
||||
temperature: 0.3,
|
||||
maxTokens: 400,
|
||||
timeoutMs: providerConfig.timeoutMs,
|
||||
});
|
||||
const res = await generateTextWithFallback(
|
||||
userId,
|
||||
{
|
||||
model: providerConfig.model,
|
||||
prompt,
|
||||
system: buildSystemPrompt(behavior, coreSystem),
|
||||
format: "json",
|
||||
temperature: 0.3,
|
||||
maxTokens: 400,
|
||||
timeoutMs: providerConfig.timeoutMs,
|
||||
},
|
||||
behavior
|
||||
);
|
||||
|
||||
const parsed = candidateSchema.safeParse(parseAiJson(res.text));
|
||||
if (!parsed.success) return [];
|
||||
|
||||
Reference in New Issue
Block a user