Реакция: неожиданный токен '<'

Я использую Palm API для получения вопросов, сгенерированных ИИ, для веб-сайта. Прежде всего, когда я запускаю файл questionsai2.js, я постоянно получаю сообщение об ошибке:

          <div>
    ^

SyntaxError: Unexpected token '<'
    at ESMLoader.moduleStrategy (node:internal/modules/esm/translators:119:18)
    at ESMLoader.moduleProvider (node:internal/modules/esm/loader:468:14)
    at async link (node:internal/modules/esm/module_job:68:21)

Node.js v18.16.0

Вот код:

      import React, { useEffect, useState } from 'react';
import { google } from 'googleapis';
import { TextServiceClient } from '@google-ai/generativelanguage';
import ReactDOM from 'react-dom/client';

const MODEL_NAME = "models/text-bison-001";
const API_KEY = "this would be my actual api key"; // Replace with your actual API key

export const AiQuestionComponent = () => {
  const [questions, setQuestions] = useState([]);

  useEffect(() => {
    aiGeneratedQuestions().then((generatedQuestions) => {
      setQuestions(generatedQuestions);
    });
  }, []);

  async function aiGeneratedQuestions() {
    console.log('in aiGeneratedQuestions');
    const authClient = new google.auth.GoogleAuth({
      credentials: {
        access_token: API_KEY,
      },
      scopes: ['https://www.googleapis.com/auth/cloud-language'],
    });

    const textServiceClient = new TextServiceClient({
      authClient: await authClient.getClient(),
    });

    const input = ' ';
    const promptString = `input: Write me an AP biology exam with the following guidelines:
    Exam Format
    The AP Biology Exam has question types and point values that remain stable and consistent from year to year, so you and your students know what to expect on exam day.
    Section II: Free Response
    6 Questions | 1 hour 30 Minutes | 50% of Exam Score
    There are 2 long questions and 4 short questions. Long questions are worth 8–10 points each; short questions are worth 4 points each.
    The long questions ask students to:
    Interpret and evaluate experimental results
    Interpret and evaluate experimental results with graphing 
    The short-answer questions assess students’ understanding of the following:
    Scientific investigation
    Conceptual analysis
    Analysis of a model or visual representation
    Data analysis
    stucture questions like this:
    1. question here
    a) b) c) d) (questions 1 through 4)
    structure graphs like this:
    graph^
    |colname1|colname2|colname3
    |data1|data2|data3
    |data4|data5|data6
    input: ${input}
    output:`;

    const stopSequences = [];

    try {
      console.log('in try')
      const result = await textServiceClient.projects.locations.models.generateText({
        parent: MODEL_NAME,
        requestBody: {
          input: promptString,
          model: MODEL_NAME,
          temperature: 0.7,
          maxTokens: 20000,
          stopSequences: stopSequences,
        },
      });

      if (
        result[0] &&
        result[0].candidates &&
        result[0].candidates.length > 0
      ) {
        console.log('after if')
        const generatedText =
          result[0].candidates[0].output || result[0].candidates[0].text;
        console.log(generatedText);
        const questions = generatedText
          .split(/\*\*(Long|Short) Question \d+\*\* \(\d+ points\)/)
          .filter((question) => question.trim() !== '');

        const formattedQuestions = questions.map((question) => {
          const trimmedQuestion = question.trim();
          if (trimmedQuestion.startsWith('Long')) {
            const subQuestions = trimmedQuestion
              .split(/(\d+\.\s+.+)/)
              .filter((subQuestion) => subQuestion.trim() !== '');
            return subQuestions;
          }
          return trimmedQuestion;
        });
        console.log('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
        console.log(formattedQuestions);
        return formattedQuestions;
      } else {
        console.log('No generated text found.');
        return [];
      }
    } catch (error) {
      console.error('Error:', error);
      return [];
    }
  }
  return (
    <div>
      <h1>Generated Questions</h1>
      <ul>
        {questions.map((question, index) => (
          <li key={index}>
            <p>{question}</p>
          </li>
        ))}
      </ul>
    </div>
  );
  
};

export default AiQuestionComponent;

Компонент вопроса входит в мой файл App.js.

У меня такое чувство, что это как-то связано с тем, что я неправильно использую реакцию, но я не уверен. Заранее спасибо!

0 ответов

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