Spaces:
Paused
Paused
| export const PROVIDERS = { | |
| "fireworks-ai": { | |
| name: "Fireworks AI", | |
| max_tokens: 131_000, | |
| id: "fireworks-ai", | |
| }, | |
| nebius: { | |
| name: "Nebius AI Studio", | |
| max_tokens: 131_000, | |
| id: "nebius", | |
| }, | |
| sambanova: { | |
| name: "SambaNova", | |
| max_tokens: 8_000, | |
| id: "sambanova", | |
| }, | |
| novita: { | |
| name: "Novita", | |
| model_id: "HuggingFaceH4/starchat-beta", | |
| max_tokens: 0, | |
| }, | |
| custom: { | |
| name: "自定义模型", | |
| model_id: process.env.OPENAI_COMPATIBLE_MODEL_ID || "", | |
| endpoint: process.env.OPENAI_COMPATIBLE_ENDPOINT || "", | |
| apiKey: process.env.OPENAI_COMPATIBLE_API_KEY || "", | |
| apiType: "openai", // 默认使用 OpenAI 兼容格式 | |
| max_tokens: parseInt(process.env.OPENAI_COMPATIBLE_MAX_TOKENS) || 0, | |
| systemPrompt: process.env.OPENAI_COMPATIBLE_SYSTEM_PROMPT || DEFAULT_SYSTEM_PROMPT, | |
| } | |
| }; | |
| // OpenAI兼容的API格式转换 | |
| export const convertToOpenAIFormat = (messages) => { | |
| return { | |
| model: PROVIDERS.custom.model_id, | |
| messages, | |
| stream: true, | |
| max_tokens: PROVIDERS.custom.max_tokens || undefined, | |
| temperature: 0.7, | |
| }; | |
| }; | |
| // HuggingFace格式转换 | |
| export const convertToHFFormat = (messages) => { | |
| // 将消息数组转换为单个字符串 | |
| const formattedMessages = messages.map(msg => { | |
| if (msg.role === 'system') { | |
| return `System: ${msg.content}\n`; | |
| } else if (msg.role === 'user') { | |
| return `Human: ${msg.content}\n`; | |
| } else if (msg.role === 'assistant') { | |
| return `Assistant: ${msg.content}\n`; | |
| } | |
| return ''; | |
| }).join(''); | |
| return { | |
| model: PROVIDERS.custom.model_id, | |
| inputs: formattedMessages, | |
| parameters: { | |
| max_new_tokens: PROVIDERS.custom.max_tokens || 2048, | |
| temperature: 0.7, | |
| top_p: 0.95, | |
| do_sample: true, | |
| return_full_text: false, | |
| }, | |
| }; | |
| }; | |
| export const updateCustomProvider = (config) => { | |
| PROVIDERS.custom = { | |
| ...PROVIDERS.custom, | |
| ...config, | |
| }; | |
| }; | |
| export const DEFAULT_SYSTEM_PROMPT = `你是一个专业的前端开发助手,擅长编写和优化HTML、CSS和JavaScript代码。请根据用户的需求提供相应的代码建议和修改方案。`; | |