Skip to content

fix: Update Vector Store RAG connections#10217

Merged
jordanrfrazier merged 1 commit into
mainfrom
fix-vector-rag-connections
Oct 10, 2025
Merged

fix: Update Vector Store RAG connections#10217
jordanrfrazier merged 1 commit into
mainfrom
fix-vector-rag-connections

Conversation

@erichare
Copy link
Copy Markdown
Collaborator

@erichare erichare commented Oct 10, 2025

This pull request updates the Vector Store RAG template to ensure that all connections are maintained, particularly the Embedding Model input to Astra DB.

Key changes:

Flow structure and connections:

  • Regenerated unique IDs for all nodes and edges to ensure consistency and avoid potential conflicts in the flow graph. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
  • Added new edges to explicitly connect OpenAIEmbeddings nodes to their respective AstraDB vector store nodes, clarifying how embedding models are used in both the data loading and retrieval flows.

Node and documentation updates:

  • Updated IDs for documentation/note nodes to match the new ID scheme and maintain consistency throughout the flow. [1] [2] [3] [4]

Summary by CodeRabbit

  • New Features

    • Added external options to many Vector Store RAG configuration inputs, enabling dynamic selection of providers, models, API endpoints, databases, and environments directly in the UI.
  • Style

    • Updated initial canvas layout/viewport for a cleaner, easier-to-navigate starter project experience.
  • Chores

    • Refreshed defaults and visibility of advanced fields for clearer setup.
    • Updated template metadata and version indicators to the latest snapshot.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 10, 2025

Walkthrough

Renames numerous node and edge IDs in the Vector Store RAG starter project JSON, updates all references accordingly, adds external_options and related UI metadata to inputs/templates, adjusts visibility/defaults, and updates metadata timestamps and viewport. No executable logic changes; all updates are within the starter project configuration.

Changes

Cohort / File(s) Summary of Changes
Starter project graph and UI metadata
src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json
Reassigned node/edge IDs and updated all source/target/handle references; added external_options and options_metadata across inputs/templates; tweaked visibility/default values; refreshed last_updated/last_tested_version and viewport; no functional logic changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

bug, size:XXL, lgtm

Suggested reviewers

  • edwinjosechittilappilly
  • mendonk
  • Yukiyukiyeah

Pre-merge checks and finishing touches

❌ Failed checks (1 error, 2 inconclusive)
Check name Status Explanation Resolution
Test Coverage For New Implementations ❌ Error I inspected the PR’s changed files and searched the repository for any newly added or modified tests matching the project’s conventions (backend: test_*.py; frontend: *.test.ts). The PR appears to only modify a starter project JSON (Vector Store RAG.json) by updating node/edge IDs and connections, with no accompanying test files added or updated. I found no regression tests that assert the corrected embedding-to-vector-store connections or any schema/flow validation test referencing this updated starter project. Given the PR is a bug fix, the absence of targeted regression tests means the change isn’t safeguarded against future regressions. Add a regression test that loads the Vector Store RAG starter project JSON and validates the presence and correctness of the explicit embedding-to-vector-store edges for both loading and retrieval paths; if backend, place it under an appropriate tests directory as test_*.py, or if frontend, as *.test.ts. If an existing starter-projects validation suite exists, extend it to assert the required connections and schema invariants for this project; otherwise, introduce a lightweight schema/graph consistency test to ensure these connections persist across future edits.
Test File Naming And Structure ❓ Inconclusive The PR only updates a JSON starter project and does not add or modify tests, so I inspected the repository to evaluate the existing test naming and structure. I searched for backend pytest files (test_.py), frontend Playwright tests (.test.ts/tsx), and any integration tests directories or markers, along with patterns indicating setup/teardown and descriptive test naming. Based on the repository contents, I assessed whether tests follow the required naming conventions, include both positive and negative cases, and are organized logically with clear structure. Please provide access to the repository in the sandbox or allow me to run codebase searches so I can verify test file patterns and structures. Once I can scan for test_*.py, *.test.ts/tsx, Playwright usage, integration test locations/markers, and review test names and setup/teardown sections, I can deliver a definitive pass/fail assessment and identify any gaps in positive/negative coverage or edge cases.
Excessive Mock Usage Warning ❓ Inconclusive The PR modifies a JSON starter project and does not touch test code, but this check reviews the repository’s existing tests for excessive mocking. I searched Python and JS/TS test files for common mocking patterns (unittest.mock, pytest-mock, monkeypatch, MagicMock/AsyncMock, mock.patch, mocker.patch/spy, jest/vi.mock, jest/vi.spyOn, sinon, nock, msw) and looked for indications of mocking internal modules versus external dependencies. No evidence was found here due to lack of executed repository scans in this context; therefore I cannot determine whether mocks are excessive, whether they replace core logic, or if integration tests exist to balance heavy mocking. Please run a repository-wide scan of test files to enumerate mocking usage and hotspots: search for unittest.mock, mock.patch, MagicMock/AsyncMock, monkeypatch, mocker.patch, jest/vi.mock/spyOn, sinon, nock, and msw in files named test_*.py, *_test.py, and *.test/spec.{ts,tsx,js,jsx}. Flag files with high counts (e.g., >5 mocks in a single test or extensive patching of internal langflow modules) and recommend replacing mocks with real objects or fakes where feasible, restricting mocks to external services (HTTP, DB, APIs), and adding integration tests to cover end-to-end behavior of the Vector Store RAG flow. If you share the scan results, I can provide targeted recommendations per file.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title accurately reflects the primary change of updating the Vector Store RAG connections by fixing and standardizing node and edge relationships in the flow.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Test Quality And Coverage ✅ Passed This PR only modifies a JSON starter template without altering any executable logic or introducing new async functions or endpoints, and the existing suite already includes unit tests specifically validating the Vector Store RAG template structure along with full integration and UI tests covering its selection and use.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-vector-rag-connections

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.

