Skip to content

Commit dbca1e3

Browse files
authored
feat: Add list of supported models for StackIT components (#2962)
* Add list of supported models for StackIT components * Update docstring description for embedding components
1 parent ccb86c8 commit dbca1e3

6 files changed

Lines changed: 53 additions & 3 deletions

File tree

integrations/stackit/src/haystack_integrations/components/embedders/stackit/document_embedder.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-FileCopyrightText: 2023-present deepset GmbH <info@deepset.ai>
22
#
33
# SPDX-License-Identifier: Apache-2.0
4-
from typing import Any
4+
from typing import Any, ClassVar
55

66
from haystack import component, default_to_dict
77
from haystack.components.embedders import OpenAIDocumentEmbedder
@@ -30,6 +30,14 @@ class STACKITDocumentEmbedder(OpenAIDocumentEmbedder):
3030
```
3131
"""
3232

33+
SUPPORTED_MODELS: ClassVar[list[str]] = [
34+
"intfloat/e5-mistral-7b-instruct",
35+
"Qwen/Qwen3-VL-Embedding-8B",
36+
]
37+
"""A non-exhaustive list of embedding models supported by this component.
38+
See https://docs.stackit.cloud/products/data-and-ai/ai-model-serving/basics/available-shared-models
39+
for the full list."""
40+
3341
def __init__(
3442
self,
3543
model: str,

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-FileCopyrightText: 2023-present deepset GmbH <info@deepset.ai>
22
#
33
# SPDX-License-Identifier: Apache-2.0
4-
from typing import Any
4+
from typing import Any, ClassVar
55

66
from haystack import component, default_to_dict
77
from haystack.components.embedders import OpenAITextEmbedder
@@ -23,6 +23,14 @@ class STACKITTextEmbedder(OpenAITextEmbedder):
2323
```
2424
"""
2525

26+
SUPPORTED_MODELS: ClassVar[list[str]] = [
27+
"intfloat/e5-mistral-7b-instruct",
28+
"Qwen/Qwen3-VL-Embedding-8B",
29+
]
30+
"""A non-exhaustive list of embedding models supported by this component.
31+
See https://docs.stackit.cloud/products/data-and-ai/ai-model-serving/basics/available-shared-models
32+
for the full list."""
33+
2634
def __init__(
2735
self,
2836
model: str,

integrations/stackit/src/haystack_integrations/components/generators/stackit/chat/chat_generator.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-FileCopyrightText: 2025-present deepset GmbH <info@deepset.ai>
22
#
33
# SPDX-License-Identifier: Apache-2.0
4-
from typing import Any
4+
from typing import Any, ClassVar
55

66
from haystack import component, default_to_dict
77
from haystack.components.generators.chat import OpenAIChatGenerator
@@ -38,6 +38,19 @@ class STACKITChatGenerator(OpenAIChatGenerator):
3838
```
3939
"""
4040

41+
SUPPORTED_MODELS: ClassVar[list[str]] = [
42+
"Qwen/Qwen3-VL-235B-A22B-Instruct-FP8",
43+
"cortecs/Llama-3.3-70B-Instruct-FP8-Dynamic",
44+
"openai/gpt-oss-120b",
45+
"google/gemma-3-27b-it",
46+
"openai/gpt-oss-20b",
47+
"neuralmagic/Mistral-Nemo-Instruct-2407-FP8",
48+
"neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8",
49+
]
50+
"""A non-exhaustive list of chat models supported by this component.
51+
See https://docs.stackit.cloud/products/data-and-ai/ai-model-serving/basics/available-shared-models
52+
for the full list."""
53+
4154
def __init__(
4255
self,
4356
model: str,

integrations/stackit/tests/test_stackit_chat_generator.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,13 @@ def mock_chat_completion():
6363

6464

6565
class TestSTACKITChatGenerator:
66+
def test_supported_models(self):
67+
"""SUPPORTED_MODELS is a non-empty list of strings."""
68+
models = STACKITChatGenerator.SUPPORTED_MODELS
69+
assert isinstance(models, list)
70+
assert len(models) > 0
71+
assert all(isinstance(m, str) for m in models)
72+
6673
def test_init_default(self, monkeypatch):
6774
monkeypatch.setenv("STACKIT_API_KEY", "test-api-key")
6875
component = STACKITChatGenerator(model="neuralmagic/Meta-Llama-3.1-8B-Instruct-FP8")

integrations/stackit/tests/test_stackit_document_embedder.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@
1111

1212

1313
class TestSTACKITDocumentEmbedder:
14+
def test_supported_models(self):
15+
"""SUPPORTED_MODELS is a non-empty list of strings."""
16+
models = STACKITDocumentEmbedder.SUPPORTED_MODELS
17+
assert isinstance(models, list)
18+
assert len(models) > 0
19+
assert all(isinstance(m, str) for m in models)
20+
1421
def test_init_default(self, monkeypatch):
1522
monkeypatch.setenv("STACKIT_API_KEY", "test-api-key")
1623

integrations/stackit/tests/test_stackit_text_embedder.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@
1010

1111

1212
class TestSTACKITTextEmbedder:
13+
def test_supported_models(self):
14+
"""SUPPORTED_MODELS is a non-empty list of strings."""
15+
models = STACKITTextEmbedder.SUPPORTED_MODELS
16+
assert isinstance(models, list)
17+
assert len(models) > 0
18+
assert all(isinstance(m, str) for m in models)
19+
1320
def test_init_default(self, monkeypatch):
1421
monkeypatch.setenv("STACKIT_API_KEY", "test-api-key")
1522

0 commit comments

Comments
 (0)