Skip to content

Commit 37135c7

Browse files
committed
fix: make base url as part of params for jina text embedder
1 parent 82b6a1b commit 37135c7

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

integrations/jina/src/haystack_integrations/components/embedders/jina/text_embedder.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ def __init__(
3737
self,
3838
api_key: Secret = Secret.from_env_var("JINA_API_KEY"), # noqa: B008
3939
model: str = "jina-embeddings-v3",
40+
base_url: str = JINA_API_URL,
4041
prefix: str = "",
4142
suffix: str = "",
4243
task: str | None = None,
@@ -68,6 +69,7 @@ def __init__(
6869

6970
self.api_key = api_key
7071
self.model_name = model
72+
self.base_url = base_url
7173
self.prefix = prefix
7274
self.suffix = suffix
7375
self._session = requests.Session()
@@ -98,6 +100,7 @@ def to_dict(self) -> dict[str, Any]:
98100
kwargs: dict[str, Any] = {
99101
"api_key": self.api_key.to_dict(),
100102
"model": self.model_name,
103+
"base_url": self.base_url,
101104
"prefix": self.prefix,
102105
"suffix": self.suffix,
103106
}
@@ -152,7 +155,7 @@ def run(self, text: str) -> dict[str, Any]:
152155
parameters["late_chunking"] = self.late_chunking
153156

154157
resp = self._session.post(
155-
JINA_API_URL,
158+
self.base_url,
156159
json={"input": [text_to_embed], "model": self.model_name, **parameters},
157160
).json()
158161

integrations/jina/tests/test_text_embedder.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,22 @@ def test_init_default(self, monkeypatch):
1919

2020
assert embedder.api_key == Secret.from_env_var("JINA_API_KEY")
2121
assert embedder.model_name == "jina-embeddings-v3"
22+
assert embedder.base_url == "https://api.jina.ai/v1/embeddings"
2223
assert embedder.prefix == ""
2324
assert embedder.suffix == ""
2425

2526
def test_init_with_parameters(self):
2627
embedder = JinaTextEmbedder(
2728
api_key=Secret.from_token("fake-api-key"),
2829
model="model",
30+
base_url="http://api.jina.ai/v1/embeddings",
2931
prefix="prefix",
3032
suffix="suffix",
3133
late_chunking=True,
3234
)
3335
assert embedder.api_key == Secret.from_token("fake-api-key")
3436
assert embedder.model_name == "model"
37+
assert embedder.base_url == "http://api.jina.ai/v1/embeddings"
3538
assert embedder.prefix == "prefix"
3639
assert embedder.suffix == "suffix"
3740
assert embedder.late_chunking is True
@@ -50,6 +53,7 @@ def test_to_dict(self, monkeypatch):
5053
"init_parameters": {
5154
"api_key": {"env_vars": ["JINA_API_KEY"], "strict": True, "type": "env_var"},
5255
"model": "jina-embeddings-v3",
56+
"base_url": "https://api.jina.ai/v1/embeddings",
5357
"prefix": "",
5458
"suffix": "",
5559
},
@@ -59,6 +63,7 @@ def test_to_dict_with_custom_init_parameters(self, monkeypatch):
5963
monkeypatch.setenv("JINA_API_KEY", "fake-api-key")
6064
component = JinaTextEmbedder(
6165
model="model",
66+
base_url="http://api.jina.ai/v1/embeddings",
6267
prefix="prefix",
6368
suffix="suffix",
6469
task="retrieval.query",
@@ -70,6 +75,7 @@ def test_to_dict_with_custom_init_parameters(self, monkeypatch):
7075
"init_parameters": {
7176
"api_key": {"env_vars": ["JINA_API_KEY"], "strict": True, "type": "env_var"},
7277
"model": "model",
78+
"base_url": "http://api.jina.ai/v1/embeddings",
7379
"prefix": "prefix",
7480
"suffix": "suffix",
7581
"task": "retrieval.query",

0 commit comments

Comments
 (0)