Spaces:
Build error
Build error
| import type { NextApiRequest, NextApiResponse } from 'next' | |
| import OpenAI from 'openai' | |
| export const config = { | |
| api: { | |
| responseLimit: false, | |
| }, | |
| } | |
| export default async function handler( | |
| req: NextApiRequest, | |
| res: NextApiResponse | |
| ) { | |
| if (req.method !== 'POST') { | |
| return res.status(405).json({ error: 'Method not allowed' }) | |
| } | |
| const hfToken = process.env.HF_TOKEN | |
| if (!hfToken) { | |
| return res.status(500).json({ error: 'HF_TOKEN not configured' }) | |
| } | |
| const { messages } = req.body | |
| if (!messages || !Array.isArray(messages)) { | |
| return res.status(400).json({ error: 'Invalid messages format' }) | |
| } | |
| const openai = new OpenAI({ | |
| baseURL: 'https://router.huggingface.co/v1', | |
| apiKey: hfToken, | |
| }) | |
| try { | |
| const stream = await openai.chat.completions.create({ | |
| model: 'zai-org/GLM-4.6V-Flash:zai-org', | |
| messages, | |
| stream: true, | |
| max_tokens: 1024, | |
| }) | |
| res.setHeader('Content-Type', 'text/plain; charset=utf-8') | |
| res.setHeader('Cache-Control', 'no-cache') | |
| res.setHeader('Connection', 'keep-alive') | |
| for await (const chunk of stream) { | |
| const content = chunk.choices[0]?.delta?.content || '' | |
| res.write(content) | |
| } | |
| res.end() | |
| } catch (error) { | |
| console.error('API error:', error) | |
| res.status(500).json({ error: 'Failed to generate response' }) | |
| } | |
| } |