agentic_fabric.config.llm¶
LLM configuration shared by all runners.
Uses Anthropic Claude directly via ANTHROPIC_API_KEY. Falls back to OpenRouter if OPENROUTER_API_KEY is set. Supports local Ollama via OLLAMA_BASE_URL / AGENTIC_FABRIC_LLM_PROVIDER=ollama.
Module Contents¶
Classes¶
Available LLM providers. |
|
Configuration for specific LLM use cases. |
Functions¶
Get configured LLM instance for agents. |
|
Get configured LLM instance, raising if API key not set. |
|
Get LLM configured for a specific task type. |
|
Get LLM optimized for complex reasoning tasks. |
|
Get LLM optimized for creative tasks. |
|
Get LLM optimized for code generation. |
Data¶
API¶
- class agentic_fabric.config.llm.LLMProvider(*args, **kwds)¶
Bases:
enum.EnumAvailable LLM providers.
Initialization
- ANTHROPIC = 'anthropic'¶
- OPENROUTER = 'openrouter'¶
- OLLAMA = 'ollama'¶
- name()¶
- value()¶
- class agentic_fabric.config.llm.LLMConfig¶
Configuration for specific LLM use cases.
- model: str = None¶
- temperature: float = None¶
- description: str = None¶
- agentic_fabric.config.llm.DEFAULT_MODEL = None¶
- agentic_fabric.config.llm.MODELS = None¶
- agentic_fabric.config.llm.LLM_CONFIGS = None¶
- agentic_fabric.config.llm.get_llm(model: str = DEFAULT_MODEL, temperature: float = 0.7, provider: agentic_fabric.config.llm.LLMProvider | None = None) crewai.LLM | None¶
Get configured LLM instance for agents.
Args: model: Model identifier. Defaults to claude-haiku-4-5-20251001 (DEFAULT_MODEL) temperature: Sampling temperature (0.0-1.0). Lower = more focused, higher = more creative. provider: Force specific provider (ANTHROPIC, OPENROUTER, or OLLAMA). If None, auto-detects based on available API keys and env vars.
Available models: - claude-haiku-4-5-20251001 (default - fast, cost-effective) - claude-sonnet-4-5-20250929 (best for code and creative) - claude-sonnet-4-20250514 (capable general purpose) - claude-opus-4-20250514 (most capable) - openrouter/auto (fallback via OpenRouter) - qwen2.5:0.5b (local Ollama, no API key needed)
Returns: Configured LLM instance, or None if no API key set
Note: Tries ANTHROPIC_API_KEY first, falls back to OPENROUTER_API_KEY. When AGENTIC_FABRIC_LLM_PROVIDER=ollama or OLLAMA_BASE_URL is set, routes to a local Ollama server (no API key needed). Returns None if no provider is configured.
Example: >>> llm = get_llm() # Uses Claude Haiku 4.5 >>> llm = get_llm(“claude-opus-4-20250514”, temperature=0.3) >>> llm = get_llm(provider=LLMProvider.OPENROUTER) >>> llm = get_llm(provider=LLMProvider.OLLAMA) # Local Ollama
- agentic_fabric.config.llm.get_llm_or_raise(model: str = DEFAULT_MODEL, temperature: float = 0.7, provider: agentic_fabric.config.llm.LLMProvider | None = None) crewai.LLM¶
Get configured LLM instance, raising if API key not set.
Use this when you need to ensure an LLM is available.
Args: model: Model identifier (see get_llm for options) temperature: Sampling temperature (0.0-1.0) provider: Force specific provider (optional)
Returns: Configured LLM instance
Raises: ValueError: If neither ANTHROPIC_API_KEY nor OPENROUTER_API_KEY is set, and Ollama mode is not enabled.
- agentic_fabric.config.llm.get_llm_for_task(task: str) crewai.LLM | None¶
Get LLM configured for a specific task type.
Args: task: Task type - one of: ‘reasoning’, ‘creative’, ‘code’, ‘default’
Returns: Configured LLM instance, or None if no API key set
Raises: ValueError: If task type is unknown
Example: >>> llm = get_llm_for_task(‘code’) # Low temp, optimized for code >>> llm = get_llm_for_task(‘creative’) # High temp, creative output
- agentic_fabric.config.llm.get_reasoning_llm() crewai.LLM | None¶
Get LLM optimized for complex reasoning tasks.
- agentic_fabric.config.llm.get_creative_llm() crewai.LLM | None¶
Get LLM optimized for creative tasks.
- agentic_fabric.config.llm.get_code_llm() crewai.LLM | None¶
Get LLM optimized for code generation.