From ac9908b8789cad7b70be1f98b8f047bfe868052f Mon Sep 17 00:00:00 2001 From: Jake LoRocco Date: Mon, 4 May 2026 12:12:51 -0400 Subject: [PATCH] docs: add architecture diagram for intrinsics Signed-off-by: Jake LoRocco --- docs/docs/advanced/intrinsics.md | 1 + .../granite-libraries-mellea-architecture.png | Bin 0 -> 129683 bytes docs/examples/granite-switch/README.md | 12 +- docs/examples/intrinsics/README.md | 111 ++++++------------ docs/examples/intrinsics/context_relevance.py | 2 +- 5 files changed, 42 insertions(+), 84 deletions(-) create mode 100644 docs/docs/images/granite-libraries-mellea-architecture.png diff --git a/docs/docs/advanced/intrinsics.md b/docs/docs/advanced/intrinsics.md index 317295cb7..a57d1a12a 100644 --- a/docs/docs/advanced/intrinsics.md +++ b/docs/docs/advanced/intrinsics.md @@ -19,6 +19,7 @@ reliable than prompting a general-purpose model for these specialized micro-task > - **OpenAIBackend** — uses a Granite Switch model served via vLLM with > `load_embedded_adapters=True`. Only intrinsics embedded in the model are > available — check the model's `adapter_index.json` for the list. +> See `docs/docs/examples/granite-switch/README.md` > > Intrinsics do not work with Ollama or other remote backends. diff --git a/docs/docs/images/granite-libraries-mellea-architecture.png b/docs/docs/images/granite-libraries-mellea-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..6bd441b2dbe32f404e70489961e2d31259bf633c GIT binary patch literal 129683 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/examples/granite-switch/README.md b/docs/examples/granite-switch/README.md index 30f4bfece..483daea35 100644 --- a/docs/examples/granite-switch/README.md +++ b/docs/examples/granite-switch/README.md @@ -26,11 +26,7 @@ python -m vllm.entrypoints.openai.api_server \ ## Available adapters -Not all intrinsics are embedded in every Granite Switch model. Check the model's -`adapter_index.json` for the list of available adapters. The current model -includes: `answerability`, `citations`, `context_relevance`, `guardian-core`, -`hallucination_detection`, `query_clarification`, `query_rewrite`, and -`requirement-check`. +Not all intrinsics are embedded in every Granite Switch model. You should check the model's `adapter_index.json` file for a definitive list. For granite switch models pre-built by IBM, we include a list of models in the Mellea `model_id`. ## Files @@ -52,7 +48,11 @@ Shows how to manually load embedded adapters using you only need a subset of adapters or want more control over adapter registration. +## Architecture +![Granite Libraries Software Stack Architecture in Mellea](../../docs/images/granite-libraries-mellea-architecture.png) + ## Related - [`../intrinsics/`](../intrinsics/) — the same intrinsics using `LocalHFBackend` -- [Intrinsics documentation](../../docs/docs/advanced/intrinsics.md) +- [Intrinsics Documentation](../../docs/docs/advanced/intrinsics.md) +- [Official Granite Switch Documentation](https://github.com/generative-computing/granite-switch) \ No newline at end of file diff --git a/docs/examples/intrinsics/README.md b/docs/examples/intrinsics/README.md index bf50c914b..b6048c3a4 100644 --- a/docs/examples/intrinsics/README.md +++ b/docs/examples/intrinsics/README.md @@ -2,54 +2,6 @@ This directory contains examples for using Mellea's intrinsic functions - specialized model capabilities accessed through adapters. -## Files - -### intrinsics.py -Core example showing how to directly use intrinsics with adapters. - -**Key Features:** -- Creating and adding adapters to backends -- Using `Intrinsic` component for specialized tasks -- Working with Granite Common adapters (aLoRA-based) -- Understanding adapter output formats - -### answerability.py -Checks if a question can be answered given the context. - -### citations.py -Validates and extracts citations from generated text. - -### context_relevance.py -Assesses if retrieved context is relevant to a query. - -### hallucination_detection.py -Detects when model outputs contain hallucinated information. - -### query_rewrite.py -Rewrites queries for better retrieval or understanding. - -### uncertainty.py -Estimates the model's certainty about answering a question. - -### requirement_check.py -Detect if text adheres to provided requirements. - -### policy_guardrails.py -Checks if a scenario is compliant/non-compliant/ambiguous with respect to a given policy, - -### guardian_core.py -Uses the guardian-core LoRA adapter for safety risk detection, including prompt-level harm, response-level social bias, RAG groundedness, and custom criteria. - -### factuality_detection.py -Detects if the the model's output is factually incorrect relative to context. - -### factuality_correction.py -Corrects a factually incorrect response relative to context. - -### context_attribution.py -Identifies sentences in conversation history and documents that most influenced the response. - - ## Concepts Demonstrated - **Intrinsic Functions**: Specialized model capabilities beyond text generation @@ -61,25 +13,20 @@ Identifies sentences in conversation history and documents that most influenced ## Basic Usage ```python -from mellea.backends.huggingface import LocalHFBackend -from mellea.backends.adapters.adapter import IntrinsicAdapter -from mellea.stdlib.components import Intrinsic -import mellea.stdlib.functional as mfuncs +from mellea import model_ids, start_backend +from mellea.stdlib import functional as mfuncs +from mellea.stdlib.components.intrinsic import core -# Create backend and adapter -backend = LocalHFBackend(model_id="ibm-granite/granite-4.0-micro") -adapter = IntrinsicAdapter("requirement_check", - base_model_name=backend.base_model_name) -backend.add_adapter(adapter) - -# Use intrinsic -out, new_ctx = mfuncs.act( - Intrinsic( - "requirement_check", - intrinsic_kwargs={"requirement": "The assistant is helpful."}), - ctx, - backend +ctx, backend = start_backend( + "hf", model_id=model_ids.IBM_GRANITE_4_1_3B, context_type="chat" ) + +response, ctx = mfuncs.chat("What is 2 + 2?", ctx, backend) +print(f"Response: {response.content}") + +# NOTE: There are additional functions for other intrinsics as well. +result = core.check_certainty(ctx, backend) +print(f"Certainty score: {result}") ``` OpenAIBackends also support a type of embedded adapter for Granite Switch models: @@ -89,8 +36,15 @@ backend = OpenAIBackend( load_embedded_adapters=True, # Auto-loads adapters from huggingface repo. ... ) +``` + +The underlying intrinsics can also be utilized directly when generating: +```python +from mellea.stdlib.components import Intrinsic +import mellea.stdlib.functional as mfuncs + +... -# Assumes the model has the `requirement_check` adapter embedded. out, new_ctx = mfuncs.act( Intrinsic( "requirement_check", @@ -103,29 +57,32 @@ out, new_ctx = mfuncs.act( For complete runnable examples using the OpenAI backend with Granite Switch, see [`../granite-switch/`](../granite-switch/). -> **Note:** Not all intrinsics are embedded in every Granite Switch model. The -> current model includes: `answerability`, `citations`, `context_relevance`, -> `guardian-core`, `hallucination_detection`, `query_clarification`, -> `query_rewrite`, and `requirement-check`. Check the model's -> `adapter_index.json` for the full list. +> **Note:** Not all intrinsics are embedded in every Granite Switch model. You should check +> the model's `adapter_index.json` file for a definitive list. For granite switch models +> pre-built by IBM, we include a list of models in the Mellea `model_id`. ## Available Intrinsics -- **requirement_check**: Validate requirements (used by ALoraRequirement) - **answerability**: Determine if question is answerable - **citations**: Extract and validate citations +- **context-attribution**: Identify context sentences that most influenced response - **context_relevance**: Assess context-query relevance +- **factuality_correction**: Correct factually incorrect responses +- **factuality_detection**: Detect factually incorrect responses +- **guardian-core**: Safety risk detection (harm, bias, groundedness, custom criteria) - **hallucination_detection**: Detect hallucinated content +- **policy_guardrails**: Determine if scenario complies with policy +- **query_clarification**: Generate a clarification request if needed, otherwise "CLEAR". - **query_rewrite**: Improve query formulation +- **requirement_check**: Validate requirements (used by ALoraRequirement) - **uncertainty**: Estimate certainty about answering a question -- **policy_guardrails**: Determine if scenario complies with policy -- **guardian-core**: Safety risk detection (harm, bias, groundedness, custom criteria) -- **factuality_detection**: Detect factually incorrect responses -- **factuality_correction**: Correct factually incorrect responses -- **context-attribution**: Identify context sentences that most influenced response + +## Architecture +![Granite Libraries Software Stack Architecture in Mellea](../../docs/images/granite-libraries-mellea-architecture.png) ## Related Documentation - See `mellea/stdlib/components/intrinsic/` for intrinsic implementations - See `mellea/backends/adapters/` for adapter system - See `docs/dev/intrinsics_and_adapters.md` for architecture details +- See `docs/docs/examples/granite-switch/README.md` for more about granite-switch \ No newline at end of file diff --git a/docs/examples/intrinsics/context_relevance.py b/docs/examples/intrinsics/context_relevance.py index 2080f8141..bd6bfd7d2 100644 --- a/docs/examples/intrinsics/context_relevance.py +++ b/docs/examples/intrinsics/context_relevance.py @@ -14,7 +14,7 @@ ctx, backend = start_backend( "hf", model_id=model_ids.IBM_GRANITE_4_MICRO_3B, context_type="chat" ) -# NOTE: this example uses Granite 4.0 micro because there is no context_relevance intrinsic for Graniet 4.1 +# NOTE: this example uses Granite 4.0 micro because there is no context_relevance intrinsic for Granite 4.1 question = "Who is the CEO of Microsoft?" document = (