Ошибка 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. Я не уверен, что вызывает эту ошибку и как ее исправить. Любая помощь будет оценена по достоинству».

0 ответов

Другие вопросы по тегам