brianpetro/obsidian-smart-connections

(2.3.42) The interface setting to choose a transformer embedding model seems to do nothing (?)

Opened this issue · 2 comments

alk0 commented

version 2.3.42

Unless I'm terribly mistaken, the new setting to choose the embedding model (for transformers) just doesn't work. Editing the config file (smart_env.json) manually does work. Please look at the lines marked with <===== below — not the most elegant way to show it, but I hope it explains what I mean. Tested both with an existing config and with a fresh config in a test vault. Can anyone confirm or refute this?

  "smart_blocks": {
    "embed_blocks": false,
    "embed_model": {
      "model_key": "TaylorAI/bge-micro-v2" <===== 3. Can't be set through the interface at all
    },
    "min_chars": "300"
  },
  "smart_sources": {
    "embed_model": {
      "model_key": "TaylorAI/bge-micro-v2",  <===== 2. Actual model used
      "legacy_transformers": true,
      "transformers": {
        "model_key": "TaylorAI/gte-tiny",  <===== 1. Interface setting changes this
        "legacy_transformers": true
      },
      "adapter": "transformers",

These are the relevant settings
image

The other settings are leftover from earlier versions.

In the current version, there is an issue where the model referenced in the embedding notification doesn't reflect the selected model (because it references the setting from an older version). This will be fixed when the next version is released. Is this the issue you're seeing?

Also, you can confirm the model being used by running this command in the dev console

smart_env.smart_sources.embed_model.model_key

🌴

alk0 commented

In the current version, there is an issue where the model referenced in the embedding notification doesn't reflect the selected model (because it references the setting from an older version). This will be fixed when the next version is released.

Got it!

Is this the issue you're seeing?

Very much seems so. Thanks for the clarification! smart_env.smart_sources.embed_model.model_key shows the selected model. I can't do the proper testing at the moment to be 100.00% sure it works exactly as expected, but I don't see reasons to not believe you :) Again, thank you for you hard work and patience!