mirror of
https://github.com/langgenius/dify-plugin-sdks.git
synced 2026-07-22 02:15:22 -04:00
5cb24625c3
* chore(python): temporarily disable `UP007` rule in Ruff Disable the `UP007` rule temporarily due to numerous existing violations in the current codebase. * ci(python): add lint and test for Python SDK * ci: Add mega-linter * chore(python): Add final newline to markdown files * fix(python): Fix linter issues by using ruff's auto fix * fix(python): Fix TRY400 linter violations Ruff suggests using `logger.exception` to log when logging an exception, instead of using `logging.error`. The former logs the exception and the traceback automatically. ref: https://docs.astral.sh/ruff/rules/error-instead-of-exception/ * fix(python): fix ruff linter violations * test(python): Add Test cases for LLM entities Test the initialization of `LLMResult` and `LLMResultChunk`. * test(python): Add test for `AgentModelConfig` Ensures that the `history_prompt_messages` attribute is not shared between instances of `AgentModelConfig`. * chore(python): output diffs in Ruff's format check * style(python): format code with Ruff * chore(python): Add a bash script for fix and format python code * chore: add `persist-credentials: false` to checkout action Enhances security by preventing subsequent steps from accessing GitHub credentials, reducing potential attack surfaces. Ref: https://github.com/actions/checkout#checkout-v4
29 lines
969 B
Python
29 lines
969 B
Python
from dify_plugin.core.entities.invocation import InvokeType
|
|
from dify_plugin.core.runtime import BackwardsInvocation
|
|
from dify_plugin.entities.model import EmbeddingInputType
|
|
from dify_plugin.entities.model.text_embedding import TextEmbeddingModelConfig, TextEmbeddingResult
|
|
|
|
|
|
class TextEmbeddingInvocation(BackwardsInvocation[TextEmbeddingResult]):
|
|
def invoke(
|
|
self,
|
|
model_config: TextEmbeddingModelConfig,
|
|
texts: list[str],
|
|
input_type: EmbeddingInputType = EmbeddingInputType.QUERY,
|
|
) -> TextEmbeddingResult:
|
|
"""
|
|
Invoke text embedding
|
|
"""
|
|
for data in self._backwards_invoke(
|
|
InvokeType.TextEmbedding,
|
|
TextEmbeddingResult,
|
|
{
|
|
**model_config.model_dump(),
|
|
"texts": texts,
|
|
"input_type": input_type.value,
|
|
},
|
|
):
|
|
return data
|
|
|
|
raise Exception("No response from text embedding")
|