Cohere Reranker
The Cohere Reranker is a postprocessor that uses the Cohere API to rerank the results of a search query.
Firstly, you will need to install the llamaindex package.
npm i llamaindex @vectorstores/cohere @vectorstores/openaipnpm add llamaindex @vectorstores/cohere @vectorstores/openaiyarn add llamaindex @vectorstores/cohere @vectorstores/openaibun add llamaindex @vectorstores/cohere @vectorstores/openaiNow, you will need to sign up for an API key at Cohere. Once you have your API key you can import the necessary modules and create a new instance of the CohereRerank class.
import { OpenAI } from "@vectorstores/openai";import { CohereRerank } from "@vectorstores/cohere";import { Document, Settings, VectorStoreIndex } from "@vectorstores/core";Load and index documents
Section titled “Load and index documents”For this example, we will use a single document. In a real-world scenario, you would have multiple documents to index.
const document = new Document({ text: essay, id_: "essay" });
Settings.llm = new OpenAI({ model: "gpt-3.5-turbo", temperature: 0.1 });
const index = await VectorStoreIndex.fromDocuments([document]);Increase similarity topK to retrieve more results
Section titled “Increase similarity topK to retrieve more results”The default value for similarityTopK is 2. This means that only the most similar document will be returned. To retrieve more results, you can increase the value of similarityTopK.
const retriever = index.asRetriever({ similarityTopK: 5,});Create a new instance of the CohereRerank class
Section titled “Create a new instance of the CohereRerank class”Then you can create a new instance of the CohereRerank class and pass in your API key and the number of results you want to return.
const nodePostprocessor = new CohereRerank({ apiKey: "<COHERE_API_KEY>", topN: 4,});Create a query engine with the retriever and node postprocessor
Section titled “Create a query engine with the retriever and node postprocessor”const queryEngine = index.asQueryEngine({ retriever, nodePostprocessors: [nodePostprocessor],});
// log the responseconst response = await queryEngine.query("Where did the author grown up?");