Rename EMBDEDDING->EMBEDDINGS in env vars
This commit is contained in:
parent
d89b2f1306
commit
943cf3c5e0
7 changed files with 26 additions and 26 deletions
18
README.md
18
README.md
|
|
@ -27,24 +27,24 @@ If you want to use an alternative embeddings provider (Ollama being the default)
|
||||||
By default:
|
By default:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
EMBEDDING_PROVIDER="ollama"
|
EMBEDDINGS_PROVIDER="ollama"
|
||||||
EMBEDDING_MODEL="mxbai-embed-large" # or any other model
|
EMBEDDINGS_MODEL="mxbai-embed-large" # or any other model
|
||||||
EMBEDDING_VECTOR_DIM=1024
|
EMBEDDINGS_VECTOR_DIM=1024
|
||||||
```
|
```
|
||||||
|
|
||||||
For VoyageAI:
|
For VoyageAI:
|
||||||
```bash
|
```bash
|
||||||
EMBEDDING_PROVIDER="voyageai"
|
EMBEDDINGS_PROVIDER="voyageai"
|
||||||
EMBEDDING_MODEL="voyage-3.5" # or any other model
|
EMBEDDINGS_MODEL="voyage-3.5" # or any other model
|
||||||
EMBEDDING_VECTOR_DIM=1024
|
EMBEDDINGS_VECTOR_DIM=1024
|
||||||
VOYAGE_API_KEY="your-api-key"
|
VOYAGE_API_KEY="your-api-key"
|
||||||
```
|
```
|
||||||
|
|
||||||
For OpenAI:
|
For OpenAI:
|
||||||
```bash
|
```bash
|
||||||
EMBEDDING_PROVIDER="openai"
|
EMBEDDINGS_PROVIDER="openai"
|
||||||
EMBEDDING_MODEL="text-embedding-3-small" # or text-embedding-3-large
|
EMBEDDINGS_MODEL="text-embedding-3-small" # or text-embedding-3-large
|
||||||
EMBEDDING_VECTOR_DIM=1536
|
EMBEDDINGS_VECTOR_DIM=1536
|
||||||
OPENAI_API_KEY="your-api-key"
|
OPENAI_API_KEY="your-api-key"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,9 @@ class AppConfig(BaseModel):
|
||||||
|
|
||||||
DEFAULT_DATA_DIR: Path = get_default_data_dir()
|
DEFAULT_DATA_DIR: Path = get_default_data_dir()
|
||||||
|
|
||||||
EMBEDDING_PROVIDER: str = "ollama"
|
EMBEDDINGS_PROVIDER: str = "ollama"
|
||||||
EMBEDDING_MODEL: str = "mxbai-embed-large"
|
EMBEDDINGS_MODEL: str = "mxbai-embed-large"
|
||||||
EMBEDDING_VECTOR_DIM: int = 1024
|
EMBEDDINGS_VECTOR_DIM: int = 1024
|
||||||
|
|
||||||
CHUNK_SIZE: int = 256
|
CHUNK_SIZE: int = 256
|
||||||
CHUNK_OVERLAP: int = 32
|
CHUNK_OVERLAP: int = 32
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,10 @@ def get_embedder() -> EmbedderBase:
|
||||||
Factory function to get the appropriate embedder based on the configuration.
|
Factory function to get the appropriate embedder based on the configuration.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if Config.EMBEDDING_PROVIDER == "ollama":
|
if Config.EMBEDDINGS_PROVIDER == "ollama":
|
||||||
return OllamaEmbedder(Config.EMBEDDING_MODEL, Config.EMBEDDING_VECTOR_DIM)
|
return OllamaEmbedder(Config.EMBEDDINGS_MODEL, Config.EMBEDDINGS_VECTOR_DIM)
|
||||||
|
|
||||||
if Config.EMBEDDING_PROVIDER == "voyageai":
|
if Config.EMBEDDINGS_PROVIDER == "voyageai":
|
||||||
try:
|
try:
|
||||||
from haiku.rag.embeddings.voyageai import Embedder as VoyageAIEmbedder
|
from haiku.rag.embeddings.voyageai import Embedder as VoyageAIEmbedder
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
|
@ -20,9 +20,9 @@ def get_embedder() -> EmbedderBase:
|
||||||
"Please install haiku.rag with the 'voyageai' extra:"
|
"Please install haiku.rag with the 'voyageai' extra:"
|
||||||
"uv pip install haiku.rag --extra voyageai"
|
"uv pip install haiku.rag --extra voyageai"
|
||||||
)
|
)
|
||||||
return VoyageAIEmbedder(Config.EMBEDDING_MODEL, Config.EMBEDDING_VECTOR_DIM)
|
return VoyageAIEmbedder(Config.EMBEDDINGS_MODEL, Config.EMBEDDINGS_VECTOR_DIM)
|
||||||
|
|
||||||
if Config.EMBEDDING_PROVIDER == "openai":
|
if Config.EMBEDDINGS_PROVIDER == "openai":
|
||||||
try:
|
try:
|
||||||
from haiku.rag.embeddings.openai import Embedder as OpenAIEmbedder
|
from haiku.rag.embeddings.openai import Embedder as OpenAIEmbedder
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
|
@ -31,6 +31,6 @@ def get_embedder() -> EmbedderBase:
|
||||||
"Please install haiku.rag with the 'openai' extra:"
|
"Please install haiku.rag with the 'openai' extra:"
|
||||||
"uv pip install haiku.rag --extra openai"
|
"uv pip install haiku.rag --extra openai"
|
||||||
)
|
)
|
||||||
return OpenAIEmbedder(Config.EMBEDDING_MODEL, Config.EMBEDDING_VECTOR_DIM)
|
return OpenAIEmbedder(Config.EMBEDDINGS_MODEL, Config.EMBEDDINGS_VECTOR_DIM)
|
||||||
|
|
||||||
raise ValueError(f"Unsupported embedding provider: {Config.EMBEDDING_PROVIDER}")
|
raise ValueError(f"Unsupported embedding provider: {Config.EMBEDDINGS_PROVIDER}")
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ from haiku.rag.embeddings.base import EmbedderBase
|
||||||
|
|
||||||
|
|
||||||
class Embedder(EmbedderBase):
|
class Embedder(EmbedderBase):
|
||||||
_model: str = Config.EMBEDDING_MODEL
|
_model: str = Config.EMBEDDINGS_MODEL
|
||||||
_vector_dim: int = 1024
|
_vector_dim: int = 1024
|
||||||
|
|
||||||
async def embed(self, text: str) -> list[float]:
|
async def embed(self, text: str) -> list[float]:
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ try:
|
||||||
from haiku.rag.embeddings.base import EmbedderBase
|
from haiku.rag.embeddings.base import EmbedderBase
|
||||||
|
|
||||||
class Embedder(EmbedderBase):
|
class Embedder(EmbedderBase):
|
||||||
_model: str = Config.EMBEDDING_MODEL
|
_model: str = Config.EMBEDDINGS_MODEL
|
||||||
_vector_dim: int = 1536
|
_vector_dim: int = 1536
|
||||||
|
|
||||||
async def embed(self, text: str) -> list[float]:
|
async def embed(self, text: str) -> list[float]:
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ try:
|
||||||
from haiku.rag.embeddings.base import EmbedderBase
|
from haiku.rag.embeddings.base import EmbedderBase
|
||||||
|
|
||||||
class Embedder(EmbedderBase):
|
class Embedder(EmbedderBase):
|
||||||
_model: str = Config.EMBEDDING_MODEL
|
_model: str = Config.EMBEDDINGS_MODEL
|
||||||
_vector_dim: int = 1024
|
_vector_dim: int = 1024
|
||||||
|
|
||||||
async def embed(self, text: str) -> list[float]:
|
async def embed(self, text: str) -> list[float]:
|
||||||
|
|
|
||||||
|
|
@ -50,8 +50,8 @@ async def test_similarity():
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_openai_embedder(monkeypatch):
|
async def test_openai_embedder(monkeypatch):
|
||||||
monkeypatch.setenv("EMBEDDING_PROVIDER", "openai")
|
monkeypatch.setenv("EMBEDDINGS_PROVIDER", "openai")
|
||||||
monkeypatch.setenv("EMBEDDING_MODEL", "text-embedding-3-small")
|
monkeypatch.setenv("EMBEDDINGS_MODEL", "text-embedding-3-small")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from haiku.rag.embeddings.openai import Embedder as OpenAIEmbedder
|
from haiku.rag.embeddings.openai import Embedder as OpenAIEmbedder
|
||||||
|
|
@ -94,8 +94,8 @@ async def test_openai_embedder(monkeypatch):
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_voyageai_embedder(monkeypatch):
|
async def test_voyageai_embedder(monkeypatch):
|
||||||
monkeypatch.setenv("EMBEDDING_PROVIDER", "voyageai")
|
monkeypatch.setenv("EMBEDDINGS_PROVIDER", "voyageai")
|
||||||
monkeypatch.setenv("EMBEDDING_MODEL", "voyage-3.5")
|
monkeypatch.setenv("EMBEDDINGS_MODEL", "voyage-3.5")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from haiku.rag.embeddings.voyageai import Embedder as VoyageAIEmbedder
|
from haiku.rag.embeddings.voyageai import Embedder as VoyageAIEmbedder
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue