feat: add models category (#8231)
* models category * [autofix.ci] apply automated fixes * change paths * [autofix.ci] apply automated fixes * test: comment out visibility check for disclosure-embeddings * test: comment out visibility check for disclosure-embeddings * test: update selector for OpenAI language models in decision flow integration test * test: update selector for NVIDIA models to use language model identifier * test: update selector for OpenAI language models in regression test * models category (#8238) * Update styleUtils.ts * Update test_xai.py * test: update selectors for OpenAI language models to use 'languagemodelsOpenAI' * Update test_embedding_model_component.py * test: update test IDs for NVIDIA and Ollama language models to use 'languagemodels' * test: update test IDs to use 'languagemodels' prefix for consistency --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com> Co-authored-by: deon-sanchez <deon.sanchez@datastax.com>
This commit is contained in:
parent
09a65f6f41
commit
b14189ed05
64 changed files with 152 additions and 143 deletions
|
|
@ -2,13 +2,13 @@ from typing_extensions import TypedDict
|
||||||
|
|
||||||
from langflow.base.models.model import LCModelComponent
|
from langflow.base.models.model import LCModelComponent
|
||||||
from langflow.components.amazon.amazon_bedrock_model import AmazonBedrockComponent
|
from langflow.components.amazon.amazon_bedrock_model import AmazonBedrockComponent
|
||||||
from langflow.components.models.anthropic import AnthropicModelComponent
|
from langflow.components.languagemodels.anthropic import AnthropicModelComponent
|
||||||
from langflow.components.models.azure_openai import AzureChatOpenAIComponent
|
from langflow.components.languagemodels.azure_openai import AzureChatOpenAIComponent
|
||||||
from langflow.components.models.google_generative_ai import GoogleGenerativeAIComponent
|
from langflow.components.languagemodels.google_generative_ai import GoogleGenerativeAIComponent
|
||||||
from langflow.components.models.groq import GroqModel
|
from langflow.components.languagemodels.groq import GroqModel
|
||||||
from langflow.components.models.nvidia import NVIDIAModelComponent
|
from langflow.components.languagemodels.nvidia import NVIDIAModelComponent
|
||||||
from langflow.components.models.openai_chat_model import OpenAIModelComponent
|
from langflow.components.languagemodels.openai_chat_model import OpenAIModelComponent
|
||||||
from langflow.components.models.sambanova import SambaNovaComponent
|
from langflow.components.languagemodels.sambanova import SambaNovaComponent
|
||||||
from langflow.inputs.inputs import InputTypes, SecretStrInput
|
from langflow.inputs.inputs import InputTypes, SecretStrInput
|
||||||
from langflow.template.field.base import Input
|
from langflow.template.field.base import Input
|
||||||
|
|
||||||
|
|
@ -71,7 +71,7 @@ def create_input_fields_dict(inputs: list[Input], prefix: str) -> dict[str, Inpu
|
||||||
|
|
||||||
def _get_google_generative_ai_inputs_and_fields():
|
def _get_google_generative_ai_inputs_and_fields():
|
||||||
try:
|
try:
|
||||||
from langflow.components.models.google_generative_ai import GoogleGenerativeAIComponent
|
from langflow.components.languagemodels.google_generative_ai import GoogleGenerativeAIComponent
|
||||||
|
|
||||||
google_generative_ai_inputs = get_filtered_inputs(GoogleGenerativeAIComponent)
|
google_generative_ai_inputs = get_filtered_inputs(GoogleGenerativeAIComponent)
|
||||||
except ImportError as e:
|
except ImportError as e:
|
||||||
|
|
@ -85,7 +85,7 @@ def _get_google_generative_ai_inputs_and_fields():
|
||||||
|
|
||||||
def _get_openai_inputs_and_fields():
|
def _get_openai_inputs_and_fields():
|
||||||
try:
|
try:
|
||||||
from langflow.components.models.openai_chat_model import OpenAIModelComponent
|
from langflow.components.languagemodels.openai_chat_model import OpenAIModelComponent
|
||||||
|
|
||||||
openai_inputs = get_filtered_inputs(OpenAIModelComponent)
|
openai_inputs = get_filtered_inputs(OpenAIModelComponent)
|
||||||
except ImportError as e:
|
except ImportError as e:
|
||||||
|
|
@ -96,7 +96,7 @@ def _get_openai_inputs_and_fields():
|
||||||
|
|
||||||
def _get_azure_inputs_and_fields():
|
def _get_azure_inputs_and_fields():
|
||||||
try:
|
try:
|
||||||
from langflow.components.models.azure_openai import AzureChatOpenAIComponent
|
from langflow.components.languagemodels.azure_openai import AzureChatOpenAIComponent
|
||||||
|
|
||||||
azure_inputs = get_filtered_inputs(AzureChatOpenAIComponent)
|
azure_inputs = get_filtered_inputs(AzureChatOpenAIComponent)
|
||||||
except ImportError as e:
|
except ImportError as e:
|
||||||
|
|
@ -107,7 +107,7 @@ def _get_azure_inputs_and_fields():
|
||||||
|
|
||||||
def _get_groq_inputs_and_fields():
|
def _get_groq_inputs_and_fields():
|
||||||
try:
|
try:
|
||||||
from langflow.components.models.groq import GroqModel
|
from langflow.components.languagemodels.groq import GroqModel
|
||||||
|
|
||||||
groq_inputs = get_filtered_inputs(GroqModel)
|
groq_inputs = get_filtered_inputs(GroqModel)
|
||||||
except ImportError as e:
|
except ImportError as e:
|
||||||
|
|
@ -118,7 +118,7 @@ def _get_groq_inputs_and_fields():
|
||||||
|
|
||||||
def _get_anthropic_inputs_and_fields():
|
def _get_anthropic_inputs_and_fields():
|
||||||
try:
|
try:
|
||||||
from langflow.components.models.anthropic import AnthropicModelComponent
|
from langflow.components.languagemodels.anthropic import AnthropicModelComponent
|
||||||
|
|
||||||
anthropic_inputs = get_filtered_inputs(AnthropicModelComponent)
|
anthropic_inputs = get_filtered_inputs(AnthropicModelComponent)
|
||||||
except ImportError as e:
|
except ImportError as e:
|
||||||
|
|
@ -129,7 +129,7 @@ def _get_anthropic_inputs_and_fields():
|
||||||
|
|
||||||
def _get_nvidia_inputs_and_fields():
|
def _get_nvidia_inputs_and_fields():
|
||||||
try:
|
try:
|
||||||
from langflow.components.models.nvidia import NVIDIAModelComponent
|
from langflow.components.languagemodels.nvidia import NVIDIAModelComponent
|
||||||
|
|
||||||
nvidia_inputs = get_filtered_inputs(NVIDIAModelComponent)
|
nvidia_inputs = get_filtered_inputs(NVIDIAModelComponent)
|
||||||
except ImportError as e:
|
except ImportError as e:
|
||||||
|
|
@ -151,7 +151,7 @@ def _get_amazon_bedrock_inputs_and_fields():
|
||||||
|
|
||||||
def _get_sambanova_inputs_and_fields():
|
def _get_sambanova_inputs_and_fields():
|
||||||
try:
|
try:
|
||||||
from langflow.components.models.sambanova import SambaNovaComponent
|
from langflow.components.languagemodels.sambanova import SambaNovaComponent
|
||||||
|
|
||||||
sambanova_inputs = get_filtered_inputs(SambaNovaComponent)
|
sambanova_inputs = get_filtered_inputs(SambaNovaComponent)
|
||||||
except ImportError as e:
|
except ImportError as e:
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ from .astra_vectorize import AstraVectorizeComponent
|
||||||
from .azure_openai import AzureOpenAIEmbeddingsComponent
|
from .azure_openai import AzureOpenAIEmbeddingsComponent
|
||||||
from .cloudflare import CloudflareWorkersAIEmbeddingsComponent
|
from .cloudflare import CloudflareWorkersAIEmbeddingsComponent
|
||||||
from .cohere import CohereEmbeddingsComponent
|
from .cohere import CohereEmbeddingsComponent
|
||||||
from .embedding_model import EmbeddingModelComponent
|
|
||||||
from .google_generative_ai import GoogleGenerativeAIEmbeddingsComponent
|
from .google_generative_ai import GoogleGenerativeAIEmbeddingsComponent
|
||||||
from .huggingface_inference_api import HuggingFaceInferenceAPIEmbeddingsComponent
|
from .huggingface_inference_api import HuggingFaceInferenceAPIEmbeddingsComponent
|
||||||
from .lmstudioembeddings import LMStudioEmbeddingsComponent
|
from .lmstudioembeddings import LMStudioEmbeddingsComponent
|
||||||
|
|
@ -22,7 +21,6 @@ __all__ = [
|
||||||
"AzureOpenAIEmbeddingsComponent",
|
"AzureOpenAIEmbeddingsComponent",
|
||||||
"CloudflareWorkersAIEmbeddingsComponent",
|
"CloudflareWorkersAIEmbeddingsComponent",
|
||||||
"CohereEmbeddingsComponent",
|
"CohereEmbeddingsComponent",
|
||||||
"EmbeddingModelComponent",
|
|
||||||
"EmbeddingSimilarityComponent",
|
"EmbeddingSimilarityComponent",
|
||||||
"GoogleGenerativeAIEmbeddingsComponent",
|
"GoogleGenerativeAIEmbeddingsComponent",
|
||||||
"HuggingFaceInferenceAPIEmbeddingsComponent",
|
"HuggingFaceInferenceAPIEmbeddingsComponent",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
from .aiml import AIMLModelComponent
|
||||||
|
from .anthropic import AnthropicModelComponent
|
||||||
|
from .azure_openai import AzureChatOpenAIComponent
|
||||||
|
from .baidu_qianfan_chat import QianfanChatEndpointComponent
|
||||||
|
from .cohere import CohereComponent
|
||||||
|
from .deepseek import DeepSeekModelComponent
|
||||||
|
from .google_generative_ai import GoogleGenerativeAIComponent
|
||||||
|
from .groq import GroqModel
|
||||||
|
from .huggingface import HuggingFaceEndpointsComponent
|
||||||
|
from .lmstudiomodel import LMStudioModelComponent
|
||||||
|
from .maritalk import MaritalkModelComponent
|
||||||
|
from .mistral import MistralAIModelComponent
|
||||||
|
from .novita import NovitaModelComponent
|
||||||
|
from .nvidia import NVIDIAModelComponent
|
||||||
|
from .ollama import ChatOllamaComponent
|
||||||
|
from .openai_chat_model import OpenAIModelComponent
|
||||||
|
from .openrouter import OpenRouterComponent
|
||||||
|
from .perplexity import PerplexityComponent
|
||||||
|
from .sambanova import SambaNovaComponent
|
||||||
|
from .vertexai import ChatVertexAIComponent
|
||||||
|
from .watsonx import WatsonxAIComponent
|
||||||
|
from .xai import XAIModelComponent
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"AIMLModelComponent",
|
||||||
|
"AnthropicModelComponent",
|
||||||
|
"AzureChatOpenAIComponent",
|
||||||
|
"ChatOllamaComponent",
|
||||||
|
"ChatVertexAIComponent",
|
||||||
|
"CohereComponent",
|
||||||
|
"DeepSeekModelComponent",
|
||||||
|
"GoogleGenerativeAIComponent",
|
||||||
|
"GroqModel",
|
||||||
|
"HuggingFaceEndpointsComponent",
|
||||||
|
"LMStudioModelComponent",
|
||||||
|
"MaritalkModelComponent",
|
||||||
|
"MistralAIModelComponent",
|
||||||
|
"NVIDIAModelComponent",
|
||||||
|
"NovitaModelComponent",
|
||||||
|
"OpenAIModelComponent",
|
||||||
|
"OpenRouterComponent",
|
||||||
|
"PerplexityComponent",
|
||||||
|
"QianfanChatEndpointComponent",
|
||||||
|
"SambaNovaComponent",
|
||||||
|
"WatsonxAIComponent",
|
||||||
|
"XAIModelComponent",
|
||||||
|
]
|
||||||
|
|
@ -1,49 +1,4 @@
|
||||||
from .aiml import AIMLModelComponent
|
from .embedding_model import EmbeddingModelComponent
|
||||||
from .anthropic import AnthropicModelComponent
|
|
||||||
from .azure_openai import AzureChatOpenAIComponent
|
|
||||||
from .baidu_qianfan_chat import QianfanChatEndpointComponent
|
|
||||||
from .cohere import CohereComponent
|
|
||||||
from .deepseek import DeepSeekModelComponent
|
|
||||||
from .google_generative_ai import GoogleGenerativeAIComponent
|
|
||||||
from .groq import GroqModel
|
|
||||||
from .huggingface import HuggingFaceEndpointsComponent
|
|
||||||
from .language_model import LanguageModelComponent
|
from .language_model import LanguageModelComponent
|
||||||
from .lmstudiomodel import LMStudioModelComponent
|
|
||||||
from .maritalk import MaritalkModelComponent
|
|
||||||
from .mistral import MistralAIModelComponent
|
|
||||||
from .novita import NovitaModelComponent
|
|
||||||
from .nvidia import NVIDIAModelComponent
|
|
||||||
from .ollama import ChatOllamaComponent
|
|
||||||
from .openai_chat_model import OpenAIModelComponent
|
|
||||||
from .openrouter import OpenRouterComponent
|
|
||||||
from .perplexity import PerplexityComponent
|
|
||||||
from .sambanova import SambaNovaComponent
|
|
||||||
from .vertexai import ChatVertexAIComponent
|
|
||||||
from .watsonx import WatsonxAIComponent
|
|
||||||
from .xai import XAIModelComponent
|
|
||||||
|
|
||||||
__all__ = [
|
__all__ = ["EmbeddingModelComponent", "LanguageModelComponent"]
|
||||||
"AIMLModelComponent",
|
|
||||||
"AnthropicModelComponent",
|
|
||||||
"AzureChatOpenAIComponent",
|
|
||||||
"ChatOllamaComponent",
|
|
||||||
"ChatVertexAIComponent",
|
|
||||||
"CohereComponent",
|
|
||||||
"DeepSeekModelComponent",
|
|
||||||
"GoogleGenerativeAIComponent",
|
|
||||||
"GroqModel",
|
|
||||||
"HuggingFaceEndpointsComponent",
|
|
||||||
"LMStudioModelComponent",
|
|
||||||
"LanguageModelComponent",
|
|
||||||
"MaritalkModelComponent",
|
|
||||||
"MistralAIModelComponent",
|
|
||||||
"NVIDIAModelComponent",
|
|
||||||
"NovitaModelComponent",
|
|
||||||
"OpenAIModelComponent",
|
|
||||||
"OpenRouterComponent",
|
|
||||||
"PerplexityComponent",
|
|
||||||
"QianfanChatEndpointComponent",
|
|
||||||
"SambaNovaComponent",
|
|
||||||
"WatsonxAIComponent",
|
|
||||||
"XAIModelComponent",
|
|
||||||
]
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ class EmbeddingModelComponent(LCEmbeddingsModel):
|
||||||
description = "Generate embeddings using a specified provider."
|
description = "Generate embeddings using a specified provider."
|
||||||
icon = "binary"
|
icon = "binary"
|
||||||
name = "EmbeddingModel"
|
name = "EmbeddingModel"
|
||||||
category = "embeddings"
|
category = "models"
|
||||||
|
|
||||||
inputs = [
|
inputs = [
|
||||||
DropdownInput(
|
DropdownInput(
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
from langflow.graph import Graph
|
from langflow.graph import Graph
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ from textwrap import dedent
|
||||||
|
|
||||||
from langflow.components.data import URLComponent
|
from langflow.components.data import URLComponent
|
||||||
from langflow.components.inputs import TextInputComponent
|
from langflow.components.inputs import TextInputComponent
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.processing import ParseDataComponent
|
from langflow.components.processing import ParseDataComponent
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ from langflow.components.crewai.crewai import CrewAIAgentComponent
|
||||||
from langflow.components.crewai.hierarchical_crew import HierarchicalCrewComponent
|
from langflow.components.crewai.hierarchical_crew import HierarchicalCrewComponent
|
||||||
from langflow.components.crewai.hierarchical_task import HierarchicalTaskComponent
|
from langflow.components.crewai.hierarchical_task import HierarchicalTaskComponent
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
from langflow.components.tools import SearchAPIComponent, YfinanceToolComponent
|
from langflow.components.tools import SearchAPIComponent, YfinanceToolComponent
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
from langflow.components.data import FileComponent
|
from langflow.components.data import FileComponent
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.processing import ParseDataComponent
|
from langflow.components.processing import ParseDataComponent
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ from langflow.components.crewai.crewai import CrewAIAgentComponent
|
||||||
from langflow.components.crewai.hierarchical_crew import HierarchicalCrewComponent
|
from langflow.components.crewai.hierarchical_crew import HierarchicalCrewComponent
|
||||||
from langflow.components.crewai.hierarchical_task import HierarchicalTaskComponent
|
from langflow.components.crewai.hierarchical_task import HierarchicalTaskComponent
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
from langflow.components.tools import SearchAPIComponent
|
from langflow.components.tools import SearchAPIComponent
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
from langflow.components.helpers.memory import MemoryComponent
|
from langflow.components.helpers.memory import MemoryComponent
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
from langflow.graph import Graph
|
from langflow.graph import Graph
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
from langflow.components.crewai.sequential_crew import SequentialCrewComponent
|
from langflow.components.crewai.sequential_crew import SequentialCrewComponent
|
||||||
from langflow.components.crewai.sequential_task_agent import SequentialTaskAgentComponent
|
from langflow.components.crewai.sequential_task_agent import SequentialTaskAgentComponent
|
||||||
from langflow.components.inputs import TextInputComponent
|
from langflow.components.inputs import TextInputComponent
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
from langflow.components.tools import SearchAPIComponent
|
from langflow.components.tools import SearchAPIComponent
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ from textwrap import dedent
|
||||||
from langflow.components.data import FileComponent
|
from langflow.components.data import FileComponent
|
||||||
from langflow.components.embeddings import OpenAIEmbeddingsComponent
|
from langflow.components.embeddings import OpenAIEmbeddingsComponent
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.processing import ParseDataComponent
|
from langflow.components.processing import ParseDataComponent
|
||||||
from langflow.components.processing.split_text import SplitTextComponent
|
from langflow.components.processing.split_text import SplitTextComponent
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import os
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from langflow.components.helpers import OutputParserComponent
|
from langflow.components.helpers import OutputParserComponent
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
|
|
||||||
from tests.integration.utils import ComponentInputHandle, run_single_component
|
from tests.integration.utils import ComponentInputHandle, run_single_component
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import os
|
||||||
import pytest
|
import pytest
|
||||||
from langflow.base.tools.component_tool import ComponentToolkit
|
from langflow.base.tools.component_tool import ComponentToolkit
|
||||||
from langflow.components.langchain_utilities import ToolCallingAgentComponent
|
from langflow.components.langchain_utilities import ToolCallingAgentComponent
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs.chat import ChatOutput
|
from langflow.components.outputs.chat import ChatOutput
|
||||||
from langflow.components.tools.calculator import CalculatorToolComponent
|
from langflow.components.tools.calculator import CalculatorToolComponent
|
||||||
from langflow.graph import Graph
|
from langflow.graph import Graph
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import os
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from langflow.components.langchain_utilities import ToolCallingAgentComponent
|
from langflow.components.langchain_utilities import ToolCallingAgentComponent
|
||||||
from langflow.components.models.openai_chat_model import OpenAIModelComponent
|
from langflow.components.languagemodels.openai_chat_model import OpenAIModelComponent
|
||||||
from langflow.components.tools.calculator import CalculatorToolComponent
|
from langflow.components.tools.calculator import CalculatorToolComponent
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import os
|
||||||
import pytest
|
import pytest
|
||||||
from langchain.schema import HumanMessage
|
from langchain.schema import HumanMessage
|
||||||
from langchain_community.chat_models.baidu_qianfan_endpoint import QianfanChatEndpoint
|
from langchain_community.chat_models.baidu_qianfan_endpoint import QianfanChatEndpoint
|
||||||
from langflow.components.models.baidu_qianfan_chat import QianfanChatEndpointComponent
|
from langflow.components.languagemodels.baidu_qianfan_chat import QianfanChatEndpointComponent
|
||||||
from qianfan.errors import APIError
|
from qianfan.errors import APIError
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -2,7 +2,7 @@ from unittest.mock import AsyncMock, MagicMock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from langchain_ollama import ChatOllama
|
from langchain_ollama import ChatOllama
|
||||||
from langflow.components.models.ollama import ChatOllamaComponent
|
from langflow.components.languagemodels.ollama import ChatOllamaComponent
|
||||||
|
|
||||||
from tests.base import ComponentTestBaseWithoutClient
|
from tests.base import ComponentTestBaseWithoutClient
|
||||||
|
|
||||||
|
|
@ -40,7 +40,7 @@ class TestChatOllamaComponent(ComponentTestBaseWithoutClient):
|
||||||
# Provide an empty list or the actual mapping if versioned files exist
|
# Provide an empty list or the actual mapping if versioned files exist
|
||||||
return []
|
return []
|
||||||
|
|
||||||
@patch("langflow.components.models.ollama.ChatOllama")
|
@patch("langflow.components.languagemodels.ollama.ChatOllama")
|
||||||
async def test_build_model(self, mock_chat_ollama, component_class, default_kwargs):
|
async def test_build_model(self, mock_chat_ollama, component_class, default_kwargs):
|
||||||
mock_instance = MagicMock()
|
mock_instance = MagicMock()
|
||||||
mock_chat_ollama.return_value = mock_instance
|
mock_chat_ollama.return_value = mock_instance
|
||||||
|
|
@ -68,7 +68,7 @@ class TestChatOllamaComponent(ComponentTestBaseWithoutClient):
|
||||||
)
|
)
|
||||||
assert model == mock_instance
|
assert model == mock_instance
|
||||||
|
|
||||||
@patch("langflow.components.models.ollama.ChatOllama")
|
@patch("langflow.components.languagemodels.ollama.ChatOllama")
|
||||||
async def test_build_model_missing_base_url(self, mock_chat_ollama, component_class, default_kwargs):
|
async def test_build_model_missing_base_url(self, mock_chat_ollama, component_class, default_kwargs):
|
||||||
# Make the mock raise an exception to simulate connection failure
|
# Make the mock raise an exception to simulate connection failure
|
||||||
mock_chat_ollama.side_effect = Exception("connection error")
|
mock_chat_ollama.side_effect = Exception("connection error")
|
||||||
|
|
@ -78,8 +78,8 @@ class TestChatOllamaComponent(ComponentTestBaseWithoutClient):
|
||||||
component.build_model()
|
component.build_model()
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
@patch("langflow.components.models.ollama.httpx.AsyncClient.post")
|
@patch("langflow.components.languagemodels.ollama.httpx.AsyncClient.post")
|
||||||
@patch("langflow.components.models.ollama.httpx.AsyncClient.get")
|
@patch("langflow.components.languagemodels.ollama.httpx.AsyncClient.get")
|
||||||
async def test_get_models_success(self, mock_get, mock_post):
|
async def test_get_models_success(self, mock_get, mock_post):
|
||||||
component = ChatOllamaComponent()
|
component = ChatOllamaComponent()
|
||||||
mock_get_response = AsyncMock()
|
mock_get_response = AsyncMock()
|
||||||
|
|
@ -107,7 +107,7 @@ class TestChatOllamaComponent(ComponentTestBaseWithoutClient):
|
||||||
assert mock_post.call_count == 2
|
assert mock_post.call_count == 2
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
@patch("langflow.components.models.ollama.httpx.AsyncClient.get")
|
@patch("langflow.components.languagemodels.ollama.httpx.AsyncClient.get")
|
||||||
async def test_get_models_failure(self, mock_get):
|
async def test_get_models_failure(self, mock_get):
|
||||||
import httpx
|
import httpx
|
||||||
|
|
||||||
|
|
@ -147,7 +147,7 @@ class TestChatOllamaComponent(ComponentTestBaseWithoutClient):
|
||||||
assert updated_config["mirostat_eta"]["value"] == 0.2
|
assert updated_config["mirostat_eta"]["value"] == 0.2
|
||||||
assert updated_config["mirostat_tau"]["value"] == 10
|
assert updated_config["mirostat_tau"]["value"] == 10
|
||||||
|
|
||||||
@patch("langflow.components.models.ollama.httpx.AsyncClient.get")
|
@patch("langflow.components.languagemodels.ollama.httpx.AsyncClient.get")
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_update_build_config_model_name(self, mock_get):
|
async def test_update_build_config_model_name(self, mock_get):
|
||||||
component = ChatOllamaComponent()
|
component = ChatOllamaComponent()
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from langflow.components.models import DeepSeekModelComponent
|
from langflow.components.languagemodels import DeepSeekModelComponent
|
||||||
from langflow.custom import Component
|
from langflow.custom import Component
|
||||||
from langflow.custom.utils import build_custom_component_template
|
from langflow.custom.utils import build_custom_component_template
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
from langflow.components.models.huggingface import DEFAULT_MODEL, HuggingFaceEndpointsComponent
|
from langflow.components.languagemodels.huggingface import DEFAULT_MODEL, HuggingFaceEndpointsComponent
|
||||||
from langflow.inputs.inputs import DictInput, DropdownInput, FloatInput, IntInput, SecretStrInput, SliderInput, StrInput
|
from langflow.inputs.inputs import DictInput, DropdownInput, FloatInput, IntInput, SecretStrInput, SliderInput, StrInput
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from langflow.components.models import XAIModelComponent
|
from langflow.components.languagemodels import XAIModelComponent
|
||||||
from langflow.custom import Component
|
from langflow.custom import Component
|
||||||
from langflow.custom.utils import build_custom_component_template
|
from langflow.custom.utils import build_custom_component_template
|
||||||
from langflow.inputs import (
|
from langflow.inputs import (
|
||||||
|
|
@ -101,7 +101,7 @@ class TestXAIComponent(ComponentTestBaseWithoutClient):
|
||||||
component.base_url = "https://api.x.ai/v1"
|
component.base_url = "https://api.x.ai/v1"
|
||||||
component.seed = 1
|
component.seed = 1
|
||||||
|
|
||||||
mock_chat_openai = mocker.patch("langflow.components.models.xai.ChatOpenAI", return_value=MagicMock())
|
mock_chat_openai = mocker.patch("langflow.components.languagemodels.xai.ChatOpenAI", return_value=MagicMock())
|
||||||
model = component.build_model()
|
model = component.build_model()
|
||||||
mock_chat_openai.assert_called_once_with(
|
mock_chat_openai.assert_called_once_with(
|
||||||
max_tokens=100,
|
max_tokens=100,
|
||||||
|
|
@ -156,7 +156,7 @@ class TestXAIComponent(ComponentTestBaseWithoutClient):
|
||||||
component.seed = 1
|
component.seed = 1
|
||||||
|
|
||||||
mocker.patch(
|
mocker.patch(
|
||||||
"langflow.components.models.xai.ChatOpenAI",
|
"langflow.components.languagemodels.xai.ChatOpenAI",
|
||||||
side_effect=BadRequestError(
|
side_effect=BadRequestError(
|
||||||
message="Invalid API key",
|
message="Invalid API key",
|
||||||
response=MagicMock(),
|
response=MagicMock(),
|
||||||
|
|
@ -181,7 +181,7 @@ class TestXAIComponent(ComponentTestBaseWithoutClient):
|
||||||
mock_instance = MagicMock()
|
mock_instance = MagicMock()
|
||||||
mock_bound_instance = MagicMock()
|
mock_bound_instance = MagicMock()
|
||||||
mock_instance.bind.return_value = mock_bound_instance
|
mock_instance.bind.return_value = mock_bound_instance
|
||||||
mocker.patch("langflow.components.models.xai.ChatOpenAI", return_value=mock_instance)
|
mocker.patch("langflow.components.languagemodels.xai.ChatOpenAI", return_value=mock_instance)
|
||||||
|
|
||||||
model = component.build_model()
|
model = component.build_model()
|
||||||
mock_instance.bind.assert_called_once_with(response_format={"type": "json_object"})
|
mock_instance.bind.assert_called_once_with(response_format={"type": "json_object"})
|
||||||
|
|
@ -2,7 +2,7 @@ from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from langflow.base.models.openai_constants import OPENAI_EMBEDDING_MODEL_NAMES
|
from langflow.base.models.openai_constants import OPENAI_EMBEDDING_MODEL_NAMES
|
||||||
from langflow.components.embeddings.embedding_model import EmbeddingModelComponent
|
from langflow.components.models.embedding_model import EmbeddingModelComponent
|
||||||
|
|
||||||
from tests.base import ComponentTestBaseWithClient
|
from tests.base import ComponentTestBaseWithClient
|
||||||
|
|
||||||
|
|
@ -41,7 +41,7 @@ class TestEmbeddingModelComponent(ComponentTestBaseWithClient):
|
||||||
assert updated_config["api_key"]["display_name"] == "OpenAI API Key"
|
assert updated_config["api_key"]["display_name"] == "OpenAI API Key"
|
||||||
assert updated_config["api_base"]["display_name"] == "OpenAI API Base URL"
|
assert updated_config["api_base"]["display_name"] == "OpenAI API Base URL"
|
||||||
|
|
||||||
@patch("langflow.components.embeddings.embedding_model.OpenAIEmbeddings")
|
@patch("langflow.components.models.embedding_model.OpenAIEmbeddings")
|
||||||
async def test_build_embeddings_openai(self, mock_openai_embeddings, component_class, default_kwargs):
|
async def test_build_embeddings_openai(self, mock_openai_embeddings, component_class, default_kwargs):
|
||||||
# Setup mock
|
# Setup mock
|
||||||
mock_instance = MagicMock()
|
mock_instance = MagicMock()
|
||||||
|
|
@ -2,7 +2,7 @@ import re
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
from langflow.graph import Graph
|
from langflow.graph import Graph
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ import os
|
||||||
import pytest
|
import pytest
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.inputs.text import TextInputComponent
|
from langflow.components.inputs.text import TextInputComponent
|
||||||
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.logic.conditional_router import ConditionalRouterComponent
|
from langflow.components.logic.conditional_router import ConditionalRouterComponent
|
||||||
from langflow.components.models import OpenAIModelComponent
|
|
||||||
from langflow.components.outputs import ChatOutput, TextOutputComponent
|
from langflow.components.outputs import ChatOutput, TextOutputComponent
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
from langflow.custom import Component
|
from langflow.custom import Component
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ from typing import TYPE_CHECKING
|
||||||
import pytest
|
import pytest
|
||||||
from langflow.components.helpers.memory import MemoryComponent
|
from langflow.components.helpers.memory import MemoryComponent
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
from langflow.graph import Graph
|
from langflow.graph import Graph
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ from typing import TYPE_CHECKING
|
||||||
import pytest
|
import pytest
|
||||||
from langflow.components.helpers.memory import MemoryComponent
|
from langflow.components.helpers.memory import MemoryComponent
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.prompts import PromptComponent
|
from langflow.components.prompts import PromptComponent
|
||||||
from langflow.graph import Graph
|
from langflow.graph import Graph
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import pytest
|
||||||
from langflow.components.data import FileComponent
|
from langflow.components.data import FileComponent
|
||||||
from langflow.components.embeddings import OpenAIEmbeddingsComponent
|
from langflow.components.embeddings import OpenAIEmbeddingsComponent
|
||||||
from langflow.components.inputs import ChatInput
|
from langflow.components.inputs import ChatInput
|
||||||
from langflow.components.models import OpenAIModelComponent
|
from langflow.components.languagemodels import OpenAIModelComponent
|
||||||
from langflow.components.outputs import ChatOutput
|
from langflow.components.outputs import ChatOutput
|
||||||
from langflow.components.processing import ParseDataComponent
|
from langflow.components.processing import ParseDataComponent
|
||||||
from langflow.components.processing.split_text import SplitTextComponent
|
from langflow.components.processing.split_text import SplitTextComponent
|
||||||
|
|
|
||||||
|
|
@ -208,11 +208,11 @@ export const SIDEBAR_CATEGORIES = [
|
||||||
{ display_name: "Inputs", name: "inputs", icon: "Download" },
|
{ display_name: "Inputs", name: "inputs", icon: "Download" },
|
||||||
{ display_name: "Outputs", name: "outputs", icon: "Upload" },
|
{ display_name: "Outputs", name: "outputs", icon: "Upload" },
|
||||||
{ display_name: "Prompts", name: "prompts", icon: "TerminalSquare" },
|
{ display_name: "Prompts", name: "prompts", icon: "TerminalSquare" },
|
||||||
|
{ display_name: "Models", name: "models", icon: "BrainCog" },
|
||||||
{ display_name: "Data", name: "data", icon: "Database" },
|
{ display_name: "Data", name: "data", icon: "Database" },
|
||||||
{ display_name: "Processing", name: "processing", icon: "ListFilter" },
|
{ display_name: "Processing", name: "processing", icon: "ListFilter" },
|
||||||
{ display_name: "Models", name: "models", icon: "BrainCircuit" },
|
|
||||||
{ display_name: "Vector Stores", name: "vectorstores", icon: "Layers" },
|
{ display_name: "Vector Stores", name: "vectorstores", icon: "Layers" },
|
||||||
{ display_name: "Embeddings", name: "embeddings", icon: "Binary" },
|
|
||||||
{ display_name: "Agents", name: "agents", icon: "Bot" },
|
{ display_name: "Agents", name: "agents", icon: "Bot" },
|
||||||
{ display_name: "Chains", name: "chains", icon: "Link" },
|
{ display_name: "Chains", name: "chains", icon: "Link" },
|
||||||
{ display_name: "Loaders", name: "documentloaders", icon: "Paperclip" },
|
{ display_name: "Loaders", name: "documentloaders", icon: "Paperclip" },
|
||||||
|
|
@ -229,6 +229,12 @@ export const SIDEBAR_CATEGORIES = [
|
||||||
];
|
];
|
||||||
|
|
||||||
export const SIDEBAR_BUNDLES = [
|
export const SIDEBAR_BUNDLES = [
|
||||||
|
{
|
||||||
|
display_name: "Language Models",
|
||||||
|
name: "languagemodels",
|
||||||
|
icon: "BrainCircuit",
|
||||||
|
},
|
||||||
|
{ display_name: "Embeddings", name: "embeddings", icon: "Binary" },
|
||||||
{ display_name: "Amazon", name: "amazon", icon: "Amazon" },
|
{ display_name: "Amazon", name: "amazon", icon: "Amazon" },
|
||||||
{ display_name: "Gmail", name: "gmail", icon: "Gmail" },
|
{ display_name: "Gmail", name: "gmail", icon: "Gmail" },
|
||||||
{ display_name: "GitHub", name: "github", icon: "Github" },
|
{ display_name: "GitHub", name: "github", icon: "Github" },
|
||||||
|
|
@ -309,7 +315,7 @@ export const nodeIconToDisplayIconMap: Record<string, string> = {
|
||||||
outputs: "Upload",
|
outputs: "Upload",
|
||||||
prompts: "TerminalSquare",
|
prompts: "TerminalSquare",
|
||||||
data: "Database",
|
data: "Database",
|
||||||
models: "BrainCircuit",
|
models: "BrainCog",
|
||||||
helpers: "Wand2",
|
helpers: "Wand2",
|
||||||
vectorstores: "Layers",
|
vectorstores: "Layers",
|
||||||
embeddings: "Binary",
|
embeddings: "Binary",
|
||||||
|
|
@ -332,6 +338,8 @@ export const nodeIconToDisplayIconMap: Record<string, string> = {
|
||||||
//Integration Icons
|
//Integration Icons
|
||||||
AIML: "AI/ML",
|
AIML: "AI/ML",
|
||||||
AgentQL: "AgentQL",
|
AgentQL: "AgentQL",
|
||||||
|
LanguageModels: "BrainCircuit",
|
||||||
|
EmbeddingModels: "Binary",
|
||||||
AirbyteJSONLoader: "Airbyte",
|
AirbyteJSONLoader: "Airbyte",
|
||||||
AmazonBedrockEmbeddings: "AWS",
|
AmazonBedrockEmbeddings: "AWS",
|
||||||
Amazon: "AWS",
|
Amazon: "AWS",
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,6 @@ test(
|
||||||
await expect(page.getByTestId("disclosure-helpers")).toBeVisible();
|
await expect(page.getByTestId("disclosure-helpers")).toBeVisible();
|
||||||
await expect(page.getByTestId("disclosure-vector stores")).toBeVisible();
|
await expect(page.getByTestId("disclosure-vector stores")).toBeVisible();
|
||||||
await expect(page.getByTestId("disclosure-prototypes")).toBeVisible();
|
await expect(page.getByTestId("disclosure-prototypes")).toBeVisible();
|
||||||
await expect(page.getByTestId("disclosure-embeddings")).toBeVisible();
|
|
||||||
await expect(page.getByTestId("disclosure-tools")).toBeVisible();
|
await expect(page.getByTestId("disclosure-tools")).toBeVisible();
|
||||||
|
|
||||||
await expect(page.getByTestId("dataAPI Request")).toBeVisible();
|
await expect(page.getByTestId("dataAPI Request")).toBeVisible();
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,12 @@ test(
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
await page.getByTestId("sidebar-search-input").fill("openai");
|
await page.getByTestId("sidebar-search-input").fill("openai");
|
||||||
|
|
||||||
await page.waitForSelector('[data-testid="modelsOpenAI"]', {
|
await page.waitForSelector('[data-testid="languagemodelsOpenAI"]', {
|
||||||
timeout: 1000,
|
timeout: 1000,
|
||||||
});
|
});
|
||||||
|
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsOpenAI")
|
.getByTestId("languagemodelsOpenAI")
|
||||||
.hover()
|
.hover()
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
await page.getByTestId("add-component-button-openai").last().click();
|
await page.getByTestId("add-component-button-openai").last().click();
|
||||||
|
|
|
||||||
|
|
@ -164,11 +164,14 @@ test(
|
||||||
//---------------------------------- OPENAI
|
//---------------------------------- OPENAI
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
await page.getByTestId("sidebar-search-input").fill("openai");
|
await page.getByTestId("sidebar-search-input").fill("openai");
|
||||||
await page.waitForSelector('[data-testid="modelsOpenAI"]', {
|
await page.waitForSelector(
|
||||||
timeout: 2000,
|
'[data-testid="languagemodels_openai_draggable"]',
|
||||||
});
|
{
|
||||||
|
timeout: 2000,
|
||||||
|
},
|
||||||
|
);
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsOpenAI")
|
.getByTestId("languagemodelsOpenAI")
|
||||||
.dragTo(page.locator('//*[@id="react-flow-id"]'), {
|
.dragTo(page.locator('//*[@id="react-flow-id"]'), {
|
||||||
targetPosition: { x: 500, y: 300 },
|
targetPosition: { x: 500, y: 300 },
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ test.skip(
|
||||||
await page.getByTestId("sidebar-search-input").fill("openai");
|
await page.getByTestId("sidebar-search-input").fill("openai");
|
||||||
await page.waitForTimeout(1000);
|
await page.waitForTimeout(1000);
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsOpenAI")
|
.getByTestId("languagemodelsOpenAI")
|
||||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||||
await page.mouse.up();
|
await page.mouse.up();
|
||||||
await page.mouse.down();
|
await page.mouse.down();
|
||||||
|
|
|
||||||
|
|
@ -14,12 +14,12 @@ test(
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
await page.getByTestId("sidebar-search-input").fill("nvidia");
|
await page.getByTestId("sidebar-search-input").fill("nvidia");
|
||||||
|
|
||||||
await page.waitForSelector('[data-testid="modelsNVIDIA"]', {
|
await page.waitForSelector('[data-testid="languagemodelsNVIDIA"]', {
|
||||||
timeout: 30000,
|
timeout: 30000,
|
||||||
});
|
});
|
||||||
|
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsNVIDIA")
|
.getByTestId("languagemodelsNVIDIA")
|
||||||
.hover()
|
.hover()
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
// Wait for the API request to complete after clicking the add button
|
// Wait for the API request to complete after clicking the add button
|
||||||
|
|
|
||||||
|
|
@ -12,12 +12,12 @@ test("IntComponent", { tag: ["@release", "@workspace"] }, async ({ page }) => {
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
await page.getByTestId("sidebar-search-input").fill("openai");
|
await page.getByTestId("sidebar-search-input").fill("openai");
|
||||||
|
|
||||||
await page.waitForSelector('[data-testid="modelsOpenAI"]', {
|
await page.waitForSelector('[data-testid="languagemodelsOpenAI"]', {
|
||||||
timeout: 3000,
|
timeout: 3000,
|
||||||
});
|
});
|
||||||
|
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsOpenAI")
|
.getByTestId("languagemodelsOpenAI")
|
||||||
.first()
|
.first()
|
||||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,12 +17,12 @@ test(
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
await page.getByTestId("sidebar-search-input").fill("openai");
|
await page.getByTestId("sidebar-search-input").fill("openai");
|
||||||
|
|
||||||
await page.waitForSelector('[data-testid="modelsOpenAI"]', {
|
await page.waitForSelector('[data-testid="languagemodelsOpenAI"]', {
|
||||||
timeout: 3000,
|
timeout: 3000,
|
||||||
});
|
});
|
||||||
|
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsOpenAI")
|
.getByTestId("languagemodelsOpenAI")
|
||||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||||
await page.mouse.up();
|
await page.mouse.up();
|
||||||
await page.mouse.down();
|
await page.mouse.down();
|
||||||
|
|
|
||||||
|
|
@ -17,12 +17,12 @@ test(
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
await page.getByTestId("sidebar-search-input").fill("ollama");
|
await page.getByTestId("sidebar-search-input").fill("ollama");
|
||||||
|
|
||||||
await page.waitForSelector('[data-testid="modelsOllama"]', {
|
await page.waitForSelector('[data-testid="languagemodelsOllama"]', {
|
||||||
timeout: 3000,
|
timeout: 3000,
|
||||||
});
|
});
|
||||||
|
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsOllama")
|
.getByTestId("languagemodelsOllama")
|
||||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||||
await page.mouse.up();
|
await page.mouse.up();
|
||||||
await page.mouse.down();
|
await page.mouse.down();
|
||||||
|
|
|
||||||
|
|
@ -31,12 +31,12 @@ test(
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
await page.getByTestId("sidebar-search-input").fill("NVIDIA");
|
await page.getByTestId("sidebar-search-input").fill("NVIDIA");
|
||||||
|
|
||||||
await page.waitForSelector('[data-testid="modelsNVIDIA"]', {
|
await page.waitForSelector('[data-testid="languagemodelsNVIDIA"]', {
|
||||||
timeout: 3000,
|
timeout: 3000,
|
||||||
});
|
});
|
||||||
|
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsNVIDIA")
|
.getByTestId("languagemodelsNVIDIA")
|
||||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||||
await page.mouse.up();
|
await page.mouse.up();
|
||||||
await page.mouse.down();
|
await page.mouse.down();
|
||||||
|
|
@ -85,7 +85,7 @@ test(
|
||||||
await page.keyboard.press("Escape");
|
await page.keyboard.press("Escape");
|
||||||
await page.locator('//*[@id="react-flow-id"]').click();
|
await page.locator('//*[@id="react-flow-id"]').click();
|
||||||
|
|
||||||
const lastNvidiaModel = page.getByTestId("modelsNVIDIA").last();
|
const lastNvidiaModel = page.getByTestId("languagemodelsNVIDIA").last();
|
||||||
await lastNvidiaModel.scrollIntoViewIfNeeded();
|
await lastNvidiaModel.scrollIntoViewIfNeeded();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
@ -128,12 +128,12 @@ test(
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
await page.getByTestId("sidebar-search-input").fill("NVIDIA");
|
await page.getByTestId("sidebar-search-input").fill("NVIDIA");
|
||||||
|
|
||||||
await page.waitForSelector('[data-testid="modelsNVIDIA"]', {
|
await page.waitForSelector('[data-testid="languagemodelsNVIDIA"]', {
|
||||||
timeout: 3000,
|
timeout: 3000,
|
||||||
});
|
});
|
||||||
|
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsNVIDIA")
|
.getByTestId("languagemodelsNVIDIA")
|
||||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||||
await page.mouse.up();
|
await page.mouse.up();
|
||||||
await page.mouse.down();
|
await page.mouse.down();
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,6 @@ test(
|
||||||
"disclosure-models",
|
"disclosure-models",
|
||||||
"disclosure-helpers",
|
"disclosure-helpers",
|
||||||
"disclosure-vector stores",
|
"disclosure-vector stores",
|
||||||
"disclosure-embeddings",
|
|
||||||
"disclosure-agents",
|
"disclosure-agents",
|
||||||
"disclosure-memories",
|
"disclosure-memories",
|
||||||
"disclosure-logic",
|
"disclosure-logic",
|
||||||
|
|
@ -99,23 +98,23 @@ test(
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
|
|
||||||
const visibleModelSpecsTestIds = [
|
const visibleModelSpecsTestIds = [
|
||||||
"modelsAIML",
|
"languagemodelsAIML",
|
||||||
"modelsAnthropic",
|
"languagemodelsAnthropic",
|
||||||
"modelsAzure OpenAI",
|
"languagemodelsAzure OpenAI",
|
||||||
"modelsCohere",
|
"languagemodelsCohere",
|
||||||
"modelsGoogle Generative AI",
|
"languagemodelsGoogle Generative AI",
|
||||||
"modelsGroq",
|
"languagemodelsGroq",
|
||||||
"modelsHuggingFace",
|
"languagemodelsHuggingFace",
|
||||||
"modelsLM Studio",
|
"languagemodelsLM Studio",
|
||||||
"modelsMaritalk",
|
"languagemodelsMaritalk",
|
||||||
"modelsMistralAI",
|
"languagemodelsMistralAI",
|
||||||
"modelsNVIDIA",
|
"languagemodelsNVIDIA",
|
||||||
"modelsOllama",
|
"languagemodelsOllama",
|
||||||
"modelsOpenAI",
|
"languagemodelsOpenAI",
|
||||||
"modelsPerplexity",
|
"languagemodelsPerplexity",
|
||||||
"modelsQianfan",
|
"languagemodelsQianfan",
|
||||||
"modelsSambaNova",
|
"languagemodelsSambaNova",
|
||||||
"modelsVertex AI",
|
"languagemodelsVertex AI",
|
||||||
];
|
];
|
||||||
|
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,12 @@ test(
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
await page.getByTestId("sidebar-search-input").fill("ollama");
|
await page.getByTestId("sidebar-search-input").fill("ollama");
|
||||||
|
|
||||||
await page.waitForSelector('[data-testid="modelsOllama"]', {
|
await page.waitForSelector('[data-testid="languagemodelsOllama"]', {
|
||||||
timeout: 3000,
|
timeout: 3000,
|
||||||
});
|
});
|
||||||
|
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsOllama")
|
.getByTestId("languagemodelsOllama")
|
||||||
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
.dragTo(page.locator('//*[@id="react-flow-id"]'));
|
||||||
await page.mouse.up();
|
await page.mouse.up();
|
||||||
await page.mouse.down();
|
await page.mouse.down();
|
||||||
|
|
|
||||||
|
|
@ -14,12 +14,12 @@ test(
|
||||||
await page.getByTestId("sidebar-search-input").click();
|
await page.getByTestId("sidebar-search-input").click();
|
||||||
await page.getByTestId("sidebar-search-input").fill("openai");
|
await page.getByTestId("sidebar-search-input").fill("openai");
|
||||||
|
|
||||||
await page.waitForSelector('[data-testid="modelsOpenAI"]', {
|
await page.waitForSelector('[data-testid="languagemodelsOpenAI"]', {
|
||||||
timeout: 1000,
|
timeout: 1000,
|
||||||
});
|
});
|
||||||
|
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsOpenAI")
|
.getByTestId("languagemodelsOpenAI")
|
||||||
.hover()
|
.hover()
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
await page.getByTestId("add-component-button-openai").last().click();
|
await page.getByTestId("add-component-button-openai").last().click();
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ test(
|
||||||
await page.getByTestId("sidebar-search-input").fill("openai");
|
await page.getByTestId("sidebar-search-input").fill("openai");
|
||||||
|
|
||||||
await page
|
await page
|
||||||
.getByTestId("modelsOpenAI")
|
.getByTestId("languagemodelsOpenAI")
|
||||||
.dragTo(page.locator('//*[@id="react-flow-id"]'), {
|
.dragTo(page.locator('//*[@id="react-flow-id"]'), {
|
||||||
targetPosition: { x: 100, y: 200 },
|
targetPosition: { x: 100, y: 200 },
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue