v0.11.1: 权限体系重构 + AI管线优化 + 内容整理
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
import OpenAI from "openai";
|
||||
import "dotenv/config";
|
||||
|
||||
const openai = new OpenAI({
|
||||
apiKey: process.env.DEEPSEEK_API_KEY,
|
||||
baseURL: "https://api.deepseek.com/v1",
|
||||
});
|
||||
|
||||
const REVIEW_PROMPT = `你是一个GitHub开源项目评测专家。请基于以下项目信息进行五维深度评测,并以JSON格式返回。务必只返回JSON,不要包含任何其他文字或Markdown格式。
|
||||
|
||||
项目信息:
|
||||
- 仓库全名:{repoName}
|
||||
- 简介:{description}
|
||||
- GitHub Stars:{stars}
|
||||
- 开源许可证:{license}
|
||||
- README摘要(前1500字):{readmeSummary}
|
||||
|
||||
请严格按照以下JSON结构输出:
|
||||
{
|
||||
"capability": { "score": 4.5, "summary": "一句话亮点(15字内)", "detail": "80-120字场景能力分析" },
|
||||
"devExp": { "score": 3.5, "summary": "上手体验总结", "detail": "80-120字,包含安装、文档、API评价" },
|
||||
"costLicense": { "score": 4.0, "summary": "成本与许可总结", "detail": "80-120字,包含硬件成本、API定价、许可证风险" },
|
||||
"community": { "score": 4.5, "summary": "社区健康度总结", "detail": "80-120字,包含Issue响应、PR频率、生态描述" },
|
||||
"performance": { "score": 3.5, "summary": "性能稳定性总结", "detail": "80-120字,包含运行效率、稳定性、输出质量" },
|
||||
"overall": 4.0,
|
||||
"tags": ["标签1", "标签2", "标签3"]
|
||||
}
|
||||
|
||||
评分要求:
|
||||
- 分数为1-5之间,可使用0.5步长
|
||||
- 综合分应为五个维度分数的算术平均值(保留1位小数)
|
||||
- 每个维度的summary需严格控制在15字以内
|
||||
- 每个维度的detail需严格控制在80-120字
|
||||
- 标签从以下类别中选择最匹配的3-5个:LLM框架, Agent框架, RAG, 提示工程, 多模态, 代码助手, 模型训练, 数据工程, 部署工具, 评测工具, 安全对齐, 其他`;
|
||||
|
||||
(async () => {
|
||||
console.log("🧪 测试 DeepSeek 评测生成...\n");
|
||||
|
||||
const testRepo = {
|
||||
name: "langflow-ai/langflow",
|
||||
description:
|
||||
"Langflow is a low-code app builder for RAG and multi-agent AI applications.",
|
||||
stars: 148000,
|
||||
license: "MIT",
|
||||
readme:
|
||||
"Langflow is a visual framework for building multi-agent and RAG applications. It is open-source, Python-based, and fully customizable. Model and vector store agnostic.",
|
||||
};
|
||||
|
||||
const prompt = REVIEW_PROMPT
|
||||
.replace("{repoName}", testRepo.name)
|
||||
.replace("{description}", testRepo.description)
|
||||
.replace("{stars}", testRepo.stars.toString())
|
||||
.replace("{license}", testRepo.license)
|
||||
.replace("{readmeSummary}", testRepo.readme.substring(0, 1500));
|
||||
|
||||
const completion = await openai.chat.completions.create({
|
||||
model: "deepseek-v4-pro",
|
||||
messages: [{ role: "user", content: prompt }],
|
||||
temperature: 0.3,
|
||||
});
|
||||
|
||||
const content = completion.choices[0]?.message?.content;
|
||||
if (!content) {
|
||||
console.error("❌ DeepSeek API 返回内容为空");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const jsonMatch = content.match(/\{[\s\S]*\}/);
|
||||
if (!jsonMatch) {
|
||||
console.error("❌ 无法从响应中提取JSON:", content.substring(0, 200));
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const result = JSON.parse(jsonMatch[0]);
|
||||
console.log("✅ 生成的评测结果:\n");
|
||||
console.log(JSON.stringify(result, null, 2));
|
||||
})();
|
||||
Reference in New Issue
Block a user