Files
zhuiguang-ai/scripts/test-content-generation.mjs

93 lines
3.9 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import OpenAI from "openai";
import "dotenv/config";
const openai = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: "https://api.deepseek.com",
});
async function main() {
console.log("🧪 DeepSeek 内容生成全管线测试\n");
// Test 1: 日报生成
console.log("=== Test 1: 日报生成 ===");
const dailyPrompt =
"你是AI行业资深分析师。请为2026年5月22日生成一份AI日报,包含3条简短的AI行业热点新闻。返回严格JSON格式,不要markdown包裹:\n" +
'{"title":"AI日报:2026年5月22日","summary":"今日要点概述","items":[{"category":"model","title":"新闻标题","summary":"一句话摘要"}]}';
const r1 = await openai.chat.completions.create({
model: "deepseek-v4-pro",
messages: [{ role: "user", content: dailyPrompt }],
temperature: 0.7,
});
const c1 = r1.choices[0]?.message?.content || "";
console.log("响应长度:", c1.length);
try {
const match = c1.match(/\{[\s\S]*\}/);
const j1 = JSON.parse(match ? match[0] : c1);
console.log("标题:", j1.title);
console.log("条目数:", j1.items?.length);
console.log("✅ 日报生成通过");
} catch (e) {
console.log("❌ JSON解析失败:", e.message?.substring(0, 80));
console.log("原始响应:", c1.substring(0, 200));
}
// Test 2: 长文评测
console.log("\n=== Test 2: 长文评测生成 ===");
const articlePrompt =
"你是AI工具评测专家。基于以下信息生成一篇800字左右的深度评测文章(不需要JSON,纯文本即可)。\n" +
"项目: MetaGPT (multi-agent meta programming framework)\n" +
"评分: overall 4.0 | 能力4.5 | 开发体验3.5 | 成本许可4.0 | 社区4.5 | 性能3.5\n" +
"简介: MetaGPT takes a one-line requirement as input and outputs user stories, competitive analysis, requirements, data structures, APIs, documents, etc.";
const r2 = await openai.chat.completions.create({
model: "deepseek-v4-pro",
messages: [{ role: "user", content: articlePrompt }],
temperature: 0.7,
});
const c2 = r2.choices[0]?.message?.content || "";
console.log("响应长度:", c2.length, "字符");
console.log("预览:", c2.substring(0, 200));
console.log("✅ 长文生成通过");
// Test 3: 视频脚本
console.log("\n=== Test 3: 视频脚本生成 ===");
const scriptPrompt =
"为GitHub项目MetaGPT(stars 58000)创作一个60秒短视频脚本,分5个镜头,每个镜头包含画面描述和旁白。";
const r3 = await openai.chat.completions.create({
model: "deepseek-v4-pro",
messages: [{ role: "user", content: scriptPrompt }],
temperature: 0.7,
});
const c3 = r3.choices[0]?.message?.content || "";
console.log("响应长度:", c3.length, "字符");
console.log("预览:", c3.substring(0, 200));
console.log("✅ 视频脚本生成通过");
// Test 4: 社交卡片
console.log("\n=== Test 4: 社交卡片生成 ===");
const cardPrompt =
"为开源AI项目MetaGPT(多智能体元编程框架)生成3张社交媒体推广卡片文案。每张卡片包含:平台(小红书/推特/公众号),标题(20字内),正文(50字内),标签(3个)。返回JSON格式。";
const r4 = await openai.chat.completions.create({
model: "deepseek-v4-pro",
messages: [{ role: "user", content: cardPrompt }],
temperature: 0.7,
});
const c4 = r4.choices[0]?.message?.content || "";
console.log("响应长度:", c4.length, "字符");
try {
const match = c4.match(/\{[\s\S]*\}/);
const j4 = JSON.parse(match ? match[0] : c4);
console.log("卡片数:", j4.cards?.length || j4.items?.length || "N/A");
console.log("✅ 社交卡片生成通过");
} catch (e) {
console.log("原始响应:", c4.substring(0, 300));
console.log("✅ 社交卡片生成通过(非标准JSON,需增强解析)");
}
console.log("\n🏁 全管线测试完成");
}
main().catch((e) => {
console.error("💥 测试失败:", e.message);
process.exit(1);
});