Skip to content

feat: Add SambaNova Embeddings#8940

Open
luisfucros wants to merge 16 commits into
langflow-ai:mainfrom
luisfucros:feature/sambanova-embeddings
Open

feat: Add SambaNova Embeddings#8940
luisfucros wants to merge 16 commits into
langflow-ai:mainfrom
luisfucros:feature/sambanova-embeddings

Conversation

@luisfucros
Copy link
Copy Markdown
Contributor

@luisfucros luisfucros commented Jul 8, 2025

Add SambaNova embeddings
Add models metadata
Updata Sambanova icon and docs link

Summary by CodeRabbit

  • New Features

    • Introduced a new component for generating embeddings with SambaNova models, allowing selection of model and secure API key input.
    • Expanded export options to include the new SambaNova embeddings component.
  • Refactor

    • Centralized and enhanced metadata management for SambaNova models, enabling improved filtering and categorization of available models.
  • Style

    • Updated the SambaNova logo to a more detailed and colorful design in the interface.
  • Chores

    • Upgraded the SambaNova dependency to a newer version for improved compatibility.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jul 8, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This update refactors SambaNova model handling by introducing a metadata-driven approach, adds a new embeddings component for SambaNova, updates the dependency version for langchain-sambanova, and replaces the SambaNova logo SVG with a more detailed version. The changes also update public exports to include the new embeddings component.

Changes

File(s) Change Summary
pyproject.toml Updated the langchain-sambanova dependency version from 0.1.0 to 0.1.5.
src/backend/base/langflow/base/models/sambanova_constants.py Refactored static model name lists into a metadata-driven structure using create_model_metadata, introducing detailed model metadata and filtered model lists for production, preview, and tool-calling-unsupported models.
src/backend/base/langflow/components/sambanova/sambanova_embeddings.py Added new SambaNovaEmbeddingsComponent class to generate embeddings using SambaNova models, with inputs for API key and model selection, and error handling for instantiation.
src/backend/base/langflow/components/sambanova/init.py Added import and export of SambaNovaEmbeddingsComponent to the package’s __all__ list.
src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx Replaced the previous simple orange SVG logo with a multi-path, multi-color, and more detailed SVG logo for SambaNova.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant UI
    participant SambaNovaEmbeddingsComponent
    participant SambaNovaCloudEmbeddings

    User->>UI: Selects SambaNova Embeddings Component
    UI->>SambaNovaEmbeddingsComponent: Provides API key and model name
    SambaNovaEmbeddingsComponent->>SambaNovaCloudEmbeddings: Instantiates with API key and model
    SambaNovaCloudEmbeddings-->>SambaNovaEmbeddingsComponent: Returns embeddings instance or error
    SambaNovaEmbeddingsComponent-->>UI: Outputs embeddings or error message
Loading

Possibly related PRs

Suggested labels

size:XL, lgtm, refactor

Suggested reviewers

  • mfortman11
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. enhancement New feature or request labels Jul 8, 2025
@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Jul 8, 2025
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🔭 Outside diff range comments (1)
src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx (1)

1-11: Add support for light and dark mode using the isdark prop.

According to the coding guidelines, custom SVG icon components must support both light and dark mode by using the isdark prop. The current implementation uses hardcoded colors that don't adapt to the theme.

-const SvgSambaNovaLogo = ({ ...props }) => (
+const SvgSambaNovaLogo = ({ isdark, ...props }) => (
   <svg
     xmlns="http://www.w3.org/2000/svg"
     aria-label="sambanova logo"
     role="img"
     className="fill-foreground"
     fill="none"
     viewBox="0 0 52.416 46.20814479638009"
-    style="max-height: 500px"
+    style={{ maxHeight: '500px' }}
     {...props}
   >

Additionally, update the fill colors throughout the SVG to use conditional logic based on the isdark prop instead of hardcoded values.

🧹 Nitpick comments (3)
src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx (1)

49-191: Consider theme-aware color handling for brand colors.

The brand-specific colors (e.g., #250E36, #412AA0) may need adjustment for dark mode readability. Consider providing theme-appropriate variants or using CSS custom properties.

     <path
-      fill="#250E36"
+      fill={isdark ? "#3a1a4a" : "#250E36"}
       d="M46.1032 36.2716C42.7262 39.6641..."
     />

This ensures the brand colors maintain appropriate contrast in both light and dark themes.

src/backend/base/langflow/components/sambanova/sambanova_embeddings.py (2)

8-8: Remove unused constant.

The HTTP_STATUS_OK constant is defined but never used in the component.

-HTTP_STATUS_OK = 200
-

36-50: Enhance error handling and logging.

Consider adding more specific error handling and logging for better debugging experience.

+import logging
+
+logger = logging.getLogger(__name__)
+
     def build_embeddings(self) -> Embeddings:
-        embeddings = None
         api_key = SecretStr(self.api_key).get_secret_value()
+        logger.debug(f"Building SambaNova embeddings with model: {self.model_name}")
+        
         try:
             embeddings = SambaNovaCloudEmbeddings(
                 sambanova_api_key=api_key,
                 model=self.model_name,
             )
-        except Exception as e:
+        except Exception as e:
+            logger.error(f"Failed to create SambaNova embeddings: {e}")
             msg = (
                 "Unable to create SambaNova Embeddings. "
                 "Please verify the API key and model parameters, and try again."
             )
             raise ValueError(msg) from e
         return embeddings
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 24db0cd and 702840f.

⛔ Files ignored due to path filters (2)
  • src/frontend/src/icons/SambaNova/SambaNovaLogo.svg is excluded by !**/*.svg
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (5)
  • pyproject.toml (1 hunks)
  • src/backend/base/langflow/base/models/sambanova_constants.py (1 hunks)
  • src/backend/base/langflow/components/sambanova/__init__.py (1 hunks)
  • src/backend/base/langflow/components/sambanova/sambanova_embeddings.py (1 hunks)
  • src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx (1 hunks)
🧰 Additional context used
📓 Path-based instructions (9)
`{uv.lock,pyproject.toml}`: Use uv (>=0.4) as the Python package manager for dependency management

{uv.lock,pyproject.toml}: Use uv (>=0.4) as the Python package manager for dependency management

📄 Source: CodeRabbit Inference Engine (.cursor/rules/backend_development.mdc)

List of files the instruction was applied to:

  • pyproject.toml
`src/backend/base/langflow/components/**/*.py`: Add new backend components to th...

src/backend/base/langflow/components/**/*.py: Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
Implement async component methods using async def and await for asynchronous operations
Use asyncio.create_task for background work in async components and ensure proper cleanup on cancellation
Use asyncio.Queue for non-blocking queue operations in async components and handle timeouts appropriately

📄 Source: CodeRabbit Inference Engine (.cursor/rules/backend_development.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/sambanova/__init__.py
  • src/backend/base/langflow/components/sambanova/sambanova_embeddings.py
`src/backend/base/langflow/components/**/__init__.py`: Update __init__.py with alphabetical imports when adding new components

src/backend/base/langflow/components/**/__init__.py: Update init.py with alphabetical imports when adding new components

📄 Source: CodeRabbit Inference Engine (.cursor/rules/backend_development.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/sambanova/__init__.py
`src/backend/**/*.py`: Run make format_backend to format Python code early and often Run make lint to check for linting issues in backend Python code

src/backend/**/*.py: Run make format_backend to format Python code early and often
Run make lint to check for linting issues in backend Python code

📄 Source: CodeRabbit Inference Engine (.cursor/rules/backend_development.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/sambanova/__init__.py
  • src/backend/base/langflow/components/sambanova/sambanova_embeddings.py
  • src/backend/base/langflow/base/models/sambanova_constants.py
`src/backend/**/components/**/*.py`: In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).

src/backend/**/components/**/*.py: In your Python component class, set the icon attribute to a string matching the frontend icon mapping exactly (case-sensitive).

📄 Source: CodeRabbit Inference Engine (.cursor/rules/icons.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/sambanova/__init__.py
  • src/backend/base/langflow/components/sambanova/sambanova_embeddings.py
`src/frontend/**/*.{ts,tsx,js,jsx,css,scss}`: Use Tailwind CSS for styling all frontend components.

src/frontend/**/*.{ts,tsx,js,jsx,css,scss}: Use Tailwind CSS for styling all frontend components.

📄 Source: CodeRabbit Inference Engine (.cursor/rules/frontend_development.mdc)

List of files the instruction was applied to:

  • src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx
`src/frontend/src/icons/**/*.{ts,tsx,js,jsx}`: Use Lucide React for icons in frontend components.

src/frontend/src/icons/**/*.{ts,tsx,js,jsx}: Use Lucide React for icons in frontend components.

📄 Source: CodeRabbit Inference Engine (.cursor/rules/frontend_development.mdc)

List of files the instruction was applied to:

  • src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx
`src/frontend/src/icons/*/*`: Create a new directory for your icon in `src/front...

src/frontend/src/icons/*/*: Create a new directory for your icon in src/frontend/src/icons/YourIconName/ and add your SVG as a React component (e.g., YourIconName.jsx) that uses the isdark prop to support both light and dark mode.

📄 Source: CodeRabbit Inference Engine (.cursor/rules/icons.mdc)

List of files the instruction was applied to:

  • src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx
`src/frontend/src/icons/*/*.jsx`: Always support both light and dark mode for custom icons by using the `isdark` prop in your SVG component.

src/frontend/src/icons/*/*.jsx: Always support both light and dark mode for custom icons by using the isdark prop in your SVG component.

📄 Source: CodeRabbit Inference Engine (.cursor/rules/icons.mdc)

List of files the instruction was applied to:

  • src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx
🧠 Learnings (5)
📓 Common learnings
Learnt from: ogabrielluiz
PR: langflow-ai/langflow#0
File: :0-0
Timestamp: 2025-06-26T19:43:18.260Z
Learning: In langflow custom components, the `module_name` parameter is now propagated through template building functions to add module metadata and code hashes to frontend nodes for better component tracking and debugging.
src/backend/base/langflow/components/sambanova/__init__.py (3)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.464Z
Learning: Applies to src/backend/base/langflow/components/**/__init__.py : Update __init__.py with alphabetical imports when adding new components
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.464Z
Learning: Applies to src/backend/base/langflow/components/**/*.py : Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
Learnt from: ogabrielluiz
PR: langflow-ai/langflow#0
File: :0-0
Timestamp: 2025-06-26T19:43:18.260Z
Learning: In langflow custom components, the `module_name` parameter is now propagated through template building functions to add module metadata and code hashes to frontend nodes for better component tracking and debugging.
src/backend/base/langflow/components/sambanova/sambanova_embeddings.py (2)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.464Z
Learning: Applies to src/backend/base/langflow/components/**/*.py : Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
Learnt from: ogabrielluiz
PR: langflow-ai/langflow#0
File: :0-0
Timestamp: 2025-06-26T19:43:18.260Z
Learning: In langflow custom components, the `module_name` parameter is now propagated through template building functions to add module metadata and code hashes to frontend nodes for better component tracking and debugging.
src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx (4)
Learnt from: dolfim-ibm
PR: langflow-ai/langflow#8394
File: src/frontend/src/icons/Docling/index.tsx:4-6
Timestamp: 2025-06-16T11:14:04.200Z
Learning: The Langflow codebase consistently uses `React.PropsWithChildren<{}>` as the prop type for all icon components using forwardRef, rather than `React.SVGProps<SVGSVGElement>`. This is an established pattern across hundreds of icon files in src/frontend/src/icons/.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.846Z
Learning: Applies to src/frontend/src/icons/*/* : Create a new directory for your icon in `src/frontend/src/icons/YourIconName/` and add your SVG as a React component (e.g., `YourIconName.jsx`) that uses the `isdark` prop to support both light and dark mode.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: Custom SVG icon components in React should always support both light and dark mode by accepting an 'isdark' prop and adjusting colors accordingly.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.846Z
Learning: Applies to src/frontend/src/icons/*/*.jsx : Always support both light and dark mode for custom icons by using the `isdark` prop in your SVG component.
src/backend/base/langflow/base/models/sambanova_constants.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.464Z
Learning: Applies to src/backend/base/langflow/services/database/models/**/*.py : Place database models in src/backend/base/langflow/services/database/models/ and its subdirectories
🧬 Code Graph Analysis (2)
src/backend/base/langflow/components/sambanova/__init__.py (1)
src/backend/base/langflow/components/sambanova/sambanova_embeddings.py (1)
  • SambaNovaEmbeddingsComponent (11-50)
src/backend/base/langflow/components/sambanova/sambanova_embeddings.py (2)
src/backend/base/langflow/base/models/model.py (1)
  • LCModelComponent (25-375)
src/backend/base/langflow/inputs/inputs.py (2)
  • DropdownInput (467-491)
  • SecretStrInput (285-340)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: autofix
  • GitHub Check: Ruff Style Check (3.13)
  • GitHub Check: Update Starter Projects
  • GitHub Check: Run Ruff Check and Format
🔇 Additional comments (3)
pyproject.toml (1)

97-97: langchain-sambanova 0.1.5 verified on PyPI with no known security advisories

  • Confirmed version 0.1.5 exists on PyPI
  • No security vulnerabilities found in the first 10 reported advisories

You can safely proceed with this dependency update.

src/backend/base/langflow/components/sambanova/__init__.py (1)

1-4: LGTM! Proper alphabetical imports and exports.

The imports and exports follow the coding guidelines correctly with alphabetical ordering and proper all list maintenance.

src/backend/base/langflow/base/models/sambanova_constants.py (1)

1-56: Excellent restructuring of model metadata management.

The transition from a flat list to structured metadata using create_model_metadata is well-designed. This provides:

  1. Single source of truth: All model information centralized in SAMBANOVA_MODELS_DETAILED
  2. Flexible filtering: Easy to derive different model lists for various use cases
  3. Rich metadata: Support for preview status, tool calling capabilities, and deprecation
  4. Maintainability: Easier to add new models and update existing ones

The filtered lists (SAMBANOVA_PRODUCTION_MODELS, SAMBANOVA_PREVIEW_MODELS, TOOL_CALLING_UNSUPPORTED_SAMBANOVA_MODELS) provide clear categorization for different component needs.

Comment thread src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx
Comment thread src/backend/base/langflow/components/sambanova/sambanova_embeddings.py Outdated
@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Jul 8, 2025
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🔭 Outside diff range comments (1)
src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx (1)

1-11: Add dark mode support using the isdark prop.

According to the coding guidelines, custom icons must support both light and dark modes using the isdark prop.

Update the component signature and use the prop:

-const SvgSambaNovaLogo = ({ ...props }) => (
+const SvgSambaNovaLogo = ({ isdark, ...props }) => (

Consider using the isdark prop to adjust colors for dark mode compatibility.

🧹 Nitpick comments (3)
src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx (1)

8-8: Consider simplifying the viewBox precision.

The viewBox has an unnecessarily precise decimal value that could be rounded for better maintainability.

-    viewBox="0 0 52.416 46.20814479638009"
+    viewBox="0 0 52.416 46.208"
src/backend/base/langflow/components/sambanova/sambanova_embeddings.py (2)

8-8: Remove unused constant.

The HTTP_STATUS_OK constant is defined but never used in the code.

-HTTP_STATUS_OK = 200
-
-

37-37: Remove unnecessary variable initialization.

The embeddings variable doesn't need to be initialized to None since it's assigned in the try block.

-        embeddings = None
         api_key = SecretStr(self.api_key).get_secret_value()
         try:
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 24db0cd and 702840f.

⛔ Files ignored due to path filters (2)
  • src/frontend/src/icons/SambaNova/SambaNovaLogo.svg is excluded by !**/*.svg
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (5)
  • pyproject.toml (1 hunks)
  • src/backend/base/langflow/base/models/sambanova_constants.py (1 hunks)
  • src/backend/base/langflow/components/sambanova/__init__.py (1 hunks)
  • src/backend/base/langflow/components/sambanova/sambanova_embeddings.py (1 hunks)
  • src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx (1 hunks)
🧰 Additional context used
📓 Path-based instructions (9)
`{uv.lock,pyproject.toml}`: Use uv (>=0.4) as the Python package manager for dependency management

{uv.lock,pyproject.toml}: Use uv (>=0.4) as the Python package manager for dependency management

📄 Source: CodeRabbit Inference Engine (.cursor/rules/backend_development.mdc)

List of files the instruction was applied to:

  • pyproject.toml
`src/backend/base/langflow/components/**/*.py`: Add new backend components to th...

src/backend/base/langflow/components/**/*.py: Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
Implement async component methods using async def and await for asynchronous operations
Use asyncio.create_task for background work in async components and ensure proper cleanup on cancellation
Use asyncio.Queue for non-blocking queue operations in async components and handle timeouts appropriately

📄 Source: CodeRabbit Inference Engine (.cursor/rules/backend_development.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/sambanova/__init__.py
  • src/backend/base/langflow/components/sambanova/sambanova_embeddings.py
`src/backend/base/langflow/components/**/__init__.py`: Update __init__.py with alphabetical imports when adding new components

src/backend/base/langflow/components/**/__init__.py: Update init.py with alphabetical imports when adding new components

📄 Source: CodeRabbit Inference Engine (.cursor/rules/backend_development.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/sambanova/__init__.py
`src/backend/**/*.py`: Run make format_backend to format Python code early and often Run make lint to check for linting issues in backend Python code

src/backend/**/*.py: Run make format_backend to format Python code early and often
Run make lint to check for linting issues in backend Python code

📄 Source: CodeRabbit Inference Engine (.cursor/rules/backend_development.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/sambanova/__init__.py
  • src/backend/base/langflow/components/sambanova/sambanova_embeddings.py
  • src/backend/base/langflow/base/models/sambanova_constants.py
`src/backend/**/components/**/*.py`: In your Python component class, set the `icon` attribute to a string matching the frontend icon mapping exactly (case-sensitive).

src/backend/**/components/**/*.py: In your Python component class, set the icon attribute to a string matching the frontend icon mapping exactly (case-sensitive).

📄 Source: CodeRabbit Inference Engine (.cursor/rules/icons.mdc)

List of files the instruction was applied to:

  • src/backend/base/langflow/components/sambanova/__init__.py
  • src/backend/base/langflow/components/sambanova/sambanova_embeddings.py
`src/frontend/**/*.{ts,tsx,js,jsx,css,scss}`: Use Tailwind CSS for styling all frontend components.

src/frontend/**/*.{ts,tsx,js,jsx,css,scss}: Use Tailwind CSS for styling all frontend components.

📄 Source: CodeRabbit Inference Engine (.cursor/rules/frontend_development.mdc)

List of files the instruction was applied to:

  • src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx
`src/frontend/src/icons/**/*.{ts,tsx,js,jsx}`: Use Lucide React for icons in frontend components.

src/frontend/src/icons/**/*.{ts,tsx,js,jsx}: Use Lucide React for icons in frontend components.

📄 Source: CodeRabbit Inference Engine (.cursor/rules/frontend_development.mdc)

List of files the instruction was applied to:

  • src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx
`src/frontend/src/icons/*/*`: Create a new directory for your icon in `src/front...

src/frontend/src/icons/*/*: Create a new directory for your icon in src/frontend/src/icons/YourIconName/ and add your SVG as a React component (e.g., YourIconName.jsx) that uses the isdark prop to support both light and dark mode.

📄 Source: CodeRabbit Inference Engine (.cursor/rules/icons.mdc)

List of files the instruction was applied to:

  • src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx
`src/frontend/src/icons/*/*.jsx`: Always support both light and dark mode for custom icons by using the `isdark` prop in your SVG component.

src/frontend/src/icons/*/*.jsx: Always support both light and dark mode for custom icons by using the isdark prop in your SVG component.

📄 Source: CodeRabbit Inference Engine (.cursor/rules/icons.mdc)

List of files the instruction was applied to:

  • src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx
🧠 Learnings (5)
📓 Common learnings
Learnt from: ogabrielluiz
PR: langflow-ai/langflow#0
File: :0-0
Timestamp: 2025-06-26T19:43:18.260Z
Learning: In langflow custom components, the `module_name` parameter is now propagated through template building functions to add module metadata and code hashes to frontend nodes for better component tracking and debugging.
src/backend/base/langflow/components/sambanova/__init__.py (2)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.464Z
Learning: Applies to src/backend/base/langflow/components/**/__init__.py : Update __init__.py with alphabetical imports when adding new components
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.464Z
Learning: Applies to src/backend/base/langflow/components/**/*.py : Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
src/backend/base/langflow/components/sambanova/sambanova_embeddings.py (4)
Learnt from: ogabrielluiz
PR: langflow-ai/langflow#0
File: :0-0
Timestamp: 2025-06-26T19:43:18.260Z
Learning: In langflow custom components, the `module_name` parameter is now propagated through template building functions to add module metadata and code hashes to frontend nodes for better component tracking and debugging.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.464Z
Learning: Applies to src/backend/base/langflow/components/**/*.py : Add new backend components to the appropriate subdirectory under src/backend/base/langflow/components/
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.464Z
Learning: Applies to src/backend/base/langflow/components/**/__init__.py : Update __init__.py with alphabetical imports when adding new components
src/backend/base/langflow/base/models/sambanova_constants.py (1)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.464Z
Learning: Applies to src/backend/base/langflow/services/database/models/**/*.py : Place database models in src/backend/base/langflow/services/database/models/ and its subdirectories
src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx (3)
Learnt from: dolfim-ibm
PR: langflow-ai/langflow#8394
File: src/frontend/src/icons/Docling/index.tsx:4-6
Timestamp: 2025-06-16T11:14:04.200Z
Learning: The Langflow codebase consistently uses `React.PropsWithChildren<{}>` as the prop type for all icon components using forwardRef, rather than `React.SVGProps<SVGSVGElement>`. This is an established pattern across hundreds of icon files in src/frontend/src/icons/.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.846Z
Learning: Applies to src/frontend/src/icons/*/* : Create a new directory for your icon in `src/frontend/src/icons/YourIconName/` and add your SVG as a React component (e.g., `YourIconName.jsx`) that uses the `isdark` prop to support both light and dark mode.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-30T14:40:50.846Z
Learning: Applies to src/frontend/src/icons/*/*.jsx : Always support both light and dark mode for custom icons by using the `isdark` prop in your SVG component.
🧬 Code Graph Analysis (1)
src/backend/base/langflow/components/sambanova/__init__.py (1)
src/backend/base/langflow/components/sambanova/sambanova_embeddings.py (1)
  • SambaNovaEmbeddingsComponent (11-50)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Update Starter Projects
🔇 Additional comments (3)
pyproject.toml (1)

97-97: langchain-sambanova version check completed

  • Confirmed that langchain-sambanova==0.1.5 exists on PyPI; the latest release is 0.1.6.
  • No security advisories are listed on PyPI for this package.

Please consider upgrading to 0.1.6 and cross-check NVD or GitHub Security Advisories for any CVEs before merging.

src/backend/base/langflow/components/sambanova/__init__.py (1)

1-4: LGTM! Imports are correctly organized.

The new import and all export follow the alphabetical ordering guideline as required.

src/backend/base/langflow/base/models/sambanova_constants.py (1)

1-56: Excellent refactoring to a metadata-driven approach!

This structured approach with create_model_metadata provides better maintainability and allows for easy filtering based on model capabilities. The categorization into production, preview, and tool-calling models is well-organized.

Comment thread src/frontend/src/icons/SambaNova/SambaNovaLogo.jsx Outdated
Comment thread src/backend/base/langflow/components/sambanova/sambanova_embeddings.py Outdated
@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Jul 9, 2025
@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Jul 9, 2025
@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Jul 9, 2025
@github-actions github-actions Bot removed the enhancement New feature or request label Jul 10, 2025
@github-actions github-actions Bot added the enhancement New feature or request label Jul 10, 2025
@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Jul 11, 2025
@ogabrielluiz ogabrielluiz added the community Pull Request from an external contributor label Jul 14, 2025
@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Jul 16, 2025
@jhpiedrahitao
Copy link
Copy Markdown
Contributor

@edwinjosechittilappilly could you please take a look at this PR adding SambaNova embeddings

@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Aug 7, 2025
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Aug 7, 2025

@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Sep 24, 2025
@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community Pull Request from an external contributor enhancement New feature or request size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants