Spaces:
Sleeping
Sleeping
| const axios = require('axios'); | |
| const handler = async (req, res) => { | |
| try { | |
| const { text, img } = req.query; | |
| if (!text) { | |
| return res.status(400).json({ | |
| success: false, | |
| error: 'Missing required parameter: text' | |
| }); | |
| } | |
| const apiKey = process.env.GROQ; | |
| if (!apiKey) { | |
| return res.status(500).json({ | |
| success: false, | |
| error: 'GROQ API key not configured in environment' | |
| }); | |
| } | |
| const content = [ | |
| { | |
| type: "text", | |
| text: text | |
| } | |
| ]; | |
| if (img) { | |
| content.push({ | |
| type: "image_url", | |
| image_url: { | |
| url: img | |
| } | |
| }); | |
| } | |
| const response = await axios.post( | |
| 'https://api.groq.com/openai/v1/chat/completions', | |
| { | |
| messages: [ | |
| { | |
| role: "user", | |
| content: img ? content : text | |
| } | |
| ], | |
| model: img ? "meta-llama/llama-4-scout-17b-16e-instruct" : "llama-3.1-8b-instant", | |
| temperature: 1, | |
| max_completion_tokens: 1024, | |
| top_p: 1, | |
| stream: false | |
| }, | |
| { | |
| headers: { | |
| 'Content-Type': 'application/json', | |
| 'Authorization': `Bearer ${apiKey}` | |
| } | |
| } | |
| ); | |
| const result = response.data.choices[0].message.content; | |
| res.json({ | |
| author: "Herza", | |
| success: true, | |
| msg: result | |
| }); | |
| } catch (error) { | |
| res.status(500).json({ | |
| success: false, | |
| error: error.response?.data?.error?.message || error.message | |
| }); | |
| } | |
| }; | |
| module.exports = { | |
| name: 'LLAMA AI', | |
| description: 'Generate responses using Groq API with text and image support', | |
| type: 'GET', | |
| routes: ['api/AI/llama'], | |
| tags: ['ai', 'Meta AI', 'llama', 'vision'], | |
| main: ['AI'], | |
| parameters: ['text', 'img', 'key'], | |
| enabled: true, | |
| limit: 8, | |
| handler | |
| }; |