MixedbreadAIReranker
Defined in: packages/providers/mixedbread/src/MixedbreadAIReranker.ts:78
Node postprocessor that uses MixedbreadAI's rerank API.
This class utilizes MixedbreadAI's rerank model to reorder a set of nodes based on their relevance to a given query. The reranked nodes are then used for various applications like search results refinement.
Examples
const reranker = new MixedbreadAIReranker(\{ apiKey: 'your-api-key' \});
const nodes = [\{ node: new BaseNode('To bake bread you need flour') \}, \{ node: new BaseNode('To bake bread you need yeast') \}];
const query = "What do you need to bake bread?";
const result = await reranker.postprocessNodes(nodes, query);
console.log(result);
const reranker = new MixedbreadAIReranker(\{
apiKey: 'your-api-key',
model: 'mixedbread-ai/mxbai-rerank-large-v1',
topK: 5,
rankFields: ["title", "content"],
returnInput: true,
maxRetries: 5
\});
const documents = [\{ title: "Bread Recipe", content: "To bake bread you need flour" \}, \{ title: "Bread Recipe", content: "To bake bread you need yeast" \}];
const query = "What do you need to bake bread?";
const result = await reranker.rerank(documents, query);
console.log(result);
Implements
BaseNodePostprocessor
Constructors
Constructor
new MixedbreadAIReranker(
params
):MixedbreadAIReranker
Defined in: packages/providers/mixedbread/src/MixedbreadAIReranker.ts:89
Constructor for MixedbreadRerank.
Parameters
params
Partial
<MixedbreadAIRerankerParams
>
An optional object with properties to configure the instance.
Returns
MixedbreadAIReranker
Throws
If the API key is not provided or found in the environment variables.
Properties
requestParams
requestParams:
RerankingRequestWithoutInput
Defined in: packages/providers/mixedbread/src/MixedbreadAIReranker.ts:79
requestOptions
requestOptions:
RequestOptions
Defined in: packages/providers/mixedbread/src/MixedbreadAIReranker.ts:80
Methods
postprocessNodes()
postprocessNodes(
nodes
,query?
):Promise
<NodeWithScore
<Metadata
>[]>
Defined in: packages/providers/mixedbread/src/MixedbreadAIReranker.ts:142
Reranks the nodes using the mixedbread.ai API.
Parameters
nodes
NodeWithScore
<Metadata
>[]
Array of nodes with scores.
query?
MessageContent
Query string.
Returns
Promise
<NodeWithScore
<Metadata
>[]>
A Promise that resolves to an ordered list of nodes with relevance scores.
Throws
If query is undefined.
Example
const nodes = [\{ node: new BaseNode('To bake bread you need flour') \}, \{ node: new BaseNode('To bake bread you need yeast') \}];
const query = "What do you need to bake bread?";
const result = await reranker.postprocessNodes(nodes, query);
console.log(result);
Implementation of
BaseNodePostprocessor.postprocessNodes
rerank()
rerank(
nodes
,query
,options?
):Promise
<RankedDocument
[]>
Defined in: packages/providers/mixedbread/src/MixedbreadAIReranker.ts:187
Returns an ordered list of documents sorted by their relevance to the provided query.
Parameters
nodes
A list of documents as strings, DocumentInterfaces, or objects with a pageContent
key.
BaseNode
<Metadata
>[] | string
[] | Record
<string
, unknown
>[]
query
string
The query to use for reranking the documents.
options?
RerankingRequestWithoutInput
Optional parameters for reranking.
Returns
Promise
<RankedDocument
[]>
A Promise that resolves to an ordered list of documents with relevance scores.
Example
const nodes = ["To bake bread you need flour", "To bake bread you need yeast"];
const query = "What do you need to bake bread?";
const result = await reranker.rerank(nodes, query);
console.log(result);