UNPKG

hexo-ai-bytelf

Version:

Hexo 插件:使用 AI(如 ChatGPT 或腾讯混元)自动为 Markdown 博文生成摘要,并将摘要写入 front-matter,可控制并发请求。

29 lines (24 loc) 876 B
const ModelFactory = require('./models/factory'); const { processSummary, validateSummary } = require('./utils'); module.exports = async function ai(content, prompt, config) { const { model_type = 'openai' } = config; try { const mergedConfig = { ...config.params, // 全局参数 ...config.params[model_type], // 模型特有参数 timeout: config.timeout, token: config.token, model: config.model, api: config.api }; const model = ModelFactory.createModel(model_type, mergedConfig); const reply = await model.generateSummary(content, prompt); if (!reply) { throw new Error('AI 返回的响应为空'); } const cleaned = processSummary(reply); return validateSummary(cleaned, config); } catch (error) { throw new Error(`AI 摘要生成失败: ${error.message}`); } }