Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/docs/advanced/intrinsics.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ Or, with a Granite Switch model via the OpenAI backend:

```python
from mellea.backends.openai import OpenAIBackend
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B_PREVIEW
from mellea.formatters import TemplateFormatter

backend = OpenAIBackend(
model_id=IBM_GRANITE_SWITCH_4_1_3B.hf_model_name,
formatter=TemplateFormatter(model_id=IBM_GRANITE_SWITCH_4_1_3B.hf_model_name),
model_id=IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name,
formatter=TemplateFormatter(model_id=IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name),
base_url="http://localhost:8000/v1", # vLLM server
api_key="EMPTY",
load_embedded_adapters=True,
Expand Down
16 changes: 8 additions & 8 deletions docs/docs/integrations/openai.md
Original file line number Diff line number Diff line change
Expand Up @@ -278,12 +278,12 @@ Then create a backend with `load_embedded_adapters=True`:

```python
from mellea.backends.openai import OpenAIBackend
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B_PREVIEW
from mellea.formatters import TemplateFormatter

backend = OpenAIBackend(
model_id=IBM_GRANITE_SWITCH_4_1_3B.hf_model_name,
formatter=TemplateFormatter(model_id=IBM_GRANITE_SWITCH_4_1_3B.hf_model_name),
model_id=IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name,
formatter=TemplateFormatter(model_id=IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name),
base_url="http://localhost:8000/v1",
api_key="EMPTY",
load_embedded_adapters=True,
Expand All @@ -305,20 +305,20 @@ For more control, load adapters manually with `load_embedded_adapters=False`:
```python
from mellea.backends.adapters.adapter import EmbeddedIntrinsicAdapter
from mellea.backends.openai import OpenAIBackend
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B_PREVIEW
from mellea.formatters import TemplateFormatter

backend = OpenAIBackend(
model_id=IBM_GRANITE_SWITCH_4_1_3B.hf_model_name,
formatter=TemplateFormatter(model_id=IBM_GRANITE_SWITCH_4_1_3B.hf_model_name),
model_id=IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name,
formatter=TemplateFormatter(model_id=IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name),
base_url="http://localhost:8000/v1",
api_key="EMPTY",
load_embedded_adapters=False,
)

# Load a single adapter from the model's HuggingFace repo
adapters = EmbeddedIntrinsicAdapter.from_hub(
IBM_GRANITE_SWITCH_4_1_3B.hf_model_name,
IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name,
intrinsic_name="answerability",
)
for adapter in adapters:
Expand Down Expand Up @@ -347,4 +347,4 @@ local servers, list available models from the server's API or UI.

**See also:** [Backends and Configuration](../how-to/backends-and-configuration) |
[Enforce Structured Output](../how-to/enforce-structured-output) |
[Official Granite Switch Documentation](GRANITE_SWITCH_DOCS)
[Official Granite Switch Documentation](https://github.com/generative-computing/granite-switch)
2 changes: 1 addition & 1 deletion docs/docs/reference/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ See: [Making Agents Reliable](../tutorials/04-making-agents-reliable)

A Granite model variant with LoRA and aLoRA adapters pre-baked into the model weights. When served via vLLM and accessed through `OpenAIBackend` with `load_embedded_adapters=True`, these embedded adapters enable [Intrinsics](../advanced/intrinsics) (RAG quality checks, requirement validation, safety evaluation) without runtime adapter loading. Only intrinsics embedded in the model are available — check the model's `adapter_index.json`.

See: [Official Granite Switch Documentation](GRANITE_SWITCH_DOCS) |
See: [Official Granite Switch Documentation](https://github.com/generative-computing/granite-switch) |
[Intrinsics](../advanced/intrinsics) |
[OpenAI and OpenAI-Compatible APIs](../integrations/openai)

Expand Down
4 changes: 2 additions & 2 deletions docs/examples/granite-switch/answerability_openai.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@
print(f"Skipped: vLLM server not reachable at {VLLM_BASE_URL}", file=sys.stderr)
raise SystemExit(1)

from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B_PREVIEW
from mellea.backends.openai import OpenAIBackend
from mellea.formatters import TemplateFormatter
from mellea.stdlib.components import Document, Message
from mellea.stdlib.components.intrinsic import rag
from mellea.stdlib.context import ChatContext

SWITCH_MODEL_ID = IBM_GRANITE_SWITCH_4_1_3B.hf_model_name
SWITCH_MODEL_ID = IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name
assert SWITCH_MODEL_ID is not None

backend = OpenAIBackend(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@
print(f"Skipped: vLLM server not reachable at {VLLM_BASE_URL}", file=sys.stderr)
raise SystemExit(1)

from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B_PREVIEW
from mellea.backends.openai import OpenAIBackend
from mellea.formatters import TemplateFormatter
from mellea.stdlib.components import Document, Message
from mellea.stdlib.components.intrinsic import rag
from mellea.stdlib.context import ChatContext

SWITCH_MODEL_ID = IBM_GRANITE_SWITCH_4_1_3B.hf_model_name
SWITCH_MODEL_ID = IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name
assert SWITCH_MODEL_ID is not None

backend = OpenAIBackend(
Expand Down
4 changes: 2 additions & 2 deletions docs/examples/granite-switch/manual_adapter_loading.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@
raise SystemExit(1)

from mellea.backends.adapters.adapter import EmbeddedIntrinsicAdapter
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B_PREVIEW
from mellea.backends.openai import OpenAIBackend
from mellea.formatters import TemplateFormatter
from mellea.stdlib.components import Document, Message
from mellea.stdlib.components.intrinsic import rag
from mellea.stdlib.context import ChatContext

SWITCH_MODEL_ID = IBM_GRANITE_SWITCH_4_1_3B.hf_model_name
SWITCH_MODEL_ID = IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name
assert SWITCH_MODEL_ID is not None

# Create the backend WITHOUT auto-loading adapters.
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/intrinsics/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ out, new_ctx = mfuncs.act(
OpenAIBackends also support a type of embedded adapter for Granite Switch models:
```python
backend = OpenAIBackend(
model_id=IBM_GRANITE_SWITCH_4_1_3B.hf_model_name,
model_id=IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name,
load_embedded_adapters=True, # Auto-loads adapters from huggingface repo.
...
)
Expand Down
6 changes: 3 additions & 3 deletions docs/examples/intrinsics/intrinsics.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
# Requires the adapter for this intrinsic to be embedded in the Granite Switch
# model. See docs/examples/granite-switch/ for a full runnable example.
# from mellea.backends.openai import OpenAIBackend
# from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B
# from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B_PREVIEW
# from mellea.formatters import TemplateFormatter
#
# backend = OpenAIBackend(
# model_id=IBM_GRANITE_SWITCH_4_1_3B.hf_model_name,
# formatter=TemplateFormatter(model_id=IBM_GRANITE_SWITCH_4_1_3B.hf_model_name),
# model_id=IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name,
# formatter=TemplateFormatter(model_id=IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name),
# base_url="http://localhost:8000/v1", # vLLM server URL
# api_key="EMPTY",
# load_embedded_adapters=True,
Expand Down
16 changes: 13 additions & 3 deletions mellea/backends/model_ids.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,20 @@ class ModelIdentifier:
)

