Change default embedding model to qwen3-embedding:4b

This commit is contained in:
Yiorgis Gozadinos 2025-11-21 16:27:16 +02:00
parent 28088aa31d
commit 8c02e865c7
No known key found for this signature in database
6 changed files with 19 additions and 14 deletions

View file

@ -17,8 +17,13 @@
### Changed
- **Evaluations**: Improved evaluation dataset naming and simplified evaluator
- configuration
- **BREAKING: Default Embedding Model**: Changed default embedding model from `qwen3-embedding` to `qwen3-embedding:4b` with vector dimension 2560 (previously 4096)
- New installations will use the smaller, more efficient 4B parameter model by default
- **Action required**: Existing databases created with the old default will be incompatible. Users must either:
- Explicitly set `embeddings.model: "qwen3-embedding"` and `embeddings.vector_dim: 4096` in their config to maintain compatibility with existing databases
- Or run `haiku-rag rebuild` to re-embed all documents with the new default
- This change provides better performance for most use cases while reducing resource requirements
- **Evaluations**: Improved evaluation dataset naming and simplified evaluator configuration
- `EvalDataset` now accepts dataset name for better organization in Logfire
- Added `--name` CLI parameter to override evaluation run names
- Removed `IsInstance` evaluator, using only `LLMJudge` for QA evaluation

View file

@ -36,8 +36,8 @@ environment: production
embeddings:
provider: ollama
model: qwen3-embedding
vector_dim: 4096
model: qwen3-embedding:4b
vector_dim: 2560
qa:
provider: ollama
@ -68,8 +68,8 @@ lancedb:
embeddings:
provider: ollama
model: qwen3-embedding
vector_dim: 4096
model: qwen3-embedding:4b
vector_dim: 2560
reranking:
provider: "" # Empty to disable, or mxbai, cohere, zeroentropy, vllm
@ -144,7 +144,7 @@ from haiku.rag.client import HaikuRAG
# Create custom configuration
custom_config = AppConfig(
qa={"provider": "openai", "model": "gpt-4o"},
embeddings={"provider": "ollama", "model": "qwen3-embedding"},
embeddings={"provider": "ollama", "model": "qwen3-embedding:4b", "vector_dim": 2560},
processing={"chunk_size": 512}
)

View file

@ -63,8 +63,8 @@ def generate_default_config() -> dict:
"lancedb": {"uri": "", "api_key": "", "region": ""},
"embeddings": {
"provider": "ollama",
"model": "qwen3-embedding",
"vector_dim": 4096,
"model": "qwen3-embedding:4b",
"vector_dim": 2560,
},
"reranking": {"provider": "", "model": ""},
"qa": {"provider": "ollama", "model": "gpt-oss"},

View file

@ -26,8 +26,8 @@ class LanceDBConfig(BaseModel):
class EmbeddingsConfig(BaseModel):
provider: str = "ollama"
model: str = "qwen3-embedding"
vector_dim: int = 4096
model: str = "qwen3-embedding:4b"
vector_dim: int = 2560
class RerankingConfig(BaseModel):

View file

@ -44,8 +44,8 @@ def temp_yaml_config(tmp_path, monkeypatch):
},
"embeddings": {
"provider": "ollama",
"model": "qwen3-embedding",
"vector_dim": 4096,
"model": "qwen3-embedding:4b",
"vector_dim": 2560,
},
"qa": {"provider": "ollama", "model": "gpt-oss"},
}

View file

@ -108,7 +108,7 @@ def test_generate_default_config():
assert "qa" in config
assert "providers" in config
assert config["embeddings"]["provider"] == "ollama"
assert config["embeddings"]["vector_dim"] == 4096
assert config["embeddings"]["vector_dim"] == 2560
def test_config_precedence_cwd_over_user(tmp_path, monkeypatch):