Загрузка...

Помогите с кодом пж.

Тема в разделе Node.js создана пользователем AntiSempai 13 фев 2025. 231 просмотр

  1. AntiSempai
    AntiSempai Автор темы 13 фев 2025 гость я слежу за тобой 35 13 май 2022
    JS
    import fetch from 'node-fetch';

    // Определяем интерфейс AiResponse для лучшей типобезопасности
    interface AiResponse {
    response_text: string;
    confidence?: number;
    model_name?: string;
    }

    interface GeminiResponse {
    candidates: {
    content: {
    parts: {
    text: string;
    }[];
    }[];
    }[];
    }

    // Функция для вызова AI модели с использованием токена и URL
    export async function callAiModel(query: string, token: string, url: string): Promise<any> {
    try {
    const response = await fetch(url, {
    method: 'POST',
    headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${token}`
    },
    body: JSON.stringify({ query: query })
    });

    if (!response.ok) {
    throw new Error(`Ошибка при запросе к AI модели: ${response.status} ${response.statusText}`);
    }

    const data = await response.json();
    return data;

    } catch (error) {
    console.error('Ошибка при вызове AI модели:', error);
    throw error; // Пробрасываем ошибку для обработки на верхнем уровне
    }
    }

    // Функции для вызова каждой AI модели
    // Временные реализации, возвращающие заглушки
    export const callAiModel1 = async (query: string, token: string): Promise<AiResponse> => {
    // TODO: Реализовать вызов AI Model 1 с использованием токена
    // Временная заглушка
    console.log("Вызов AI Model 1 с query:", query);
    return { response_text: 'Ответ от модели 1' };
    };

    export const callAiModel2 = async (query: string, token: string): Promise<AiResponse> => {
    const url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent';
    try {
    const response = await fetch(url, {
    method: 'POST',
    headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${token}`
    },
    body: JSON.stringify({ query: query })
    });

    if (!response.ok) {
    throw new Error(`Ошибка при запросе к AI модели 2: ${response.status} ${response.statusText}`);
    }

    const data: GeminiResponse = await response.json() as GeminiResponse;
    console.log("Gemini API Response:", data); // Выводим ответ для отладки

    const response_text = data.candidates[0].content[0].parts[0].text;

    return { response_text: response_text, model_name: 'gemini-2.0-flash' };

    } catch (error) {
    console.error('Ошибка при вызове AI модели 2:', error);
    throw error;
    }
    };

    export const callAiModel3 = async (query: string, token: string): Promise<AiResponse> => {
    // TODO: Реализовать вызов AI Model 3 с использованием токена
    // Временная заглушка
    console.log("Вызов AI Model 3 с query:", query);
    return { response_text: 'Ответ от модели 3' };
    };

    JS
    {
    "questions": [{
    "parts": [{"text": "Analyze the most relevant programming languages for quantitative trading on the EU exchange, considering performance and available libraries."}]
    }]
    }
    Пока пытаюсь настроить только callAiModel2.
    [IMG]
     
  2. awalki
    awalki 13 фев 2025 продам 316 29 июн 2021
    Что-то не то передаешь в тело запроса. Открой лучше документацию апи и глянь, что нужно конкретно передавать
     
    13 фев 2025 Изменено
Загрузка...
Top