Ошибка 500 в SvelteKit при использовании хранилища сеансов и функции push-навигации.
Я пытаюсь сохранить результат отправки формы в хранилище сеансов, а затем перенаправить пользователя на другой маршрут в SvelteKit. Однако я столкнулся с внутренней ошибкой 500. Я пробовал использовать функции сеанса и push из $app/stores и $app/navigation соответственно, но ошибка не устранена. Вот соответствующая часть моего кода:
<script context="module">
import { DiscussServiceClient } from "@google-ai/generativelanguage";
import { GoogleAuth } from "google-auth-library";
import { session } from "$app/stores";
import { push } from "$app/navigation";
let dietType = "";
let meals = {
breakfast: false,
lunch: false,
snack: false,
dinner: false,
};
const MODEL_NAME = "models/chat-bison-001";
const API_KEY = import.meta.env.VITE_GoogleApiKey;
const client = new DiscussServiceClient({
authClient: new GoogleAuth().fromAPIKey(API_KEY),
});
const handleSubmit = async (event) => {
event.preventDefault();
let meal = Object.keys(meals)
.filter((meal) => meals[meal])
.join(", ");
if (meal === "breakfast, lunch, snack, dinner") meal = "a day";
const context = `You will plan a ${dietType} meal for ${meal}. And give them ingredients and procedures on how to make that meal. Include markdown such as button type list and headings.\n`;
const examples = [];
const messages = [];
messages.push({ content: "NEXT REQUEST" });
const result = await client.generateMessage({
model: MODEL_NAME,
temperature: 0.25,
candidateCount: 1,
top_k: 40,
top_p: 0.95,
prompt: {
context: context,
examples: examples,
messages: messages,
},
});
// Store the result in the session
session.set({ result: JSON.stringify(result, null, 2) });
// Redirect to the /output route
push("/output");
};
</script>
Любая помощь будет оценена по достоинству.
«Я пытаюсь создать приложение для планирования питания с помощью SvelteKit. В моем приложении есть форма, в которой пользователи могут выбрать тип диеты и блюда. Когда форма отправляется, я использую модель генеративного языка GoogleAI для создания еды. план питания на основе выбора пользователя.Затем я сохраняю сгенерированный план питания в хранилище сеансов и перенаправляю пользователя на другой маршрут (/output), где план питания отображается.
Вот что я сделал:
Я создал функцию handleSubmit, которая вызывается при отправке формы. В этой функции я генерирую план питания и сохраняю его в хранилище сеансов с помощью session.set({ result: JSON.stringify(result, null, 2) });. После сохранения результата в сеансе я перенаправляю пользователя на маршрут /output с помощью push("/output");. В маршруте /output я использую функцию загрузки, чтобы получить результат из хранилища сеансов и передать его в качестве свойства компоненту. Чего я ожидал:
Я ожидал, что после отправки формы пользователь будет перенаправлен на маршрут /output, где будет отображаться сгенерированный план питания.
Однако я столкнулся с внутренней ошибкой 500. Я не уверен, что вызывает эту ошибку и как ее исправить. Любая помощь будет оценена по достоинству».