import os import pytest from core.model_runtime.entities.rerank_entities import RerankResult from core.model_runtime.errors.validate import CredentialsValidateFailedError from core.model_runtime.model_providers.cohere.rerank.rerank import CohereRerankModel def test_validate_credentials(): model = CohereRerankModel() with pytest.raises(CredentialsValidateFailedError): model.validate_credentials(model="rerank-english-v2.0", credentials={"api_key": "invalid_key"}) model.validate_credentials(model="rerank-english-v2.0", credentials={"api_key": os.environ.get("COHERE_API_KEY")}) def test_invoke_model(): model = CohereRerankModel() result = model.invoke( model="rerank-english-v2.0", credentials={"api_key": os.environ.get("COHERE_API_KEY")}, query="What is the capital of the United States?", docs=[ "Carson City is the capital city of the American state of Nevada. At the 2010 United States " "Census, Carson City had a population of 55,274.", "Washington, D.C. (also known as simply Washington or D.C., and officially as the District of Columbia) " "is the capital of the United States. It is a federal district. The President of the USA and many major " "national government offices are in the territory. This makes it the political center of the United " "States of America.", ], score_threshold=0.8, ) assert isinstance(result, RerankResult) assert len(result.docs) == 1 assert result.docs[0].index == 1 assert result.docs[0].score >= 0.8