Change default embedding model to qwen3-embedding:4b
This commit is contained in:
parent
28088aa31d
commit
8c02e865c7
6 changed files with 19 additions and 14 deletions
|
|
@ -17,8 +17,13 @@
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- **Evaluations**: Improved evaluation dataset naming and simplified evaluator
|
- **BREAKING: Default Embedding Model**: Changed default embedding model from `qwen3-embedding` to `qwen3-embedding:4b` with vector dimension 2560 (previously 4096)
|
||||||
- configuration
|
- 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
|
- `EvalDataset` now accepts dataset name for better organization in Logfire
|
||||||
- Added `--name` CLI parameter to override evaluation run names
|
- Added `--name` CLI parameter to override evaluation run names
|
||||||
- Removed `IsInstance` evaluator, using only `LLMJudge` for QA evaluation
|
- Removed `IsInstance` evaluator, using only `LLMJudge` for QA evaluation
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,8 @@ environment: production
|
||||||
|
|
||||||
embeddings:
|
embeddings:
|
||||||
provider: ollama
|
provider: ollama
|
||||||
model: qwen3-embedding
|
model: qwen3-embedding:4b
|
||||||
vector_dim: 4096
|
vector_dim: 2560
|
||||||
|
|
||||||
qa:
|
qa:
|
||||||
provider: ollama
|
provider: ollama
|
||||||
|
|
@ -68,8 +68,8 @@ lancedb:
|
||||||
|
|
||||||
embeddings:
|
embeddings:
|
||||||
provider: ollama
|
provider: ollama
|
||||||
model: qwen3-embedding
|
model: qwen3-embedding:4b
|
||||||
vector_dim: 4096
|
vector_dim: 2560
|
||||||
|
|
||||||
reranking:
|
reranking:
|
||||||
provider: "" # Empty to disable, or mxbai, cohere, zeroentropy, vllm
|
provider: "" # Empty to disable, or mxbai, cohere, zeroentropy, vllm
|
||||||
|
|
@ -144,7 +144,7 @@ from haiku.rag.client import HaikuRAG
|
||||||
# Create custom configuration
|
# Create custom configuration
|
||||||
custom_config = AppConfig(
|
custom_config = AppConfig(
|
||||||
qa={"provider": "openai", "model": "gpt-4o"},
|
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}
|
processing={"chunk_size": 512}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,8 +63,8 @@ def generate_default_config() -> dict:
|
||||||
"lancedb": {"uri": "", "api_key": "", "region": ""},
|
"lancedb": {"uri": "", "api_key": "", "region": ""},
|
||||||
"embeddings": {
|
"embeddings": {
|
||||||
"provider": "ollama",
|
"provider": "ollama",
|
||||||
"model": "qwen3-embedding",
|
"model": "qwen3-embedding:4b",
|
||||||
"vector_dim": 4096,
|
"vector_dim": 2560,
|
||||||
},
|
},
|
||||||
"reranking": {"provider": "", "model": ""},
|
"reranking": {"provider": "", "model": ""},
|
||||||
"qa": {"provider": "ollama", "model": "gpt-oss"},
|
"qa": {"provider": "ollama", "model": "gpt-oss"},
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,8 @@ class LanceDBConfig(BaseModel):
|
||||||
|
|
||||||
class EmbeddingsConfig(BaseModel):
|
class EmbeddingsConfig(BaseModel):
|
||||||
provider: str = "ollama"
|
provider: str = "ollama"
|
||||||
model: str = "qwen3-embedding"
|
model: str = "qwen3-embedding:4b"
|
||||||
vector_dim: int = 4096
|
vector_dim: int = 2560
|
||||||
|
|
||||||
|
|
||||||
class RerankingConfig(BaseModel):
|
class RerankingConfig(BaseModel):
|
||||||
|
|
|
||||||
|
|
@ -44,8 +44,8 @@ def temp_yaml_config(tmp_path, monkeypatch):
|
||||||
},
|
},
|
||||||
"embeddings": {
|
"embeddings": {
|
||||||
"provider": "ollama",
|
"provider": "ollama",
|
||||||
"model": "qwen3-embedding",
|
"model": "qwen3-embedding:4b",
|
||||||
"vector_dim": 4096,
|
"vector_dim": 2560,
|
||||||
},
|
},
|
||||||
"qa": {"provider": "ollama", "model": "gpt-oss"},
|
"qa": {"provider": "ollama", "model": "gpt-oss"},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,7 @@ def test_generate_default_config():
|
||||||
assert "qa" in config
|
assert "qa" in config
|
||||||
assert "providers" in config
|
assert "providers" in config
|
||||||
assert config["embeddings"]["provider"] == "ollama"
|
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):
|
def test_config_precedence_cwd_over_user(tmp_path, monkeypatch):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue