agno-providers

Configure Agno LLM providers with environment-driven model IDs and parameters.

Updated Sep 10, 2026
One-click install
npx skills add https://github.com/allankltsn/setup_kiro --skill agno-providers-allankltsn
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: agno-providers
Source: https://github.com/allankltsn/setup_kiro/tree/main/.kiro/skills/agno-providers
Command: npx skills add https://github.com/allankltsn/setup_kiro --skill agno-providers-allankltsn

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Adding a new LLM provider to an Agno agent often leads to hardcoded model IDs, scattered os.getenv calls, and magic values without fallbacks. This Skill standardizes how providers are registered and configured so every model ID and constructor parameter comes from an environment variable with a pre-defined default. ## Core Features & Use Cases - Env-driven configuration: Enforces the rule that every model ID ({PROVIDER}_MODEL_ID) and every sampling parameter ({PROVIDER}_TEMPERATURE, _MAX_TOKENS, _TOP_P) is read from env with a default when absent or empty. - Provider adapters: Provides skeleton adapters for Google Gemini, xAI Grok, Moonshot Kimi, and AWS Bedrock with lazy Agno imports, LLMPort implementation, and composition_root wiring. - Typed env helpers: Supplies _get_str, _get_bool, and _get_opt_float helpers where empty values fall back to defaults and invalid values raise ValueError naming the env var. - Use Case: When adding Gemini support to an existing OpenAI/Groq agent, follow the checklist to register the provider, create the adapter, document GEMINI_MODEL_ID in .env.example, and resolve GOOGLE_API_KEY via the secrets pipeline. ## Quick Start Ask the agent to add a new Gemini provider adapter to the Agno project following the env-driven configuration rules with a default model ID.

Frequently Asked Questions about agno-providers

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new LLM provider to an Agno agent?▼

Register the provider in default_provider_registry with its api_key_env and model ID from {PROVIDER}_MODEL_ID, create an adapter in infrastructure/llm implementing LLMPort with a lazy Agno import, wire it in composition_root's build_adapter, and document the new env vars in .env.example.

How to configure Agno model parameters with environment variables?▼

Centralize reads in a ModelParams dataclass loaded by a load_model_params(prefix) function that reads {PROVIDER}_TEMPERATURE, _MAX_TOKENS, and _TOP_P. Empty or missing values fall back to pre-defined defaults, and invalid values raise ValueError naming the env var.

Does AWS Bedrock in Agno use an API key?▼

No, AwsBedrock authenticates through the AWS credential chain (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, or role/profile) plus a region from AWS_REGION or AWS_DEFAULT_REGION. The model ID is an AWS model identifier such as us.anthropic.claude-3-5-haiku-20241022-v1:0.

Why use lazy imports for Agno model classes in adapters?▼

Lazy imports inside the adapter keep the module importable even when the Agno SDK is not installed in the environment. This preserves dependency inversion, since the concrete provider is only known in composition_root.

How do I control reasoning in Moonshot Kimi models with Agno?▼

Kimi reasons by default and returns reasoning_content. Expose MOONSHOT_REASONING_EFFORT and MOONSHOT_USE_THINKING as optional env vars, passing reasoning_effort or use_thinking to the MoonShot constructor only when the env var is set.