From 1ecf70dca0b313966d8955bdaf43fdac5515cf99 Mon Sep 17 00:00:00 2001 From: zhuhao <37029601+hwzhuhao@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:20:15 +0800 Subject: [PATCH] feat: add mixedbread as a new model provider (#8523) --- .../model_providers/_position.yaml | 1 + .../model_providers/mixedbread/__init__.py | 0 .../mixedbread/_assets/icon_l_en.png | Bin 0 -> 123637 bytes .../mixedbread/_assets/icon_s_en.png | Bin 0 -> 37303 bytes .../model_providers/mixedbread/mixedbread.py | 27 +++ .../mixedbread/mixedbread.yaml | 31 ++++ .../mixedbread/rerank/__init__.py | 0 .../rerank/mxbai-rerank-large-v1-en.yaml | 4 + .../mixedbread/rerank/rerank.py | 125 ++++++++++++++ .../mixedbread/text_embedding/__init__.py | 0 .../mxbai-embed-2d-large-v1-en.yaml | 8 + .../mxbai-embed-large-v1-en.yaml | 8 + .../text_embedding/text_embedding.py | 163 ++++++++++++++++++ api/pyproject.toml | 1 + .../model_runtime/mixedbread/__init__.py | 0 .../model_runtime/mixedbread/test_provider.py | 28 +++ .../model_runtime/mixedbread/test_rerank.py | 100 +++++++++++ .../mixedbread/test_text_embedding.py | 78 +++++++++ dev/pytest/pytest_model_runtime.sh | 3 +- 19 files changed, 576 insertions(+), 1 deletion(-) create mode 100644 api/core/model_runtime/model_providers/mixedbread/__init__.py create mode 100644 api/core/model_runtime/model_providers/mixedbread/_assets/icon_l_en.png create mode 100644 api/core/model_runtime/model_providers/mixedbread/_assets/icon_s_en.png create mode 100644 api/core/model_runtime/model_providers/mixedbread/mixedbread.py create mode 100644 api/core/model_runtime/model_providers/mixedbread/mixedbread.yaml create mode 100644 api/core/model_runtime/model_providers/mixedbread/rerank/__init__.py create mode 100644 api/core/model_runtime/model_providers/mixedbread/rerank/mxbai-rerank-large-v1-en.yaml create mode 100644 api/core/model_runtime/model_providers/mixedbread/rerank/rerank.py create mode 100644 api/core/model_runtime/model_providers/mixedbread/text_embedding/__init__.py create mode 100644 api/core/model_runtime/model_providers/mixedbread/text_embedding/mxbai-embed-2d-large-v1-en.yaml create mode 100644 api/core/model_runtime/model_providers/mixedbread/text_embedding/mxbai-embed-large-v1-en.yaml create mode 100644 api/core/model_runtime/model_providers/mixedbread/text_embedding/text_embedding.py create mode 100644 api/tests/integration_tests/model_runtime/mixedbread/__init__.py create mode 100644 api/tests/integration_tests/model_runtime/mixedbread/test_provider.py create mode 100644 api/tests/integration_tests/model_runtime/mixedbread/test_rerank.py create mode 100644 api/tests/integration_tests/model_runtime/mixedbread/test_text_embedding.py diff --git a/api/core/model_runtime/model_providers/_position.yaml b/api/core/model_runtime/model_providers/_position.yaml index 1f5f64019a..79ebd00764 100644 --- a/api/core/model_runtime/model_providers/_position.yaml +++ b/api/core/model_runtime/model_providers/_position.yaml @@ -38,3 +38,4 @@ - perfxcloud - zhinao - fireworks +- mixedbread diff --git a/api/core/model_runtime/model_providers/mixedbread/__init__.py b/api/core/model_runtime/model_providers/mixedbread/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/core/model_runtime/model_providers/mixedbread/_assets/icon_l_en.png b/api/core/model_runtime/model_providers/mixedbread/_assets/icon_l_en.png new file mode 100644 index 0000000000000000000000000000000000000000..2027611bd5e8b4c7d06a5d00e515a0db70e67a17 GIT binary patch literal 123637 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 w{bSIksD4HJ__9z1UXH|stboLk~^m(z={`Y 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⩾!yGZE4c`i(M)g0d#49`e0ztyfP1Ot+<6qyC}b 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 None: + """ + Validate provider credentials + if validate failed, raise exception + + :param credentials: provider credentials, credentials form defined in `provider_credential_schema`. + """ + try: + model_instance = self.get_model_instance(ModelType.TEXT_EMBEDDING) + + # Use `mxbai-embed-large-v1` model for validate, + model_instance.validate_credentials(model="mxbai-embed-large-v1", credentials=credentials) + except CredentialsValidateFailedError as ex: + raise ex + except Exception as ex: + logger.exception(f"{self.get_provider_schema().provider} credentials validate failed") + raise ex diff --git a/api/core/model_runtime/model_providers/mixedbread/mixedbread.yaml b/api/core/model_runtime/model_providers/mixedbread/mixedbread.yaml new file mode 100644 index 0000000000..2f43aea6ad --- /dev/null +++ b/api/core/model_runtime/model_providers/mixedbread/mixedbread.yaml @@ -0,0 +1,31 @@ +provider: mixedbread +label: + en_US: MixedBread +description: + en_US: Embedding and Rerank Model Supported +icon_small: + en_US: icon_s_en.png +icon_large: + en_US: icon_l_en.png +background: "#EFFDFD" +help: + title: + en_US: Get your API key from MixedBread AI + zh_Hans: 从 MixedBread 获取 API Key + url: + en_US: https://www.mixedbread.ai/ +supported_model_types: + - text-embedding + - rerank +configurate_methods: + - predefined-model +provider_credential_schema: + credential_form_schemas: + - variable: api_key + label: + en_US: API Key + type: secret-input + required: true + placeholder: + zh_Hans: 在此输入您的 API Key + en_US: Enter your API Key diff --git a/api/core/model_runtime/model_providers/mixedbread/rerank/__init__.py b/api/core/model_runtime/model_providers/mixedbread/rerank/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/core/model_runtime/model_providers/mixedbread/rerank/mxbai-rerank-large-v1-en.yaml b/api/core/model_runtime/model_providers/mixedbread/rerank/mxbai-rerank-large-v1-en.yaml new file mode 100644 index 0000000000..beda219953 --- /dev/null +++ b/api/core/model_runtime/model_providers/mixedbread/rerank/mxbai-rerank-large-v1-en.yaml @@ -0,0 +1,4 @@ +model: mxbai-rerank-large-v1 +model_type: rerank +model_properties: + context_size: 512 diff --git a/api/core/model_runtime/model_providers/mixedbread/rerank/rerank.py b/api/core/model_runtime/model_providers/mixedbread/rerank/rerank.py new file mode 100644 index 0000000000..bf3c12fd86 --- /dev/null +++ b/api/core/model_runtime/model_providers/mixedbread/rerank/rerank.py @@ -0,0 +1,125 @@ +from typing import Optional + +import httpx + +from core.model_runtime.entities.common_entities import I18nObject +from core.model_runtime.entities.model_entities import AIModelEntity, FetchFrom, ModelPropertyKey, ModelType +from core.model_runtime.entities.rerank_entities import RerankDocument, RerankResult +from core.model_runtime.errors.invoke import ( + InvokeAuthorizationError, + InvokeBadRequestError, + InvokeConnectionError, + InvokeError, + InvokeRateLimitError, + InvokeServerUnavailableError, +) +from core.model_runtime.errors.validate import CredentialsValidateFailedError +from core.model_runtime.model_providers.__base.rerank_model import RerankModel + + +class MixedBreadRerankModel(RerankModel): + """ + Model class for MixedBread rerank model. + """ + + def _invoke( + self, + model: str, + credentials: dict, + query: str, + docs: list[str], + score_threshold: Optional[float] = None, + top_n: Optional[int] = None, + user: Optional[str] = None, + ) -> RerankResult: + """ + Invoke rerank model + + :param model: model name + :param credentials: model credentials + :param query: search query + :param docs: docs for reranking + :param score_threshold: score threshold + :param top_n: top n documents to return + :param user: unique user id + :return: rerank result + """ + if len(docs) == 0: + return RerankResult(model=model, docs=[]) + + base_url = credentials.get("base_url", "https://api.mixedbread.ai/v1") + base_url = base_url.removesuffix("/") + + try: + response = httpx.post( + base_url + "/reranking", + json={"model": model, "query": query, "input": docs, "top_k": top_n, "return_input": True}, + headers={"Authorization": f"Bearer {credentials.get('api_key')}", "Content-Type": "application/json"}, + ) + response.raise_for_status() + results = response.json() + + rerank_documents = [] + for result in results["data"]: + rerank_document = RerankDocument( + index=result["index"], + text=result["input"], + score=result["score"], + ) + if score_threshold is None or result["score"] >= score_threshold: + rerank_documents.append(rerank_document) + + return RerankResult(model=model, docs=rerank_documents) + except httpx.HTTPStatusError as e: + raise InvokeServerUnavailableError(str(e)) + + def validate_credentials(self, model: str, credentials: dict) -> None: + """ + Validate model credentials + + :param model: model name + :param credentials: model credentials + :return: + """ + try: + self._invoke( + model=model, + credentials=credentials, + 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.", + "The Commonwealth of the Northern Mariana Islands is a group of islands in the Pacific Ocean that " + "are a political division controlled by the United States. Its capital is Saipan.", + ], + score_threshold=0.8, + ) + except Exception as ex: + raise CredentialsValidateFailedError(str(ex)) + + @property + def _invoke_error_mapping(self) -> dict[type[InvokeError], list[type[Exception]]]: + """ + Map model invoke error to unified error + """ + return { + InvokeConnectionError: [httpx.ConnectError], + InvokeServerUnavailableError: [httpx.RemoteProtocolError], + InvokeRateLimitError: [], + InvokeAuthorizationError: [httpx.HTTPStatusError], + InvokeBadRequestError: [httpx.RequestError], + } + + def get_customizable_model_schema(self, model: str, credentials: dict) -> AIModelEntity: + """ + generate custom model entities from credentials + """ + entity = AIModelEntity( + model=model, + label=I18nObject(en_US=model), + model_type=ModelType.RERANK, + fetch_from=FetchFrom.CUSTOMIZABLE_MODEL, + model_properties={ModelPropertyKey.CONTEXT_SIZE: int(credentials.get("context_size", "512"))}, + ) + + return entity diff --git a/api/core/model_runtime/model_providers/mixedbread/text_embedding/__init__.py b/api/core/model_runtime/model_providers/mixedbread/text_embedding/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/core/model_runtime/model_providers/mixedbread/text_embedding/mxbai-embed-2d-large-v1-en.yaml b/api/core/model_runtime/model_providers/mixedbread/text_embedding/mxbai-embed-2d-large-v1-en.yaml new file mode 100644 index 0000000000..0c3c863d06 --- /dev/null +++ b/api/core/model_runtime/model_providers/mixedbread/text_embedding/mxbai-embed-2d-large-v1-en.yaml @@ -0,0 +1,8 @@ +model: mxbai-embed-2d-large-v1 +model_type: text-embedding +model_properties: + context_size: 512 +pricing: + input: '0.0001' + unit: '0.001' + currency: USD diff --git a/api/core/model_runtime/model_providers/mixedbread/text_embedding/mxbai-embed-large-v1-en.yaml b/api/core/model_runtime/model_providers/mixedbread/text_embedding/mxbai-embed-large-v1-en.yaml new file mode 100644 index 0000000000..0c5cda2a72 --- /dev/null +++ b/api/core/model_runtime/model_providers/mixedbread/text_embedding/mxbai-embed-large-v1-en.yaml @@ -0,0 +1,8 @@ +model: mxbai-embed-large-v1 +model_type: text-embedding +model_properties: + context_size: 512 +pricing: + input: '0.0001' + unit: '0.001' + currency: USD diff --git a/api/core/model_runtime/model_providers/mixedbread/text_embedding/text_embedding.py b/api/core/model_runtime/model_providers/mixedbread/text_embedding/text_embedding.py new file mode 100644 index 0000000000..05d9a9a0c6 --- /dev/null +++ b/api/core/model_runtime/model_providers/mixedbread/text_embedding/text_embedding.py @@ -0,0 +1,163 @@ +import time +from json import JSONDecodeError, dumps +from typing import Optional + +import requests + +from core.model_runtime.entities.common_entities import I18nObject +from core.model_runtime.entities.model_entities import AIModelEntity, FetchFrom, ModelPropertyKey, ModelType, PriceType +from core.model_runtime.entities.text_embedding_entities import EmbeddingUsage, TextEmbeddingResult +from core.model_runtime.errors.invoke import ( + InvokeAuthorizationError, + InvokeBadRequestError, + InvokeConnectionError, + InvokeError, + InvokeRateLimitError, + InvokeServerUnavailableError, +) +from core.model_runtime.errors.validate import CredentialsValidateFailedError +from core.model_runtime.model_providers.__base.text_embedding_model import TextEmbeddingModel + + +class MixedBreadTextEmbeddingModel(TextEmbeddingModel): + """ + Model class for MixedBread text embedding model. + """ + + api_base: str = "https://api.mixedbread.ai/v1" + + def _invoke( + self, model: str, credentials: dict, texts: list[str], user: Optional[str] = None + ) -> TextEmbeddingResult: + """ + Invoke text embedding model + + :param model: model name + :param credentials: model credentials + :param texts: texts to embed + :param user: unique user id + :return: embeddings result + """ + api_key = credentials["api_key"] + if not api_key: + raise CredentialsValidateFailedError("api_key is required") + + base_url = credentials.get("base_url", self.api_base) + base_url = base_url.removesuffix("/") + + url = base_url + "/embeddings" + headers = {"Authorization": "Bearer " + api_key, "Content-Type": "application/json"} + + data = {"model": model, "input": texts} + + try: + response = requests.post(url, headers=headers, data=dumps(data)) + except Exception as e: + raise InvokeConnectionError(str(e)) + + if response.status_code != 200: + try: + resp = response.json() + msg = resp["detail"] + if response.status_code == 401: + raise InvokeAuthorizationError(msg) + elif response.status_code == 429: + raise InvokeRateLimitError(msg) + elif response.status_code == 500: + raise InvokeServerUnavailableError(msg) + else: + raise InvokeBadRequestError(msg) + except JSONDecodeError as e: + raise InvokeServerUnavailableError( + f"Failed to convert response to json: {e} with text: {response.text}" + ) + + try: + resp = response.json() + embeddings = resp["data"] + usage = resp["usage"] + except Exception as e: + raise InvokeServerUnavailableError(f"Failed to convert response to json: {e} with text: {response.text}") + + usage = self._calc_response_usage(model=model, credentials=credentials, tokens=usage["total_tokens"]) + + result = TextEmbeddingResult( + model=model, embeddings=[[float(data) for data in x["embedding"]] for x in embeddings], usage=usage + ) + + return result + + def get_num_tokens(self, model: str, credentials: dict, texts: list[str]) -> int: + """ + Get number of tokens for given prompt messages + + :param model: model name + :param credentials: model credentials + :param texts: texts to embed + :return: + """ + return sum(self._get_num_tokens_by_gpt2(text) for text in texts) + + def validate_credentials(self, model: str, credentials: dict) -> None: + """ + Validate model credentials + + :param model: model name + :param credentials: model credentials + :return: + """ + try: + self._invoke(model=model, credentials=credentials, texts=["ping"]) + except Exception as e: + raise CredentialsValidateFailedError(f"Credentials validation failed: {e}") + + @property + def _invoke_error_mapping(self) -> dict[type[InvokeError], list[type[Exception]]]: + return { + InvokeConnectionError: [InvokeConnectionError], + InvokeServerUnavailableError: [InvokeServerUnavailableError], + InvokeRateLimitError: [InvokeRateLimitError], + InvokeAuthorizationError: [InvokeAuthorizationError], + InvokeBadRequestError: [KeyError, InvokeBadRequestError], + } + + def _calc_response_usage(self, model: str, credentials: dict, tokens: int) -> EmbeddingUsage: + """ + Calculate response usage + + :param model: model name + :param credentials: model credentials + :param tokens: input tokens + :return: usage + """ + # get input price info + input_price_info = self.get_price( + model=model, credentials=credentials, price_type=PriceType.INPUT, tokens=tokens + ) + + # transform usage + usage = EmbeddingUsage( + tokens=tokens, + total_tokens=tokens, + unit_price=input_price_info.unit_price, + price_unit=input_price_info.unit, + total_price=input_price_info.total_amount, + currency=input_price_info.currency, + latency=time.perf_counter() - self.started_at, + ) + + return usage + + def get_customizable_model_schema(self, model: str, credentials: dict) -> AIModelEntity: + """ + generate custom model entities from credentials + """ + entity = AIModelEntity( + model=model, + label=I18nObject(en_US=model), + model_type=ModelType.TEXT_EMBEDDING, + fetch_from=FetchFrom.CUSTOMIZABLE_MODEL, + model_properties={ModelPropertyKey.CONTEXT_SIZE: int(credentials.get("context_size", "512"))}, + ) + + return entity diff --git a/api/pyproject.toml b/api/pyproject.toml index 41244f516c..9e38c09456 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -122,6 +122,7 @@ CODE_EXECUTION_API_KEY = "dify-sandbox" FIRECRAWL_API_KEY = "fc-" TEI_EMBEDDING_SERVER_URL = "http://a.abc.com:11451" TEI_RERANK_SERVER_URL = "http://a.abc.com:11451" +MIXEDBREAD_API_KEY = "mk-aaaaaaaaaaaaaaaaaaaa" [tool.poetry] name = "dify-api" diff --git a/api/tests/integration_tests/model_runtime/mixedbread/__init__.py b/api/tests/integration_tests/model_runtime/mixedbread/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/tests/integration_tests/model_runtime/mixedbread/test_provider.py b/api/tests/integration_tests/model_runtime/mixedbread/test_provider.py new file mode 100644 index 0000000000..25c9f3ce8d --- /dev/null +++ b/api/tests/integration_tests/model_runtime/mixedbread/test_provider.py @@ -0,0 +1,28 @@ +import os +from unittest.mock import Mock, patch + +import pytest + +from core.model_runtime.errors.validate import CredentialsValidateFailedError +from core.model_runtime.model_providers.mixedbread.mixedbread import MixedBreadProvider + + +def test_validate_provider_credentials(): + provider = MixedBreadProvider() + + with pytest.raises(CredentialsValidateFailedError): + provider.validate_provider_credentials(credentials={"api_key": "hahahaha"}) + with patch("requests.post") as mock_post: + mock_response = Mock() + mock_response.json.return_value = { + "usage": {"prompt_tokens": 3, "total_tokens": 3}, + "model": "mixedbread-ai/mxbai-embed-large-v1", + "data": [{"embedding": [0.23333 for _ in range(1024)], "index": 0, "object": "embedding"}], + "object": "list", + "normalized": "true", + "encoding_format": "float", + "dimensions": 1024, + } + mock_response.status_code = 200 + mock_post.return_value = mock_response + provider.validate_provider_credentials(credentials={"api_key": os.environ.get("MIXEDBREAD_API_KEY")}) diff --git a/api/tests/integration_tests/model_runtime/mixedbread/test_rerank.py b/api/tests/integration_tests/model_runtime/mixedbread/test_rerank.py new file mode 100644 index 0000000000..b65aab74aa --- /dev/null +++ b/api/tests/integration_tests/model_runtime/mixedbread/test_rerank.py @@ -0,0 +1,100 @@ +import os +from unittest.mock import Mock, patch + +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.mixedbread.rerank.rerank import MixedBreadRerankModel + + +def test_validate_credentials(): + model = MixedBreadRerankModel() + + with pytest.raises(CredentialsValidateFailedError): + model.validate_credentials( + model="mxbai-rerank-large-v1", + credentials={"api_key": "invalid_key"}, + ) + with patch("httpx.post") as mock_post: + mock_response = Mock() + mock_response.json.return_value = { + "usage": {"prompt_tokens": 86, "total_tokens": 86}, + "model": "mixedbread-ai/mxbai-rerank-large-v1", + "data": [ + { + "index": 0, + "score": 0.06762695, + "input": "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.", + "object": "text_document", + }, + { + "index": 1, + "score": 0.057403564, + "input": "The Commonwealth of the Northern Mariana Islands is a group of islands in the Pacific " + "Ocean that are a political division controlled by the United States. Its capital is " + "Saipan.", + "object": "text_document", + }, + ], + "object": "list", + "top_k": 2, + "return_input": True, + } + mock_response.status_code = 200 + mock_post.return_value = mock_response + model.validate_credentials( + model="mxbai-rerank-large-v1", + credentials={ + "api_key": os.environ.get("MIXEDBREAD_API_KEY"), + }, + ) + + +def test_invoke_model(): + model = MixedBreadRerankModel() + with patch("httpx.post") as mock_post: + mock_response = Mock() + mock_response.json.return_value = { + "usage": {"prompt_tokens": 56, "total_tokens": 56}, + "model": "mixedbread-ai/mxbai-rerank-large-v1", + "data": [ + { + "index": 0, + "score": 0.6044922, + "input": "Kasumi is a girl name of Japanese origin meaning mist.", + "object": "text_document", + }, + { + "index": 1, + "score": 0.0703125, + "input": "Her music is a kawaii bass, a mix of future bass, pop, and kawaii music and she leads a " + "team named PopiParty.", + "object": "text_document", + }, + ], + "object": "list", + "top_k": 2, + "return_input": "true", + } + mock_response.status_code = 200 + mock_post.return_value = mock_response + result = model.invoke( + model="mxbai-rerank-large-v1", + credentials={ + "api_key": os.environ.get("MIXEDBREAD_API_KEY"), + }, + query="Who is Kasumi?", + docs=[ + "Kasumi is a girl 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.5, + ) + + assert isinstance(result, RerankResult) + assert len(result.docs) == 1 + assert result.docs[0].index == 0 + assert result.docs[0].score >= 0.5 diff --git a/api/tests/integration_tests/model_runtime/mixedbread/test_text_embedding.py b/api/tests/integration_tests/model_runtime/mixedbread/test_text_embedding.py new file mode 100644 index 0000000000..ca97a18951 --- /dev/null +++ b/api/tests/integration_tests/model_runtime/mixedbread/test_text_embedding.py @@ -0,0 +1,78 @@ +import os +from unittest.mock import Mock, patch + +import pytest + +from core.model_runtime.entities.text_embedding_entities import TextEmbeddingResult +from core.model_runtime.errors.validate import CredentialsValidateFailedError +from core.model_runtime.model_providers.mixedbread.text_embedding.text_embedding import MixedBreadTextEmbeddingModel + + +def test_validate_credentials(): + model = MixedBreadTextEmbeddingModel() + + with pytest.raises(CredentialsValidateFailedError): + model.validate_credentials(model="mxbai-embed-large-v1", credentials={"api_key": "invalid_key"}) + with patch("requests.post") as mock_post: + mock_response = Mock() + mock_response.json.return_value = { + "usage": {"prompt_tokens": 3, "total_tokens": 3}, + "model": "mixedbread-ai/mxbai-embed-large-v1", + "data": [{"embedding": [0.23333 for _ in range(1024)], "index": 0, "object": "embedding"}], + "object": "list", + "normalized": "true", + "encoding_format": "float", + "dimensions": 1024, + } + mock_response.status_code = 200 + mock_post.return_value = mock_response + model.validate_credentials( + model="mxbai-embed-large-v1", credentials={"api_key": os.environ.get("MIXEDBREAD_API_KEY")} + ) + + +def test_invoke_model(): + model = MixedBreadTextEmbeddingModel() + + with patch("requests.post") as mock_post: + mock_response = Mock() + mock_response.json.return_value = { + "usage": {"prompt_tokens": 6, "total_tokens": 6}, + "model": "mixedbread-ai/mxbai-embed-large-v1", + "data": [ + {"embedding": [0.23333 for _ in range(1024)], "index": 0, "object": "embedding"}, + {"embedding": [0.23333 for _ in range(1024)], "index": 1, "object": "embedding"}, + ], + "object": "list", + "normalized": "true", + "encoding_format": "float", + "dimensions": 1024, + } + mock_response.status_code = 200 + mock_post.return_value = mock_response + result = model.invoke( + model="mxbai-embed-large-v1", + credentials={ + "api_key": os.environ.get("MIXEDBREAD_API_KEY"), + }, + texts=["hello", "world"], + user="abc-123", + ) + + assert isinstance(result, TextEmbeddingResult) + assert len(result.embeddings) == 2 + assert result.usage.total_tokens == 6 + + +def test_get_num_tokens(): + model = MixedBreadTextEmbeddingModel() + + num_tokens = model.get_num_tokens( + model="mxbai-embed-large-v1", + credentials={ + "api_key": os.environ.get("MIXEDBREAD_API_KEY"), + }, + texts=["ping"], + ) + + assert num_tokens == 1 diff --git a/dev/pytest/pytest_model_runtime.sh b/dev/pytest/pytest_model_runtime.sh index 4c0083a2de..b60ff64fdc 100755 --- a/dev/pytest/pytest_model_runtime.sh +++ b/dev/pytest/pytest_model_runtime.sh @@ -8,4 +8,5 @@ pytest api/tests/integration_tests/model_runtime/anthropic \ api/tests/integration_tests/model_runtime/huggingface_hub/test_llm.py \ api/tests/integration_tests/model_runtime/upstage \ api/tests/integration_tests/model_runtime/fireworks \ - api/tests/integration_tests/model_runtime/nomic + api/tests/integration_tests/model_runtime/nomic \ + api/tests/integration_tests/model_runtime/mixedbread