# Pre-Built Granite Switch Models
IBM_GRANITE_SWITCH_4_1_3B = ModelIdentifier(
hf_model_name="GrizleeBer/gs-test-1" # TODO: Placeholder. Change this value.
IBM_GRANITE_SWITCH_4_1_3B_PREVIEW = ModelIdentifier(
hf_model_name="ibm-granite/granite-switch-4.1-3b-preview"
)
"""Granite Switch.""" # Document what adapters are included by default here.
"""Granite Switch Preview Model. Adapters: `citations`, `query_rewrite`, `query_clarification`, `hallucination_detection`, `answerability`, `policy-guardrails`, `guardian-core`, `uncertainty`, `requirement-check`, `context-attribution`, `factuality-detection`, `factuality-correction`.""" # Document what adapters are included by default here.

IBM_GRANITE_SWITCH_4_1_8B_PREVIEW = ModelIdentifier(
hf_model_name="ibm-granite/granite-switch-4.1-8b-preview"
)
"""Granite Switch Preview Model. Adapters: `citations`, `query_rewrite`, `query_clarification`, `hallucination_detection`, `answerability`, `policy-guardrails`, `guardian-core`, `uncertainty`, `requirement-check`, `context-attribution`, `factuality-detection`, `factuality-correction`.""" # Document what adapters are included by default here.

IBM_GRANITE_SWITCH_4_1_30B_PREVIEW = ModelIdentifier(
hf_model_name="ibm-granite/granite-switch-4.1-30b-preview"
)
"""Granite Switch Preview Model. Adapters: `citations`, `query_rewrite`, `query_clarification`, `hallucination_detection`, `answerability`, `policy-guardrails`, `guardian-core`, `uncertainty`, `requirement-check`, `context-attribution`, `factuality-detection`, `factuality-correction`.""" # Document what adapters are included by default here.

#####################
#### Meta models ####
Expand Down
4 changes: 2 additions & 2 deletions test/backends/test_openai_intrinsics.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
# ---------------------------------------------------------------------------
# Imports (after markers so collection-time skips fire first)
# ---------------------------------------------------------------------------
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B
from mellea.backends.model_ids import IBM_GRANITE_SWITCH_4_1_3B_PREVIEW
from mellea.backends.openai import OpenAIBackend
from mellea.formatters import TemplateFormatter
from mellea.stdlib import functional as mfuncs
Expand All @@ -54,7 +54,7 @@
# Configuration
# ---------------------------------------------------------------------------
SWITCH_MODEL_ID = os.environ.get(
"GRANITE_SWITCH_MODEL_ID", IBM_GRANITE_SWITCH_4_1_3B.hf_model_name
"GRANITE_SWITCH_MODEL_ID", IBM_GRANITE_SWITCH_4_1_3B_PREVIEW.hf_model_name
)


Expand Down
Loading