cohere_rerank_client.py 1.3 KB
Newer Older
1
# SPDX-License-Identifier: Apache-2.0
2
3
4
"""
Example of using the OpenAI entrypoint's rerank API which is compatible with
the Cohere SDK: https://github.com/cohere-ai/cohere-python
Reid's avatar
Reid committed
5
Note that `pip install cohere` is needed to run this example.
6
7
8

run: vllm serve BAAI/bge-reranker-base
"""
9

Reid's avatar
Reid committed
10
11
from typing import Union

12
import cohere
Reid's avatar
Reid committed
13
14
15
16
17
18
19
from cohere import Client, ClientV2

model = "BAAI/bge-reranker-base"

query = "What is the capital of France?"

documents = [
20
21
22
    "The capital of France is Paris",
    "Reranking is fun!",
    "vLLM is an open-source framework for fast AI serving",
Reid's avatar
Reid committed
23
24
25
]


26
27
28
def cohere_rerank(
    client: Union[Client, ClientV2], model: str, query: str, documents: list[str]
) -> dict:
Reid's avatar
Reid committed
29
30
31
32
33
    return client.rerank(model=model, query=query, documents=documents)


def main():
    # cohere v1 client
34
    cohere_v1 = cohere.Client(base_url="http://localhost:8000", api_key="sk-fake-key")
Reid's avatar
Reid committed
35
36
37
38
39
40
    rerank_v1_result = cohere_rerank(cohere_v1, model, query, documents)
    print("-" * 50)
    print("rerank_v1_result:\n", rerank_v1_result)
    print("-" * 50)

    # or the v2
41
    cohere_v2 = cohere.ClientV2("sk-fake-key", base_url="http://localhost:8000")
Reid's avatar
Reid committed
42
43
44
45
    rerank_v2_result = cohere_rerank(cohere_v2, model, query, documents)
    print("rerank_v2_result:\n", rerank_v2_result)
    print("-" * 50)

46

Reid's avatar
Reid committed
47
48
if __name__ == "__main__":
    main()