@github-actions github-actions Bot added bug Something isn't working and removed bug Something isn't working labels Oct 10, 2025
@sonarqubecloud
Copy link
Copy Markdown

@github-actions github-actions Bot added bug Something isn't working and removed bug Something isn't working labels Oct 10, 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: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json (2)

759-767: Fix Split Text selected_output mismatch

Outputs expose name "dataframe", but node.selected_output is "chunks" (display name). Use the output name to avoid UI/default-selection bugs.

Apply:

-          "selected_output": "chunks",
+          "selected_output": "dataframe",

Also applies to: 915-916


1-5036: Fix SplitText selected_output to match an outputs[].name

Edges validated OK; node SplitText-4s7Dt has selected_output "chunks" which doesn't match any outputs[].name (the output name is "dataframe") — update selected_output to "dataframe" in src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json (node id: SplitText-4s7Dt).

🧹 Nitpick comments (2)
src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json (2)

26-31: Normalize edge id schema (consistency/interop)

Edge ids mix "reactflow__edge-" and "xy-edge__" prefixes. Not functionally wrong, but inconsistent ids can surprise tooling relying on a single scheme (dedup, selection). Consider standardizing.

Also applies to: 257-263, 284-288


3889-3894: Consider defaulting AstraDB.embedding_model to hidden

Template sets embedding_model.show = true, while runtime logic toggles based on provider/autodetect. Defaulting to false prevents brief UI flash/misleading state before build_config runs.

-                "show": true,
+                "show": false,

Also applies to: 4702-4707

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4b32df5 and d964301.

📒 Files selected for processing (1)
  • src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json (69 hunks)
⏰ 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). (11)
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Lint Backend / Run Mypy (3.13)
  • GitHub Check: Run Frontend Tests / Determine Test Suites and Shard Distribution
  • GitHub Check: Test Starter Templates
  • GitHub Check: Optimize new Python code in this PR
  • GitHub Check: test-starter-projects
🔇 Additional comments (2)
src/backend/base/langflow/initial_setup/starter_projects/Vector Store RAG.json (2)

236-263: Good: explicit Embeddings → Vector Store links added

Both ingestion and retrieval Astra DB nodes now receive embedding_model via edges from their OpenAIEmbeddings nodes. This clarifies model flow and removes ambiguity.

Also applies to: 265-289


3535-3549: external_options additions: confirm UI handling/back-compat

Adding external_options to DropdownInput is fine, but verify:

  • Current UI consumes/ignores it safely.
  • Older LF versions won’t choke on the field if users import this starter there.

Also applies to: 4348-4362

@codecov
Copy link
Copy Markdown

codecov Bot commented Oct 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 24.76%. Comparing base (b840b71) to head (d964301).
⚠️ Report is 4 commits behind head on main.

❌ Your project status has failed because the head coverage (48.71%) is below the target coverage (55.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main   #10217   +/-   ##
=======================================
  Coverage   24.76%   24.76%           
=======================================
  Files        1090     1090           
  Lines       40108    40108           
  Branches     5550     5550           
=======================================
  Hits         9934     9934           
  Misses      30003    30003           
  Partials      171      171           
Flag Coverage Δ
backend 48.71% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions Bot added the lgtm This PR has been approved by a maintainer label Oct 10, 2025
@jordanrfrazier jordanrfrazier added this pull request to the merge queue Oct 10, 2025
Merged via the queue into main with commit c6731f5 Oct 10, 2025
142 of 145 checks passed
@jordanrfrazier jordanrfrazier deleted the fix-vector-rag-connections branch October 10, 2025 19:32
korenLazar pushed a commit to kiran-kate/langflow that referenced this pull request Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working lgtm This PR has been approved by a maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants