| 123456789101112131415161718192021222324252627282930313233343536 |
- #!/usr/bin/env node
- const { loadFewshotCases, matchSimilarCases, buildFewshotReference } = require('../mcp/src/features/tihao-sourcing/few-shot-cases');
- function main() {
- // 加载真实案例库(案例导入器产物)
- const loaded = loadFewshotCases();
- assert(loaded && Array.isArray(loaded.cases) && loaded.cases.length >= 1, '应加载真实 fewshot-cases.json 案例库');
- // 匹配相似案例(品类匹配)
- const criteria = { category: loaded.cases[0].category || '', platforms: [loaded.cases[0].platform || 'xiaohongshu'], goalStrategy: { goalLabel: loaded.cases[0].goal || '' } };
- const similar = matchSimilarCases(loaded.cases, criteria);
- assert(Array.isArray(similar), 'matchSimilarCases 应返回数组');
- // buildFewshotReference 结构
- const reference = buildFewshotReference(criteria);
- assert(reference.status === 'loaded', '应返回 loaded 状态');
- assert(reference.totalCases === loaded.cases.length, 'totalCases 应一致');
- assert(Array.isArray(reference.cases), '应返回 cases 数组');
- // explicitPath 不存在时应 fallback 到默认案例库(而非报错)
- const fallback = buildFewshotReference({ category: '无' }, { fewshotCasesPath: 'e:/nonexistent/fewshot-cases.json' });
- assert(fallback.status === 'loaded', 'explicitPath 不存在时应 fallback 到默认案例库');
- console.log(JSON.stringify({
- ok: true,
- loadedCases: loaded.cases.length,
- matchedCases: similar.length,
- referenceStatus: reference.status
- }, null, 2));
- }
- function assert(condition, message) {
- if (!condition) throw new Error(message);
- }
- if (require.main === module) main();
|