Spaces:
Sleeping
Sleeping
| const { OpenAI } = require('openai'); | |
| const { GoogleGenerativeAI } = require('@google/generative-ai'); | |
| require('dotenv').config({ path: require('path').resolve(__dirname, '../.env') }); | |
| const groq = new OpenAI({ | |
| baseURL: "https://api.groq.com/openai/v1", | |
| apiKey: process.env.GROQ_API_KEY || "dummy", | |
| }); | |
| const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY || "dummy"); | |
| // Define advisors (Updated to user preference) | |
| const MODELS = [ | |
| 'openai/gpt-oss-120b', | |
| 'llama-3.3-70b-versatile', | |
| 'qwen/qwen3-32b', | |
| 'gemini-2.5-flash' | |
| ]; | |
| async function callGroq(model, systemPrompt, userMessage) { | |
| try { | |
| const response = await groq.chat.completions.create({ | |
| model: model, | |
| messages: [ | |
| { role: "system", content: systemPrompt }, | |
| { role: "user", content: userMessage } | |
| ], | |
| temperature: 0.7, | |
| max_tokens: 250, | |
| }); | |
| return response.choices[0].message.content; | |
| } catch (error) { | |
| console.error(`Error calling Groq for model ${model}:`, error.message); | |
| return `[Model ${model} offline or encountered an error. Error: ${error.message}]`; | |
| } | |
| } | |
| async function callGeminiDebater(modelString, systemPrompt, userMessage) { | |
| try { | |
| const model = genAI.getGenerativeModel({ model: modelString, generationConfig: { temperature: 0.7 }}); | |
| const result = await model.generateContent(`${systemPrompt}\n\n${userMessage}`); | |
| return result.response.text(); | |
| } catch (error) { | |
| console.error(`Error calling Gemini Debater ${modelString}:`, error.message); | |
| return `[Model ${modelString} offline or encountered an error. Error: ${error.message}]`; | |
| } | |
| } | |
| async function callArchitect(systemPrompt, transcript) { | |
| if (!process.env.GEMINI_API_KEY || process.env.GEMINI_API_KEY === "dummy") { | |
| return "[System Error: No valid Gemini API Key found in .env. Please add it to see the Architect's verdict.]"; | |
| } | |
| try { | |
| const model = genAI.getGenerativeModel({ model: "gemma-4-31b-it", generationConfig: { temperature: 0.5 }}); | |
| const result = await model.generateContent(`${systemPrompt}\n\nTranscript of Debate:\n${transcript}`); | |
| return result.response.text(); | |
| } catch (error) { | |
| console.error("Error calling Architect:", error.message); | |
| return `[Architect encountered an error. Error: ${error.message}]`; | |
| } | |
| } | |
| module.exports = { | |
| MODELS, | |
| callGroq, | |
| callGeminiDebater, | |
| callArchitect | |
| }; | |