PageSourceSearch

https://docs.mellea.ai/assets/js/45775af2.86755a10.js

js mellea.ai collected 2026-09-25 20:42:34 UTC 63,093 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkmellea_docs=globalThis.webpackChunkmellea_docs||[]).push([[9166],{92926(e){e.exports=JSON.parse('{"version":{"pluginId":"default","version":"0.7.0","label":"0.7.0","banner":"unmaintained","badge":true,"noIndex":false,"className":"docs-version-0.7.0","isLast":false,"docsSidebars":{"docsSidebar":[{"type":"category","label":"Getting Started","items":[{"type":"link","href":"/0.7.0/getting-started/installation","label":"Installation","docId":"getting-started/installation","unlisted":false},{"type":"link","href":"/0.7.0/getting-started/quickstart","label":"Quick Start","docId":"getting-started/quickstart","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Tutorials","items":[{"type":"link","href":"/0.7.0/tutorials/your-first-generative-program","label":"Tutorial: Your First Generative Program","docId":"tutorials/your-first-generative-program","unlisted":false},{"type":"link","href":"/0.7.0/tutorials/streaming-and-async","label":"Tutorial: Streaming and Async","docId":"tutorials/streaming-and-async","unlisted":false},{"type":"link","href":"/0.7.0/tutorials/using-generative-stubs","label":"Tutorial: Using Generative Stubs","docId":"tutorials/using-generative-stubs","unlisted":false},{"type":"link","href":"/0.7.0/tutorials/making-agents-reliable","label":"Tutorial: Making Agents Reliable","docId":"tutorials/making-agents-reliable","unlisted":false},{"type":"link","href":"/0.7.0/tutorials/mifying-legacy-code","label":"Tutorial: Mifying Legacy Code","docId":"tutorials/mifying-legacy-code","unlisted":false},{"type":"link","href":"/0.7.0/tutorials/streaming-validation","label":"Tutorial: Streaming Validation","docId":"tutorials/streaming-validation","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Concepts","items":[{"type":"link","href":"/0.7.0/concepts/generative-programming","label":"Generative Programming","docId":"concepts/generative-programming","unlisted":false},{"type":"link","href":"/0.7.0/concepts/generative-functions","label":"Generative Functions","docId":"concepts/generative-functions","unlisted":false},{"type":"link","href":"/0.7.0/concepts/instruct-validate-repair","label":"The Instruction Model","docId":"concepts/instruct-validate-repair","unlisted":false},{"type":"link","href":"/0.7.0/concepts/requirements-system","label":"The Requirements System","docId":"concepts/requirements-system","unlisted":false},{"type":"link","href":"/0.7.0/concepts/architecture-vs-agents","label":"Mellea vs Orchestration Frameworks","docId":"concepts/architecture-vs-agents","unlisted":false},{"type":"link","href":"/0.7.0/concepts/context-and-sessions","label":"Context and Sessions","docId":"concepts/context-and-sessions","unlisted":false},{"type":"link","href":"/0.7.0/concepts/mobjects-and-mify","label":"MObjects and mify","docId":"concepts/mobjects-and-mify","unlisted":false},{"type":"link","href":"/0.7.0/concepts/plugins","label":"Plugins & Hooks","docId":"concepts/plugins","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"How-To","items":[{"type":"link","href":"/0.7.0/how-to/generative-functions","label":"Generative Functions","docId":"how-to/generative-functions","unlisted":false},{"type":"link","href":"/0.7.0/how-to/tools-and-agents","label":"Tools and Agents","docId":"how-to/tools-and-agents","unlisted":false},{"type":"link","href":"/0.7.0/how-to/working-with-data","label":"Working with Data","docId":"how-to/working-with-data","unlisted":false},{"type":"link","href":"/0.7.0/how-to/backends-and-configuration","label":"Backends and Configuration","docId":"how-to/backends-and-configuration","unlisted":false},{"type":"link","href":"/0.7.0/how-to/act-and-aact","label":"act() and aact()","docId":"how-to/act-and-aact","unlisted":false},{"type":"link","href":"/0.7.0/how-to/m-decompose","label":"m decompose","docId":"how-to/m-decompose","unlisted":false},{"type":"link","href":"/0.7.0/how-to/use-async-and-streaming","label":"Async and Streaming","docId":"how-to/use-async-and-streaming","unlisted":false},{"type":"link","href":"/0.7.0/how-to/use-context-and-sessions","label":"Extending Sessions","docId":"how-to/use-context-and-sessions","unlisted":false},{"type":"link","href":"/0.7.0/how-to/enforce-structured-output","label":"Enfor
1ce Structured Output","docId":"how-to/enforce-structured-output","unlisted":false},{"type":"link","href":"/0.7.0/how-to/write-custom-verifiers","label":"Write Custom Verifiers","docId":"how-to/write-custom-verifiers","unlisted":false},{"type":"link","href":"/0.7.0/how-to/evaluate-with-llm-as-a-judge","label":"Evaluate with LLM-as-a-Judge","docId":"how-to/evaluate-with-llm-as-a-judge","unlisted":false},{"type":"link","href":"/0.7.0/how-to/configure-model-options","label":"Configure model options","docId":"how-to/configure-model-options","unlisted":false},{"type":"link","href":"/0.7.0/how-to/use-images-and-vision","label":"Use Images and Vision Models","docId":"how-to/use-images-and-vision","unlisted":false},{"type":"link","href":"/0.7.0/how-to/build-a-rag-pipeline","label":"Build a RAG Pipeline","docId":"how-to/build-a-rag-pipeline","unlisted":false},{"type":"link","href":"/0.7.0/how-to/safety-guardrails","label":"Safety Guardrails","docId":"how-to/safety-guardrails","unlisted":false},{"type":"link","href":"/0.7.0/how-to/refactor-prompts-with-cli","label":"Refactor with m decompose","docId":"how-to/refactor-prompts-with-cli","unlisted":false},{"type":"link","href":"/0.7.0/how-to/unit-test-generative-code","label":"Unit Test Generative Code","docId":"how-to/unit-test-generative-code","unlisted":false},{"type":"link","href":"/0.7.0/how-to/handling-exceptions","label":"Handling Exceptions and Failures","docId":"how-to/handling-exceptions","unlisted":false},{"type":"link","href":"/0.7.0/how-to/debug-with-plugins","label":"Debug with Plugins","docId":"how-to/debug-with-plugins","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Examples","items":[{"type":"link","href":"/0.7.0/examples/","label":"Examples","docId":"examples/index","unlisted":false},{"type":"link","href":"/0.7.0/examples/data-extraction-pipeline","label":"Data Extraction Pipeline","docId":"examples/data-extraction-pipeline","unlisted":false},{"type":"link","href":"/0.7.0/examples/legacy-code-integration","label":"Legacy Code Integration with @mify","docId":"examples/legacy-code-integration","unlisted":false},{"type":"link","href":"/0.7.0/examples/resilient-rag-fallback","label":"Resilient RAG with Fallback Filtering","docId":"examples/resilient-rag-fallback","unlisted":false},{"type":"link","href":"/0.7.0/examples/traced-generation-loop","label":"Traced Generation Loop","docId":"examples/traced-generation-loop","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Integrations","items":[{"type":"link","href":"/0.7.0/integrations/ollama","label":"Ollama","docId":"integrations/ollama","unlisted":false},{"type":"link","href":"/0.7.0/integrations/huggingface","label":"Hugging Face Transformers","docId":"integrations/huggingface","unlisted":false},{"type":"link","href":"/0.7.0/integrations/openai","label":"OpenAI and OpenAI-Compatible APIs","docId":"integrations/openai","unlisted":false},{"type":"link","href":"/0.7.0/integrations/vertex-ai","label":"Vertex AI","docId":"integrations/vertex-ai","unlisted":false},{"type":"link","href":"/0.7.0/integrations/bedrock","label":"AWS Bedrock","docId":"integrations/bedrock","unlisted":false},{"type":"link","href":"/0.7.0/integrations/watsonx","label":"IBM WatsonX","docId":"integrations/watsonx","unlisted":false},{"type":"link","href":"/0.7.0/integrations/mcp","label":"MCP Integration","docId":"integrations/mcp","unlisted":false},{"type":"link","href":"/0.7.0/integrations/langchain","label":"LangChain","docId":"integrations/langchain","unlisted":false},{"type":"link","href":"/0.7.0/integrations/smolagents","label":"smolagents","docId":"integrations/smolagents","unlisted":false},{"type":"link","href":"/0.7.0/integrations/m-serve","label":"m serve","docId":"integrations/m-serve","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Observability","items":[{"type":"link","href":"/0.7.0/observability/telemetry","label":"Telemetry","docId":"observability/telemetry","unlisted":false},{"type":"link","href":"/0.7.0/observability/tracing","label":"Tracing","docId":"observability/tracing","unlisted":false},{"type":"link","href":"/0.7.0/observability/metrics","label":"Metrics","docId":"observability/metrics","unlisted":false},{"type":"link","href":"/0.7.0/observability/logging","label":"Logging","docId":"observability/logging","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Advanced","items":[{"type":"link","href":"/0.7.0/advanced/intrinsics","label":"Adapter functions","docId":"advanced/intrinsics","unlisted":false},{"type":"link","href":"/0.7.0/advanced/lora-and-alora-adapters","label":"LoRA and aLoRA adapters","docId":"advanced/lora-and-alora-adapters","unlisted":false},{"type":"link","href":"/0.7.0/advanced/prefix-caching-and-kv-blocks","label":"Prefix Caching and KV Blocks","docId":"advanced/prefix-caching-and-kv-blocks","unlisted":false},{"type":"link","href":"/0.7.0/advanced/inference-time-scaling","label":"Inference-Time Scaling","docId":"advanced/inference-time-scaling","unlisted":false},{"type":"link","href":"/0.7.0/advanced/mellea-core-internals","label":"Core Internals","docId":"advanced/mellea-core-internals","unlisted":false},{"type":"link","href":"/0.7.0/advanced/template-formatting","label":"Template formatting","docId":"advanced/template-formatting","unlisted":false},{"type":"link","href":"/0.7.0/advanced/custom-components","label":"Building Custom Components","docId":"advanced/custom-components","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Community","items":[{"type":"link","href":"/0.7.0/community/contributing-guide","label":"Contributing to Mellea","docId":"community/contributing-guide","unlisted":false},{"type":"link","href":"/0.7.0/community/building-extensions","label":"Building Extensions","docId":"community/building-extensions","unlisted":false},{"type":"link","href":"/0.7.0/community/code-of-conduct","label":"Code of Conduct","docId":"community/code-of-conduct","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Reference","items":[{"type":"link","href":"/0.7.0/reference/glossary","label":"Glossary","docId":"reference/glossary","unlisted":false},{"type":"link","href":"/0.7.0/reference/cli","label":"CLI Reference","docId":"reference/cli","unlisted":false}],"collapsed":true,"collapsible":true},{"type":"category","label":"Troubleshooting","items":[{"type":"link","href":"/0.7.0/troubleshooting/common-errors","label":"Common Errors","docId":"troubleshooting/common-errors","unlisted":false},{"type":"link","href":"/0.7.0/troubleshooting/faq","label":"FAQ","docId":"troubleshooting/faq","unlisted":false}],"collapsed":true,"collapsible":true}],"apiSidebar":[{"type":"link","href":"/0.7.0/api/","label":"Mellea API Reference","docId":"api/index","unlisted":false},{"type":"category","label":"mellea","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"mellea.backends","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"adapters","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/backends/adapter
1s/adapter","label":"mellea.backends.adapters.adapter","docId":"api/mellea/backends/adapters/adapter","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/backends/adapters/capabilities","label":"mellea.backends.adapters.capabilities","docId":"api/mellea/backends/adapters/capabilities","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/backends/adapters/catalog","label":"mellea.backends.adapters.catalog","docId":"api/mellea/backends/adapters/catalog","unlisted":false}]},{"type":"link","href":"/0.7.0/api/mellea/backends/backend","label":"mellea.backends.backend","docId":"api/mellea/backends/backend","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/backends/cache","label":"mellea.backends.cache","docId":"api/mellea/backends/cache","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/backends/model_ids","label":"mellea.backends.model_ids","docId":"api/mellea/backends/model_ids","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/backends/model_options","label":"mellea.backends.model_options","docId":"api/mellea/backends/model_options","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/backends/tools","label":"mellea.backends.tools","docId":"api/mellea/backends/tools","unlisted":false}],"href":"/0.7.0/api/mellea/backends/"},{"type":"category","label":"mellea.core","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/core/backend","label":"mellea.core.backend","docId":"api/mellea/core/backend","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/core/base","label":"mellea.core.base","docId":"api/mellea/core/base","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/core/formatter","label":"mellea.core.formatter","docId":"api/mellea/core/formatter","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/core/requirement","label":"mellea.core.requirement","docId":"api/mellea/core/requirement","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/core/sampling","label":"mellea.core.sampling","docId":"api/mellea/core/sampling","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/core/utils","label":"mellea.core.utils","docId":"api/mellea/core/utils","unlisted":false}],"href":"/0.7.0/api/mellea/core/"},{"type":"category","label":"mellea.formatters","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/formatters/chat_formatter","label":"mellea.formatters.chat_formatter","docId":"api/mellea/formatters/chat_formatter","unlisted":false},{"type":"category","label":"granite","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"mellea.formatters.granite.base","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/formatters/granite/base/io","label":"mellea.formatters.granite.base.io","docId":"api/mellea/formatters/granite/base/io","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/formatters/granite/base/optional","label":"mellea.formatters.granite.base.optional","docId":"api/mellea/formatters/granite/base/optional","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/formatters/granite/base/types","label":"mellea.formatters.granite.base.types","docId":"api/mellea/formatters/granite/base/types","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/formatters/granite/base/util","label":"mellea.formatters.granite.base.util","docId":"api/mellea/formatters/granite/base/util","unlisted":false}],"href":"/0.7.0/api/mellea/formatters/granite/base/"},{"type":"category","label":"intrinsics","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/formatters/granite/intrinsics/input","label":"mellea.formatters.granite.intrinsics.input","docId":"api/mellea/formatters/granite/intrinsics/input","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/formatters/granite/intrinsics/output","label":"mellea.formatters.granite.intrinsics.output","docId":"api/mellea/formatters/granite/intrinsics/output","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/formatters/granite/intrinsics/util","label":"mellea.formatters.granite.intrinsics.util","docId":"api/mellea/formatters/granite/intrinsics/util","unlisted":false}]}]},{"type":"link","href":"/0.7.0/api/mellea/formatters/template_formatter","label":"mellea.formatters.template_formatter","docId":"api/mellea/formatters/template_formatter","unlisted":false}],"href":"/0.7.0/api/mellea/formatters/"},{"type":"category","label":"mellea.helpers","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/helpers/async_helpers","label":"mellea.helpers.async_helpers","docId":"api/mellea/helpers/async_helpers","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/helpers/openai_compatible_helpers","label":"mellea.helpers.openai_compatible_helpers","docId":"api/mellea/helpers/openai_compatible_helpers","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/helpers/server_type","label":"mellea.helpers.server_type","docId":"api/mellea/helpers/server_type","unlisted":false}],"href":"/0.7.0/api/mellea/helpers/"},{"type":"category","label":"mellea.plugins","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/plugins/base","label":"mellea.plugins.base","docId":"api/mellea/plugins/base","unlisted":false},{"type":"category","label":"mellea.plugins.builtin_debug","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/plugins/builtin_debug/generation","label":"mellea.plugins.builtin_debug.generation","docId":"api/mellea/plugins/builtin_debug/generation","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/plugins/builtin_debug/sampling","label":"mellea.plugins.builtin_debug.sampling","docId":"api/mellea/plugins/builtin_debug/sampling","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/plugins/builtin_debug/validation","label":"mellea.plugins.builtin_debug.validation","docId":"api/mellea/plugins/builtin_debug/validation","unlisted":false}],"href":"/0.7.0/api/mellea/plugins/builtin_debug/"},{"type":"link","href":"/0.7.0/api/mellea/plugins/decorators","label":"mellea.plugins.decorators","docId":"api/mellea/plugins/decorators","unlisted":false},{"type":"category","label":"hooks","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/plugins/hooks/component","label":"mellea.plugins.hooks.component","docId":"api/mellea/plugins/hooks/component","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/plugins/hooks/generation","label":"mellea.plugins.hooks.generation","docId":"api/mellea/plugins/hooks/generation","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/plugins/hooks/sampling","label":"mellea.plugins.hooks.sampling","docId":"api/mellea/plugins/hooks/sampling","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/plugins/hooks/session","label":"mellea.plugins.hooks.session","docId":"api/mellea/plugins/hooks/session","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/plugins/hooks/tool","label":"mellea.plugins.hooks.tool","docId":"api/mellea/plugins/hooks/tool","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/plugins/hooks/validation","label":"mellea.plugins.hooks.validation","docId":"api/mellea/plugins/hooks/validation","unlisted":false}]},{"type":"link","href":"/0.7.0/api/mellea/plugins/manager","label":"mellea.plugins.manager","docId":"api/mellea/plugins/manager","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/plugins/pluginset","label":"mellea.plugins.pluginset","docId":"api/mellea/plugins/pluginset","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/plugins/registry","label":"mellea.plugins.registry","docId":"api/mellea/plugins/registry","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/plugins/types","label":"mellea.plugins.types","docId":"api/mellea/plugins/types","unlisted":false}],"href":"/0.7.0/api/mellea/plugins/"},{"type":"category","label":"mellea.serve","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/serve/models","label":"mellea.serve.models","docId":"api/mellea/serve/models","unlisted":false}],"href":"/0.7.0/api/mellea/serve/"},{"type":"category","label":"mellea.stdlib","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/chunking","label":"mellea.stdlib.chunking","docId":"api/mellea/stdlib/chunking","unlisted":false},{"type":"category","label":"components","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/components/chat","label":"mellea.stdlib.components.chat","docId":"api/mellea/stdlib/components/chat","unlisted":false},{"type":"category","label":"docs","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/components/docs/document","label":"mellea.stdlib.components.docs.document","docId":"api/mellea/stdlib/components/docs/document","unlisted":false}]},{"type":"link","href":"/0.7.0/api/mellea/stdlib/components/instruction","label":"mellea.stdlib.components.instruction","docId":"api/mellea/stdlib/components/instruction","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/components/intrinsic/","label":"mellea.stdlib.components.intrinsic.intrinsic","docId":"api/mellea/stdlib/components/intrinsic/intrinsic","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/components/mify","label":"mellea.stdlib.components.mify","docId":"api/mellea/stdlib/components/mify","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/components/mobject","label":"mellea.stdlib.components.mobject","docId":"api/mellea/stdlib/components/mobject","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/components/simple","label":"mellea.stdlib.components.simple","docId":"api/mellea/stdlib/components/simple","unlisted":false}]},{"type":"category","label":"mellea.stdlib.context","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/context/chat","label":"mellea.stdlib.context.chat","docId":"api/mellea/stdlib/context/chat","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/context/compactor","label":"mellea.stdlib.context.compactor","docId":"api/mellea/stdlib/context/compactor","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/context/simple","label":"mellea.stdlib.context.simple","docId":"api/mellea/stdlib/context/simple","unlisted":false}],"href":"/0.7.0/api/mellea/stdlib/context/"},{"type":"category","label":"frameworks","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/frameworks/react","label":"mellea.stdlib.frameworks.react","docId":"api/mellea/stdlib/frameworks/react","unlisted":false}]},{"type":"category","label":"requirements","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/requirements/md","label":"mellea.stdlib.requirements.md","docId":"api/mellea/stdlib/requirements/md","unlisted":false},{"type":"category","label":"mellea.stdlib.requirements.plotting","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/requirements/plotting/matplotlib","label":"mellea.stdlib.requirements.plotting.matplotlib","docId":"api/mellea/stdlib/requirements/plotting/matplotlib","unlisted":false}],"href":"/0.7.0/api/mellea/stdlib/requirements/plotting/"},{"type":"link","href":"/0.7.0/api/mellea/stdlib/requirements/python_reqs","label":"mellea.stdlib.requirements.python_reqs","docId":"api/mellea/stdlib/requirements/python_reqs","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/requirements/python_tools","label":"mellea.stdlib.requirements.python_tools","docId":"api/mellea/stdlib/requirements/python_tools","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/requirements/rag","label":"mellea.stdlib.requirements.rag","docId":"api/mellea/stdlib/requirements/rag","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/requirements/requirement","label":"mellea.stdlib.requirements.requirement","docId":"api/mellea/stdlib/requirements/requirement","unlisted":false},{"type":"category","label":"safety","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/requirements/safety/guardian","label":"mellea.stdlib.requirements.safety.guardian","docId":"api/mellea/stdlib/requirements/safety/guardian","unlisted":false}]},{"type":"link","href":"/0.7.0/api/mellea/stdlib/requirements/tool_reqs","label":"mellea.stdlib.requirements.tool_reqs","docId":"api/mellea/stdlib/requirements/tool_reqs","unlisted":false}]},{"type":"category","label":"sampling","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/sampling/base","label":"mellea.stdlib.sampling.base","docId":"api/mellea/stdlib/sampling/base","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/sampling/budget_forcing","label":"mellea.stdlib.sampling.budget_forcing","docId":"api/mellea/stdlib/sampling/budget_forcing","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/sampling/feedback","label":"mellea.stdlib.sampling.feedback","docId":"api/mellea/stdlib/sampling/feedback","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/sampling/majority_voting","label":"mellea.stdlib.sampling.majority_voting","docId":"api/mellea/stdlib/sampling/majority_voting","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/sampling/presets","label":"mellea.stdlib.sampling.presets","docId":"api/mellea/stdlib/sampling/presets","unlisted":false},{"type":"category","label":"sampling_algos","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/sampling/sampling_algos/budget_forcing_alg","label":"mellea.stdlib.sampling.sampling_algos.budget_forcing_alg","docId":"api/mellea/stdlib/sampling/sampling_algos/budget_forcing_alg","unlisted":false}]},{"type":"link","href":"/0.7.0/api/mellea/stdlib/sampling/sofai","label":"mellea.stdlib.sampling.sofai","docId":"api/mellea/stdlib/sampling/sofai","unlisted":false}]},{"type":"link","href":"/0.7.0/api/mellea/stdlib/streaming","label":"mellea.stdlib.streaming","docId":"api/mellea/stdlib/streaming","unlisted":false},{"type":"category","label":"tools","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/stdlib/tools/execution_policy","label":"mellea.stdlib.tools.execution_policy","docId":"api/mellea/stdlib/tools/execution_policy","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/tools/interpreter","label":"mellea.stdlib.tools.interpreter","docId":"api/mellea/stdlib/tools/interpreter","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/stdlib/tools/shell","label":"mellea.stdlib.tools.shell","docId":"api/mellea/stdlib/tools/shell","unlisted":false}]}],"href":"/0.7.0/api/mellea/stdlib/"},{"type":"category","label":"mellea.telemetry","collapsible":true,"collapsed":true,"items":[{"type":"link","href":"/0.7.0/api/mellea/telemetry/context","label":"mellea.telemetry.context","docId":"api/mellea/telemetry/context","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/telemetry/logging","label":"mellea.telemetry.logging","docId":"api/mellea/telemetry/logging","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/telemetry/metrics","label":"mellea.telemetry.metrics","docId":"api/mellea/telemetry/metrics","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/telemetry/pricing","label":"mellea.telemetry.pricing","docId":"api/mellea/telemetry/pricing","unlisted":false},{"type":"link","href":"/0.7.0/api/mellea/telemetry/tracing","label":"mellea.telemetry.tracing","docId":"api/mellea/telemetry/tracing","unlisted":false}],"href":"/0.7.0/api/mellea/telemetry/"}]}]},"docs":{"advanced/custom-components":{"id":"advanced/custom-components","title":"Building Custom Components","description":"Implement the Component Protocol to create reusable, testable generative building blocks.","sidebar":"docsSidebar"}
1,"advanced/inference-time-scaling":{"id":"advanced/inference-time-scaling","title":"Inference-Time Scaling","description":"Control how Mellea generates and validates outputs: rejection sampling, SOFAI, budget forcing, and majority voting.","sidebar":"docsSidebar"},"advanced/intrinsics":{"id":"advanced/intrinsics","title":"Adapter functions","description":"Adapter-accelerated RAG quality checks using LoRA/aLoRA adapters with Granite models.","sidebar":"docsSidebar"},"advanced/lora-and-alora-adapters":{"id":"advanced/lora-and-alora-adapters","title":"LoRA and aLoRA adapters","description":"Train lightweight adapters on your own labeled data and use them as requirement validators in Mellea programs.","sidebar":"docsSidebar"},"advanced/mellea-core-internals":{"id":"advanced/mellea-core-internals","title":"Mellea Core Internals","description":"The three core data structures and abstraction layers underlying every Mellea program.","sidebar":"docsSidebar"},"advanced/prefix-caching-and-kv-blocks":{"id":"advanced/prefix-caching-and-kv-blocks","title":"Prefix Caching and KV Blocks","description":"Reuse KV cache state across calls to eliminate redundant prefill work on LocalHFBackend.","sidebar":"docsSidebar"},"advanced/template-formatting":{"id":"advanced/template-formatting","title":"Template formatting","description":"How Mellea\'s TemplateFormatter converts Python objects into model-ready text using Jinja2 templates.","sidebar":"docsSidebar"},"api/index":{"id":"api/index","title":"Mellea API Reference","description":"Complete reference for Mellea\'s Python API and command-line tools","sidebar":"apiSidebar"},"api/mellea/backends/adapters/adapter":{"id":"api/mellea/backends/adapters/adapter","title":"mellea.backends.adapters.adapter","description":"Adapter classes for adding fine-tuned modules to inference backends.","sidebar":"apiSidebar"},"api/mellea/backends/adapters/capabilities":{"id":"api/mellea/backends/adapters/capabilities","title":"mellea.backends.adapters.capabilities","description":"Advisory registry of known adapter capabilities.","sidebar":"apiSidebar"},"api/mellea/backends/adapters/catalog":{"id":"api/mellea/backends/adapters/catalog","t
1itle":"mellea.backends.adapters.catalog","description":"Catalog of available adapter functions.","sidebar":"apiSidebar"},"api/mellea/backends/backend":{"id":"api/mellea/backends/backend","title":"mellea.backends.backend","description":"`FormatterBackend`: base class for prompt-engineering backends.","sidebar":"apiSidebar"},"api/mellea/backends/backends":{"id":"api/mellea/backends/backends","title":"mellea.backends","description":"Backend implementations for the mellea inference layer.","sidebar":"apiSidebar"},"api/mellea/backends/cache":{"id":"api/mellea/backends/cache","title":"mellea.backends.cache","description":"Cache abstractions and implementations for model state.","sidebar":"apiSidebar"},"api/mellea/backends/model_ids":{"id":"api/mellea/backends/model_ids","title":"mellea.backends.model_ids","description":"`ModelIdentifier` dataclass and a catalog of pre-defined model IDs.","sidebar":"apiSidebar"},"api/mellea/backends/model_options":{"id":"api/mellea/backends/model_options","title":"mellea.backends.model_options","description":"Common ModelOptions for Backend Generation.","sidebar":"apiSidebar"},"api/mellea/backends/tools":{"id":"api/mellea/backends/tools","title":"mellea.backends.tools","description":"LLM tool definitions, parsing, and validation for mellea backends.","sidebar":"apiSidebar"},"api/mellea/core/backend":{"id":"api/mellea/core/backend","title":"mellea.core.backend","description":"Abstract `Backend` interface and generation-walk utilities.","sidebar":"apiSidebar"},"api/mellea/core/base":{"id":"api/mellea/core/base","title":"mellea.core.base","description":"Foundational data structures for mellea\'s generative programming model.","sidebar":"apiSidebar"},"api/mellea/core/core":{"id":"api/mellea/core/core","title":"mellea.core","description":"Core abstractions for the mellea library.","sidebar":"apiSidebar"},"api/mellea/core/formatter":{"id":"api/mellea/core/formatter","title":"mellea.core.formatter","description":"Abstract `Formatter` interface for rendering components to strings.","sidebar":"apiSidebar"},"api/mellea/core/requirement":{"id":"api/mellea/core/requirement","title":"mellea.core.requirement","description":"`Requirement` interface for constrained and validated generation.","sidebar":"apiSidebar"},"api/mellea/core/sampling":{"id":"api/mellea/core/sampling","title":"mellea.core.sampling","description":"Abstract interfaces for sampling strategies and their results.","sidebar":"apiSidebar"},"api/mellea/core/utils":{"id":"api/mellea/core/utils","title":"mellea.core.utils","description":"Logging utilities for the mellea core library.","sidebar":"apiSidebar"},"api/mellea/formatters/chat_formatter":{"id":"api/mellea/formatters/chat_formatter","title":"mellea.formatters.chat_formatter","description":"`ChatFormatter` for converting context histories to chat-message lists.","sidebar":"apiSidebar"},"api/mellea/formatters/formatters":{"id":"api/mellea/formatters/formatters","title":"mellea.formatters","description":"Formatters for converting components into model-ready prompts.","sidebar":"apiSidebar"},"api/mellea/formatters/granite/base/base":{"id":"api/mellea/formatters/granite/base/base","title":"mellea.formatters.granite.base","description":"Shared data structures and functions for formatting code.","sidebar":"apiSidebar"},"api/mellea/formatters/granite/base/io":{"id":"api/mellea/formatters/granite/base/io","title":"mellea.formatters.granite.base.io","description":"Input and output processing for chat completions-like APIs.","sidebar":"apiSidebar"},"api/mellea/formatters/granite/base/optional":{"id":"api/mellea/formatters/granite/base/optional","title":"mellea.formatters.granite.base.optional","description":"Context-manager helpers for gracefully handling optional import dependencies.","sidebar":"apiSidebar"},"api/mellea/formatters/granite/base/types":{"id":"api/mellea/formatters/granite/base/types","title":"mellea.formatters.granite.base.types","description":"Common Pydantic types shared across the Granite formatter package.","sidebar":"apiSidebar"},"api/mellea/formatters/granite/base/util":{"id":"api/mellea/formatters/granite/base/util","title":"mellea.formatters.granite.base.util","description":"Common utility functions for the library and tests.","sidebar":"apiSidebar"}
1,"api/mellea/formatters/granite/intrinsics/input":{"id":"api/mellea/formatters/granite/intrinsics/input","title":"mellea.formatters.granite.intrinsics.input","description":"Classes and functions that implement common aspects of input processing for intrinsics.","sidebar":"apiSidebar"},"api/mellea/formatters/granite/intrinsics/output":{"id":"api/mellea/formatters/granite/intrinsics/output","title":"mellea.formatters.granite.intrinsics.output","description":"Classes and functions that implement common aspects of output processing for intrinsics.","sidebar":"apiSidebar"},"api/mellea/formatters/granite/intrinsics/util":{"id":"api/mellea/formatters/granite/intrinsics/util","title":"mellea.formatters.granite.intrinsics.util","description":"Common utility functions for this package.","sidebar":"apiSidebar"},"api/mellea/formatters/template_formatter":{"id":"api/mellea/formatters/template_formatter","title":"mellea.formatters.template_formatter","description":"`TemplateFormatter`: Jinja2-template-based formatter for legacy backends.","sidebar":"apiSidebar"},"api/mellea/helpers/async_helpers":{"id":"api/mellea/helpers/async_helpers","title":"mellea.helpers.async_helpers","description":"Async helper functions for managing concurrent model output thunks.","sidebar":"apiSidebar"},"api/mellea/helpers/helpers":{"id":"api/mellea/helpers/helpers","title":"mellea.helpers","description":"Low-level helpers and utilities supporting mellea backends.","sidebar":"apiSidebar"},"api/mellea/helpers/openai_compatible_helpers":{"id":"api/mellea/helpers/openai_compatible_helpers","title":"mellea.helpers.openai_compatible_helpers","description":"A file for helper functions that deal with OpenAI API compatible helpers.","sidebar":"apiSidebar"},"api/mellea/helpers/server_type":{"id":"api/mellea/helpers/server_type","title":"mellea.helpers.server_type","description":"Utilities for detecting and classifying the target inference server.","sidebar":"apiSidebar"},"api/mellea/plugins/base":{"id":"api/mellea/plugins/base","title":"mellea.plugins.base","description":"Base types for the Mellea plugin system.","sidebar":"apiSidebar"},"api/mellea/plugins/builtin_debug/builtin_debug":{"id":"api/mellea/plugins/builtin_debug/builtin_debug","title":"mellea.plugins.builtin_debug","description":"Built-in debug plugins for Mellea.","sidebar":"apiSidebar"},"api/mellea/plugins/builtin_debug/generation":{"id":"api/mellea/plugins/builtin_debug/generation","title":"mellea.plugins.builtin_debug.generation","description":"Built-in debug plugin for generation pipeline (pre-call and post-call).","sidebar":"apiSidebar"},"api/mellea/plugins/builtin_debug/sampling":{"id":"api/mellea/plugins/builtin_debug/sampling","title":"mellea.plugins.builtin_debug.sampling","description":"Built-in debug plugin for sampling pipeline.","sidebar":"apiSidebar"},"api/mellea/plugins/builtin_debug/validation":{"id":"api/mellea/plugins/builtin_debug/validation","title":"mellea.plugins.builtin_debug.validation","description":"Built-in debug plugin for validation pipeline.","sidebar":"apiSidebar"},"api/mellea/plugins/decorators":{"id":"api/mellea/plugins/decorators","title":"mellea.plugins.decorators","description":"Mellea hook decorator.","sidebar":"apiSidebar"},"api/mellea/plugins/hooks/component":{"id":"api/mellea/plugins/hooks/component","title":"mellea.plugins.hooks.component","description":"Component lifecycle hook payloads.","sidebar":"apiSidebar"},"api/mellea/plugins/hooks/generation":{"id":"api/mellea/plugins/hooks/generation","title":"mellea.plugins.hooks.generation","description":"Generation pipeline hook payloads.","sidebar":"apiSidebar"},"api/mellea/plugins/hooks/sampling":{"id":"api/mellea/plugins/hooks/sampling","title":"mellea.plugins.hooks.sampling","description":"Sampling pipeline hook payloads.","sidebar":"apiSidebar"},"api/mellea/plugins/hooks/session":{"id":"api/mellea/plugins/hooks/session","title":"mellea.plugins.hooks.session","description":"Session lifecycle hook payloads.","sidebar":"apiSidebar"},"api/mellea/plugins/hooks/tool":{"id":"api/mellea/plugins/hooks/tool","title":"mellea.plugins.hooks.tool","description":"Tool execution hook payloads.","sidebar":"apiSidebar"},"api/mellea/plugins/hooks/validation":{"id":"api/mellea/plugins/hooks/validation","title":"mellea.plugins.hooks.validation","description":"Validation hook payloads.","sidebar":"apiSidebar"}
1,"api/mellea/plugins/manager":{"id":"api/mellea/plugins/manager","title":"mellea.plugins.manager","description":"Singleton plugin manager wrapper with session-tag filtering.","sidebar":"apiSidebar"},"api/mellea/plugins/plugins":{"id":"api/mellea/plugins/plugins","title":"mellea.plugins","description":"Mellea Plugin System \u2014 extension points for policy enforcement, observability, and customization.","sidebar":"apiSidebar"},"api/mellea/plugins/pluginset":{"id":"api/mellea/plugins/pluginset","title":"mellea.plugins.pluginset","description":"PluginSet \u2014 composable groups of hooks and plugins.","sidebar":"apiSidebar"},"api/mellea/plugins/registry":{"id":"api/mellea/plugins/registry","title":"mellea.plugins.registry","description":"Plugin registration and helpers.","sidebar":"apiSidebar"},"api/mellea/plugins/types":{"id":"api/mellea/plugins/types","title":"mellea.plugins.types","description":"Mellea hook type enum and hook registration.","sidebar":"apiSidebar"},"api/mellea/serve/models":{"id":"api/mellea/serve/models","title":"mellea.serve.models","description":"User-facing types for `m serve`.","sidebar":"apiSidebar"},"api/mellea/serve/serve":{"id":"api/mellea/serve/serve","title":"mellea.serve","description":"Public API for m serve types.","sidebar":"apiSidebar"},"api/mellea/stdlib/chunking":{"id":"api/mellea/stdlib/chunking","title":"mellea.stdlib.chunking","description":"ChunkingStrategy ABC and built-in implementations for streaming validation.","sidebar":"apiSidebar"},"api/mellea/stdlib/components/chat":{"id":"api/mellea/stdlib/components/chat","title":"mellea.stdlib.components.chat","description":"Chat primitives: the `Message` and `ToolMessage` components.","sidebar":"apiSidebar"},"api/mellea/stdlib/components/docs/document":{"id":"api/mellea/stdlib/components/docs/document","title":"mellea.stdlib.components.docs.document","description":"`Document` component for grounding model inputs with text passages.","sidebar":"apiSidebar"},"api/mellea/stdlib/components/instruction":{"id":"api/mellea/stdlib/components/instruction","title":"mellea.stdlib.components.instruction","description":"`Instruction` component for instruct/validate/repair loops.","sidebar":"apiSidebar"},"api/mellea/stdlib/components/intrinsic/intrinsic":{"id":"api/mellea/stdlib/components/intrinsic/intrinsic","title":"mellea.stdlib.components.intrinsic.intrinsic","description":"`Intrinsic` component for invoking fine-tuned adapter capabilities.","sidebar":"apiSidebar"},"api/mellea/stdlib/components/mify":{"id":"api/mellea/stdlib/components/mify","title":"mellea.stdlib.components.mify","description":"The `@mify` decorator for turning Python objects into [`Component`](../../core/base#class-component)s.","sidebar":"apiSidebar"},"api/mellea/stdlib/components/mobject":{"id":"api/mellea/stdlib/components/mobject","title":"mellea.stdlib.components.mobject","description":"`MObject`, `Query`, `Transform`, and `MObjectProtocol` for query/transform workflows.","sidebar":"apiSidebar"},"api/mellea/stdlib/components/simple":{"id":"api/mellea/stdlib/components/simple","title":"mellea.stdlib.components.simple","description":"`SimpleComponent`: a lightweight named-span component.","sidebar":"apiSidebar"},"api/mellea/stdlib/context/chat":{"id":"api/mellea/stdlib/context/chat","title":"mellea.stdlib.context.chat","description":"Chat-style context with pluggable compaction.","sidebar":"apiSidebar"},"api/mellea/stdlib/context/compactor":{"id":"api/mellea/stdlib/context/compactor","title":"mellea.stdlib.context.compactor","description":"Generic `C
1ompactor` protocol for shrinking a [`Context`](../../core/base#class-context).","sidebar":"apiSidebar"},"api/mellea/stdlib/context/context":{"id":"api/mellea/stdlib/context/context","title":"mellea.stdlib.context","description":"Concrete [`Context`](../core/base#class-context) implementations and the `Compactor` protocol.","sidebar":"apiSidebar"},"api/mellea/stdlib/context/simple":{"id":"api/mellea/stdlib/context/simple","title":"mellea.stdlib.context.simple","description":"Stateless single-turn context (no history is forwarded to the model).","sidebar":"apiSidebar"},"api/mellea/stdlib/frameworks/react":{"id":"api/mellea/stdlib/frameworks/react","title":"mellea.stdlib.frameworks.react","description":"ReACT (Reason + Act) agentic pattern implementation.","sidebar":"apiSidebar"},"api/mellea/stdlib/requirements/md":{"id":"api/mellea/stdlib/requirements/md","title":"mellea.stdlib.requirements.md","description":"This file contains various requirements for Markdown-formatted files.","sidebar":"apiSidebar"},"api/mellea/stdlib/requirements/plotting/matplotlib":{"id":"api/mellea/stdlib/requirements/plotting/matplotlib","title":"mellea.stdlib.requirements.plotting.matplotlib","description":"Matplotlib-specific code generation requirements.","sidebar":"apiSidebar"},"api/mellea/stdlib/requirements/plotting/plotting":{"id":"api/mellea/stdlib/requirements/plotting/plotting","title":"mellea.stdlib.requirements.plotting","description":"Matplotlib-specific requirements for validating plotting code.","sidebar":"apiSidebar"},"api/mellea/stdlib/requirements/python_reqs":{"id":"api/mellea/stdlib/requirements/python_reqs","title":"mellea.stdlib.requirements.python_reqs","description":"Requirements for Python code generation validation.","sidebar":"apiSidebar"},"api/mellea/stdlib/requirements/python_tools":{"id":"api/mellea/stdlib/requirements/python_tools","title":"mellea.stdlib.requirements.python_tools","description":"Generic Python tool requirements for code generation validation.","sidebar":"apiSidebar"},"api/mellea/stdlib/requirements/rag":{"id":"api/mellea/stdlib/requirements/rag","title":"mellea.stdlib.requirements.rag","description":"Requirements for RAG (Retrieval-Augmented Generation) workflows.","sidebar":"apiSidebar"},"api/mellea/stdlib/requirements/requirement":{"id":"api/mellea/stdlib/requirements/requirement","title":"mellea.stdlib.requirements.requirement","description":"Requirements are a special type of Component used as input to the \\"validate\\" step in Instruct/Validate/Repair design patterns.","sidebar":"apiSidebar"},"api/mellea/stdlib/requirements/safety/guardian":{"id":"api/mellea/stdlib/requirements/safety/guardian","title":"mellea.stdlib.requirements.safety.guardian","description":"Risk checking with Granite Guardian models via existing backends.","sidebar":"apiSidebar"},"api/mellea/stdlib/requirements/tool_reqs":{"id":"api/mellea/stdlib/requirements/tool_reqs","title":"mellea.stdlib.requirements.tool_reqs","description":"[`Requirement`](../../core/requirement#class-requirement) factories for tool-use validation.","sidebar":"apiSidebar"},"api/mellea/stdlib/sampling/base":{"id":"api/mellea/stdlib/sampling/base","title":"mellea.stdlib.sampling.base","description":"Base Sampling Strategies.","sidebar":"apiSidebar"},"api/mellea/stdlib/sampling/budget_forcing":{"id":"api/mellea/stdlib/sampling/budget_forcing","title":"mellea.stdlib.sampling.budget_forcing","description":"Sampling Strategies for budget forcing generation.","sidebar":"apiSidebar"},"api/mellea/stdlib/sampling/feedback":{"id":"api/mellea/stdlib/sampling/feedback","title":"mellea.stdlib.sampling.feedback","description":"Model-friendly feedback formatters for validation failures.","sidebar":"apiSidebar"},"api/mellea/stdlib/sampling/majority_voting":{"id":"api/mellea/stdlib/sampling/majority_voting","title":"mellea.stdlib.sampling.majority_voting","description":"Sampling Strategies for Minimum Bayes Risk Decoding (MBRD).","sidebar":"apiSidebar"},"api/mellea/stdlib/sampling/presets":{"id":"api/mellea/stdlib/sampling/presets","title":"mellea.stdlib.sampling.presets","description":"Pre-configured sampling presets bundling requirements and strategies.","sidebar":"apiSidebar"},"api/mellea/stdlib/sampling/sampling_algos/budget_forcing_alg":{"id":"api/mellea/stdlib/sampling/sampling_algos/budget_forcing_alg","title":"mellea.stdlib.sampling.sampling_algos.budget_forcing_alg","description":"Budget-forcing generation algorithm for thinking models.","sidebar":"apiSidebar"},"api/mellea/stdlib/sampling/sofai":{"id":"api/mellea/stdlib/sampling/sofai","title":"mellea.stdlib.sampling.sofai","description":"SOFAI (Slow and Fast AI) Sampling Strategy.","sidebar":"apiSidebar"},"api/mellea/stdlib/stdlib":{"id":"api/mellea/stdlib/stdlib","title":"mellea.stdlib","description":"The mellea standard library of components, sessions, and sampling strategies.","sidebar":"apiSidebar"}
1,"api/mellea/stdlib/streaming":{"id":"api/mellea/stdlib/streaming","title":"mellea.stdlib.streaming","description":"Streaming generation with per-chunk validation.","sidebar":"apiSidebar"},"api/mellea/stdlib/tools/execution_policy":{"id":"api/mellea/stdlib/tools/execution_policy","title":"mellea.stdlib.tools.execution_policy","description":"Capability policy, artifact model, and compatibility matrix for code execution environments.","sidebar":"apiSidebar"},"api/mellea/stdlib/tools/interpreter":{"id":"api/mellea/stdlib/tools/interpreter","title":"mellea.stdlib.tools.interpreter","description":"Code interpreter tool and execution environments for agentic workflows.","sidebar":"apiSidebar"},"api/mellea/stdlib/tools/shell":{"id":"api/mellea/stdlib/tools/shell","title":"mellea.stdlib.tools.shell","description":"Bash shell command execution tool and execution environments for agentic workflows.","sidebar":"apiSidebar"},"api/mellea/telemetry/context":{"id":"api/mellea/telemetry/context","title":"mellea.telemetry.context","description":"Async-safe context propagation for Mellea telemetry.","sidebar":"apiSidebar"},"api/mellea/telemetry/logging":{"id":"api/mellea/telemetry/logging","title":"mellea.telemetry.logging","description":"OpenTelemetry logging instrumentation for Mellea.","sidebar":"apiSidebar"},"api/mellea/telemetry/metrics":{"id":"api/mellea/telemetry/metrics","title":"mellea.telemetry.metrics","description":"OpenTelemetry metrics instrumentation for Mellea.","sidebar":"apiSidebar"},"api/mellea/telemetry/pricing":{"id":"api/mellea/telemetry/pricing","title":"mellea.telemetry.pricing","description":"LLM pricing via litellm\'s pricing API.","sidebar":"apiSidebar"},"api/mellea/telemetry/telemetry":{"id":"api/mellea/telemetry/telemetry","title":"mellea.telemetry","description":"OpenTelemetry instrumentation for Mellea.","sidebar":"apiSidebar"},"api/mellea/telemetry/tracing":{"id":"api/mellea/telemetry/tracing","title":"mellea.telemetry.tracing","description":"OpenTelemetry tracing instrumentation for Mellea.","sidebar":"apiSidebar"},"community/building-extensions":{"id":"community/building-extensions","title":"Building Extensions","description":"Create custom components, backends, sampling strategies, and requirements to extend Mellea.","sidebar":"docsSidebar"},"community/code-of-conduct":{"id":"community/code-of-conduct","title":"Code of Conduct","description":"Standards and enforcement for the Mellea community.","sidebar":"docsSidebar"},"community/contributing-guide":{"id":"community/contributing-guide","title":"Contributing to Mellea","description":"Development setup, coding standards, and PR process for Mellea contributors.","sidebar":"docsSidebar"},"concepts/architecture-vs-agents":{"id":"concepts/architecture-vs-agents","title":"Mellea vs Orchestration Frameworks","description":"What makes Mellea different from LangChain, smolagents, and other agent frameworks \u2014 and how they work together.","sidebar":"docsSidebar"},"concepts/context-and-sessions":{"id":"concepts/context-and-sessions","title":"Context and Sessions","description":"How Component, Backend, Context, and Session fit together in Mellea\'s architecture.","sidebar":"docsSidebar"},"concepts/generative-functions":{"id":"concepts/generative-functions","title":"Generative Functions","description":"How the @generative decorator turns a Python function signature into an LLM-backed implementation.","sidebar":"docsSidebar"},"concepts/generative-programming":{"id":"concepts/generative-programming","title":"Generative Programming","description":"The ideas behind Mellea \u2014 what generative programs are, why they\'re hard, and how Mellea addresses those challenges.","sidebar":"docsSidebar"},"concepts/instruct-validate-repair":{"id":"concepts/instruct-validate-repair","title":"The Instruction Model","description":"How instruct(), requirements, and the IVR loop work in Mellea.","sidebar":"docsSidebar"},"concepts/mobjects-and-mify":{"id":"concepts/mobjects-and-mify","title":"MObjects and mify","description":"How the @mify decorator turns any Python class into an LLM-queryable object with controlled field and method exposure.","sidebar":"docsSidebar"},"concepts/plugins":{"id":"concepts/plugins","title":"Plugins & Hooks","description":"Intercept and customize Mellea\'s execution pipeline with plugins \u2014 enforce policies, add observability, and transform payloads at well-defined hook points.","sidebar":"docsSidebar"}
1,"concepts/requirements-system":{"id":"concepts/requirements-system","title":"The Requirements System","description":"How Requirement, ValidationResult, and the IVR loop work together to enforce constraints on generative output.","sidebar":"docsSidebar"},"examples/data-extraction-pipeline":{"id":"examples/data-extraction-pipeline","title":"Data Extraction Pipeline","description":"Use the @generative decorator with a typed return value to extract structured data from unstructured text in a single declarative function.","sidebar":"docsSidebar"},"examples/index":{"id":"examples/index","title":"Examples","description":"Complete working programs demonstrating Mellea patterns in production-like scenarios.","sidebar":"docsSidebar"},"examples/legacy-code-integration":{"id":"examples/legacy-code-integration","title":"Legacy Code Integration with @mify","description":"Apply the @mify decorator to existing Python classes so a Mellea session can act on, query, and transform your objects without rewriting them.","sidebar":"docsSidebar"},"examples/resilient-rag-fallback":{"id":"examples/resilient-rag-fallback","title":"Resilient RAG with Fallback Filtering","description":"Build a retrieval-augmented generation pipeline that uses FAISS for vector search and a @generative relevance filter to remove noise before generation.","sidebar":"docsSidebar"},"examples/traced-generation-loop":{"id":"examples/traced-generation-loop","title":"Traced Generation Loop","description":"Enable OpenTelemetry tracing for a multi-operation Mellea session using environment variables, and export spans to Jaeger or any OTLP backend.","sidebar":"docsSidebar"},"getting-started/installation":{"id":"getting-started/installation","title":"Installation","description":"Install Mellea and set up your Python environment.","sidebar":"docsSidebar"},"getting-started/quickstart":{"id":"getting-started/quickstart","title":"Quick Start","description":"Run your first generative program in minutes.","sidebar":"docsSidebar"},"how-to/act-and-aact":{"id":"how-to/act-and-aact","title":"act() and aact()","description":"Work directly with Components using act(), aact(), and the functional API.","sidebar":"docsSidebar"},"how-to/backends-and-configuration":{"id":"how-to/backends-and-configuration","title":"Backends and Configuration","description":"Configure Mellea to use Ollama, OpenAI, LiteLLM, Hugging Face, or WatsonX backends.","sidebar":"docsSidebar"},"how-to/build-a-rag-pipeline":{"id":"how-to/build-a-rag-pipeline","title":"Build a RAG Pipeline","description":"Combine vector retrieval with Mellea\'s generative filtering and grounded generation to build a reliable retrieval-augmented generation system.","sidebar":"docsSidebar"},"how-to/configure-model-options":{"id":"how-to/configure-model-options","title":"Configure model options","description":"Set temperature, seed, max tokens, system prompts, and other backend parameters at session level or per call.","sidebar":"docsSidebar"},"how-to/debug-with-plugins":{"id":"how-to/debug-with-plugins","title":"Debug with Plugins","description":"Use built-in debug plugins to trace generation, validation, and sampling behavior in detail.","sidebar":"docsSidebar"},"how-to/enforce-structured-output":{"id":"how-to/enforce-structured-output","title":"Enforce Structured Output","description":"Get JSON, Pydantic models, and typed values from LLM calls using @generative and instruct(format=...).","sidebar":"docsSidebar"},"how-to/evaluate-with-llm-as-a-judge":{"id":"how-to/evaluate-with-llm-as-a-judge","title":"Evaluate with LLM-as-a-Judge","description":"Use the LLM itself to evaluate output quality \u2014 inline as a requirement, or as a standalone validation pass.","sidebar":"docsSidebar"},"how-to/generative-functions":{"id":"how-to/generative-functions","title":"Generative Functions","description":"Define type-safe LLM functions with @generative and Pydantic structured output.","sidebar":"docsSidebar"},"how-to/handling-exceptions":{"id":"how-to/handling-exceptions","title":"Handling Exceptions and Failures","description":"Handle SamplingResult failures, PreconditionException, and parse errors gracefully in Mellea programs.","sidebar":"docsSidebar"},"how-to/m-decompose":{"id":"how-to/m-decompose","title":"m decompose","description":"Break complex tasks into ordered, executable subtasks with the m decompose CLI.","sidebar":"docsSidebar"},"how-to/refactor-prompts-with-cli":{"id":"how-to/refactor-prompts-with-cli","title":"Refactor Prompts with the CLI","de
1scription":"Use m decompose to break a complex prompt into typed, validated generative functions.","sidebar":"docsSidebar"},"how-to/safety-guardrails":{"id":"how-to/safety-guardrails","title":"Safety Guardrails","description":"Use Guardian adapter functions to detect harmful, biased, ungrounded, or policy-violating content in LLM outputs.","sidebar":"docsSidebar"},"how-to/tools-and-agents":{"id":"how-to/tools-and-agents","title":"Tools and Agents","description":"Give LLMs access to tools, build ReACT agents, and validate tool call arguments.","sidebar":"docsSidebar"},"how-to/unit-test-generative-code":{"id":"how-to/unit-test-generative-code","title":"Unit Test Generative Code","description":"Write reliable tests for @generative functions using pytest markers and output validation.","sidebar":"docsSidebar"},"how-to/use-async-and-streaming":{"id":"how-to/use-async-and-streaming","title":"Async and Streaming","description":"Use async methods, parallel generation, and streaming output with Mellea.","sidebar":"docsSidebar"},"how-to/use-context-and-sessions":{"id":"how-to/use-context-and-sessions","title":"Context and Sessions","description":"Extend MelleaSession to add custom validation, logging, and filtering behavior.","sidebar":"docsSidebar"},"how-to/use-images-and-vision":{"id":"how-to/use-images-and-vision","title":"Use Images and Vision Models","description":"Pass images to instruct() and chat() calls, and configure vision-capable backends.","sidebar":"docsSidebar"},"how-to/working-with-data":{"id":"how-to/working-with-data","title":"Working with Data","description":"Ground instructions with documents, build RAG pipelines, and use MObjects and RichDocument.","sidebar":"docsSidebar"},"how-to/write-custom-verifiers":{"id":"how-to/write-custom-verifiers","title":"Write Custom Verifiers","description":"Write validation functions that inspect LLM output and return pass/fail results with repair guidance.","sidebar":"docsSidebar"},"index":{"id":"index","title":"Mellea \u2014 build predictable AI without guesswork","description":"A Python library for writing reliable generative programs.","sidebar":"docsSidebar"},"integrations/bedrock":{"id":"integrations/bedrock","title":"AWS Bedrock","description":"Run Mellea with AWS Bedrock models using the Bedrock Mantle backend or LiteLLM.","sidebar":"docsSidebar"},"integrations/huggingface":{"id":"integrations/huggingface","title":"Hugging Face Transformers","description":"Run Mellea on local hardware with LocalHFBackend and Hugging Face Transformers.","sidebar":"docsSidebar"},"integrations/langchain":{"id":"integrations/langchain","title":"LangChain","description":"Use LangChain tools inside Mellea and seed a Mellea session with LangChain message history.","sidebar":"docsSidebar"},"integrations/m-serve":{"id":"integrations/m-serve","title":"m serve","description":"Run a Mellea program as an OpenAI-compatible chat endpoint with m serve.","sidebar":"docsSidebar"},"integrations/mcp":{"id":"integrations/mcp","title":"MCP Integration","description":"Expose Mellea functions as Model Context Protocol tools, callable from Claude Desktop, Cursor, and any MCP-compatible client.","sidebar":"docsSidebar"},"integrations/ollama":{"id":"integrations/ollama","title":"Ollama","description":"Run Mellea with local models via Ollama \u2014 the default backend.","sidebar":"docsSidebar"},"integrations/openai":{"id":"integrations/openai","title":"OpenAI and OpenAI-Compatible APIs","description":"Use Mellea with OpenAI\'s API and any OpenAI-compatible endpoint \u2014 LM Studio, vLLM, Anthropic, and more.","sidebar":"docsSidebar"},"integrations/smolagents":{"id":"integrations/smolagents","title":"smolagents","description":"Use Hugging Face smolagents tools inside a Mellea session.","sidebar":"docsSidebar"},"integrations/vertex-ai":{"id":"integrations/vertex-ai","title":"Vertex AI","description":"Connect Mellea to Google Vertex AI models via LiteLLM.","sidebar":"docsSidebar"},"integrations/watsonx":{"id":"integrations/watsonx","title":"IBM WatsonX","description":"Run Mellea with IBM WatsonX AI using the WatsonxAIBacken
1d.","sidebar":"docsSidebar"},"observability/logging":{"id":"observability/logging","title":"Logging","description":"Configure Mellea\'s console logging and export logs to OTLP collectors.","sidebar":"docsSidebar"},"observability/metrics":{"id":"observability/metrics","title":"Metrics","description":"Automatically collect LLM metrics and instrument your own code with OpenTelemetry counters, histograms, and up-down counters.","sidebar":"docsSidebar"},"observability/telemetry":{"id":"observability/telemetry","title":"Telemetry","description":"Add OpenTelemetry tracing, metrics, and logging to Mellea programs.","sidebar":"docsSidebar"},"observability/tracing":{"id":"observability/tracing","title":"Tracing","description":"Export distributed traces from Mellea using OpenTelemetry semantic conventions.","sidebar":"docsSidebar"},"reference/cli":{"id":"reference/cli","title":"CLI Reference","description":"Complete reference for the m command-line tool \u2014 all subcommands, flags, and defaults.","sidebar":"docsSidebar"},"reference/glossary":{"id":"reference/glossary","title":"Glossary","description":"Definitions of Mellea-specific terms and concepts.","sidebar":"docsSidebar"},"troubleshooting/common-errors":{"id":"troubleshooting/common-errors","title":"Common Errors","description":"Common errors, diagnostic steps, and fixes for Mellea programs.","sidebar":"docsSidebar"},"troubleshooting/faq":{"id":"troubleshooting/faq","title":"FAQ","description":"Answers to frequently asked questions about Mellea installation, backends, and generative functions.","sidebar":"docsSidebar"},"tutorials/making-agents-reliable":{"id":"tutorials/making-agents-reliable","title":"Tutorial: Making Agents Reliable","description":"Add requirements validation and Guardian safety checks to a ReACT tool-using agent.","sidebar":"docsSidebar"},"tutorials/mifying-legacy-code":{"id":"tutorials/mifying-legacy-code","title":"Tutorial: Mifying Legacy Code","description":"Add LLM query and transform capabilities to existing Python classes without rewriting them.","sidebar":"docsSidebar"},"tutorials/streaming-and-async":{"id":"tutorials/streaming-and-async","title":"Tutorial: Streaming and Async","description":"Make LLM calls non-blocking, stream tokens as they arrive, and process batches concurrently.","sidebar":"docsSidebar"},"tutorials/streaming-validation":{"id":"tutorials/streaming-validation","title":"Tutorial: Streaming Validation","description":"Validate LLM output chunk by chunk as it streams \u2014 detect policy violations the moment they appear and cancel generation before invalid content reaches your users.","sidebar":"docsSidebar"},"tutorials/using-generative-stubs":{"id":"tutorials/using-generative-stubs","title":"Tutorial: Using Generative Stubs","description":"Replace ad-hoc instruct() calls with typed, composable @generative functions.","sidebar":"docsSidebar"},"tutorials/your-first-generative-program":{"id":"tutorials/your-first-generative-program","title":"Tutorial: Your First Generative Program","description":"Build a document analysis pipeline step by step \u2014 from a single instruct() call to a composed, typed, validated generative program.","sidebar":"docsSidebar"}}}}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.