Skip to content

feat(n8n): add Ollama embeddings to duplicate detector - #28

Merged
Skull-boy merged 1 commit into
Skull-boy:mainfrom
mikemikimike:fix/5-local-embedding-option
Sep 2, 2026
Merged

Skull-boy merged 1 commit into
Skull-boy:mainfrom
mikemikimike:fix/5-local-embedding-option

Conversation

@mikemikimike

Copy link
Copy Markdown
Contributor

Closes #5

Background

The duplicate issue detector currently requires OpenAI embeddings. That prevents fully local, private deployments even though the repository already uses Ollama for other workflow integrations.

Changes

  • Add disabled Ollama HTTP Request nodes for both the live detector and the backfill flow.
  • Keep OpenAI as the enabled default and connect both providers to the existing extraction and Qdrant paths, so users can switch providers without rebuilding the workflow.
  • Accept both OpenAI (data[0].embedding) and Ollama (embeddings[0]) response shapes with a clear error for malformed responses.
  • Document Ollama setup, provider switching, endpoint reachability, model dimensions, Qdrant recreation, and the no-double-processing requirement.
  • Add a regression test covering the node configuration, connections, response handling, and required documentation.

Compatibility

OpenAI remains the default and existing OpenAI/Qdrant behavior is unchanged. Ollama is opt-in and uses nomic-embed-text by default. Because embedding dimensions are part of the Qdrant collection contract, the README requires a 768-dimensional collection for nomic-embed-text and a full backfill after switching.

Validation

  • python -m pytest -q tests/test_duplicate_issue_detector_workflow.py — passed.
  • python -m pytest -q tests --basetemp .pytest-tmp — passed (60 tests).
  • python scripts/validate_contracts.py with PYTHONPATH=src — passed (5 contracts).
  • python -m ruff check tests/test_duplicate_issue_detector_workflow.py — passed.
  • python -m compileall -q src scripts tests — passed.
  • JSON parsing of implementations/n8n/duplicate-issue-detector/workflow.json — passed.
  • python -m build --wheel --no-isolation — passed.
  • No live Ollama, Qdrant, GitHub, or OpenAI services were used; the regression test validates the exported workflow structure and response-shape handling offline.

AI disclosure

This pull request was prepared with AI assistance. The implementation was reviewed against the issue acceptance criteria, and all added behavior is covered by a deterministic local regression test.

@Skull-boy
Skull-boy merged commit 4dc2de8 into Skull-boy:main Sep 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add local embedding option (Ollama) for Duplicate Issue Detector

2 participants