Files
crm-ai/bridge/test/reranker.test.js
T

19 lines
737 B
JavaScript

'use strict';
const test = require('node:test');
const assert = require('node:assert/strict');
const { createReranker } = require('../src/reranker');
test('reranker: returns LLM-selected candidates', async () => {
const llm = { async chat() { return { content: '2,0' }; } };
const candidates = [{ question: 'a' }, { question: 'b' }, { question: 'c' }];
const out = await createReranker(llm).rerank('q', candidates, 2);
assert.deepEqual(out.map((x) => x.question), ['c', 'a']);
});
test('reranker: short list passes through', async () => {
const candidates = [{ question: 'a' }];
const out = await createReranker({ chat: async () => ({ content: '' }) }).rerank('q', candidates, 2);
assert.deepEqual(out, candidates);
});