12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- 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.xinference.rerank.rerank import XinferenceRerankModel
- from tests.integration_tests.model_runtime.__mock.xinference import MOCK, setup_xinference_mock
- @pytest.mark.parametrize('setup_xinference_mock', [['none']], indirect=True)
- def test_validate_credentials(setup_xinference_mock):
- model = XinferenceRerankModel()
- with pytest.raises(CredentialsValidateFailedError):
- model.validate_credentials(
- model='bge-reranker-base',
- credentials={
- 'server_url': 'awdawdaw',
- 'model_uid': os.environ.get('XINFERENCE_RERANK_MODEL_UID')
- }
- )
- model.validate_credentials(
- model='bge-reranker-base',
- credentials={
- 'server_url': os.environ.get('XINFERENCE_SERVER_URL'),
- 'model_uid': os.environ.get('XINFERENCE_RERANK_MODEL_UID')
- }
- )
- @pytest.mark.parametrize('setup_xinference_mock', [['none']], indirect=True)
- def test_invoke_model(setup_xinference_mock):
- model = XinferenceRerankModel()
- result = model.invoke(
- model='bge-reranker-base',
- credentials={
- 'server_url': os.environ.get('XINFERENCE_SERVER_URL'),
- 'model_uid': os.environ.get('XINFERENCE_RERANK_MODEL_UID')
- },
- query="Who is Kasumi?",
- docs=[
- "Kasumi is a girl's name of Japanese origin meaning \"mist\".",
- "Her music is a kawaii bass, a mix of future bass, pop, and kawaii music ",
- "and she leads a team named PopiParty."
- ],
- score_threshold=0.8
- )
- assert isinstance(result, RerankResult)
- assert len(result.docs) == 1
- assert result.docs[0].index == 0
- assert result.docs[0].score >= 0.8
|