import { CohereClient } from "cohere-ai"; import { MapDocument } from "../../controllers/v1/types"; const cohere = new CohereClient({ token: process.env.COHERE_API_KEY, }); export async function rerankDocuments( documents: (string | Record)[], query: string, topN = 3, model = "rerank-english-v3.0", ) { const rerank = await cohere.v2.rerank({ documents, query, topN, model, returnDocuments: true, }); return rerank.results .sort((a, b) => b.relevanceScore - a.relevanceScore) .map((x) => ({ document: x.document, index: x.index, relevanceScore: x.relevanceScore, })); }