diff --git a/api/core/model_manager.py b/api/core/model_manager.py index 3f9f191611..c12134a97d 100644 --- a/api/core/model_manager.py +++ b/api/core/model_manager.py @@ -235,7 +235,7 @@ class ModelInstance: model=self.model, credentials=self.credentials, texts=texts, - ) + )[0] # TODO: fix this, this is only for temporary compatibility with old def invoke_rerank( self, diff --git a/api/core/plugin/entities/plugin_daemon.py b/api/core/plugin/entities/plugin_daemon.py index 77a6e51c2c..17ce71d01a 100644 --- a/api/core/plugin/entities/plugin_daemon.py +++ b/api/core/plugin/entities/plugin_daemon.py @@ -71,7 +71,7 @@ class PluginModelProviderEntity(BaseModel): declaration: ProviderEntity = Field(description="The declaration of the model provider.") -class PluginNumTokensResponse(BaseModel): +class PluginTextEmbeddingNumTokensResponse(BaseModel): """ Response for number of tokens. """ @@ -79,6 +79,14 @@ class PluginNumTokensResponse(BaseModel): num_tokens: list[int] = Field(description="The number of tokens.") +class PluginLLMNumTokensResponse(BaseModel): + """ + Response for number of tokens. + """ + + num_tokens: int = Field(description="The number of tokens.") + + class PluginStringResultResponse(BaseModel): result: str = Field(description="The result of the string.") diff --git a/api/core/plugin/manager/model.py b/api/core/plugin/manager/model.py index 531f73609b..7842d624a3 100644 --- a/api/core/plugin/manager/model.py +++ b/api/core/plugin/manager/model.py @@ -11,10 +11,11 @@ from core.model_runtime.utils.encoders import jsonable_encoder from core.plugin.entities.plugin_daemon import ( PluginBasicBooleanResponse, PluginDaemonInnerError, + PluginLLMNumTokensResponse, PluginModelProviderEntity, PluginModelSchemaEntity, - PluginNumTokensResponse, PluginStringResultResponse, + PluginTextEmbeddingNumTokensResponse, PluginVoicesResponse, ) from core.plugin.manager.base import BasePluginManager @@ -201,7 +202,7 @@ class PluginModelManager(BasePluginManager): response = self._request_with_plugin_daemon_response_stream( method="POST", path=f"plugin/{tenant_id}/dispatch/llm/num_tokens", - type=PluginNumTokensResponse, + type=PluginLLMNumTokensResponse, data=jsonable_encoder( { "user_id": user_id, @@ -284,7 +285,7 @@ class PluginModelManager(BasePluginManager): response = self._request_with_plugin_daemon_response_stream( method="POST", path=f"plugin/{tenant_id}/dispatch/text_embedding/num_tokens", - type=PluginNumTokensResponse, + type=PluginTextEmbeddingNumTokensResponse, data=jsonable_encoder( { "user_id": user_id,