# AI Models for ADK agents

Supported in ADKPythonTypescriptGoJava

Agent Development Kit (ADK) is designed for flexibility, allowing you to integrate various Large Language Models (LLMs) into your agents. This section details how to leverage Gemini and integrate other popular models effectively, including those hosted externally or running locally.

ADK provides several mechanisms for model integration:

1. **Direct String / Registry:** For models tightly integrated with Google Cloud, such as Gemini models accessed via Google AI Studio or Agent Platform, or models hosted on Agent Platform endpoints. You access these models by providing the model name or endpoint resource string and ADK's internal registry resolves this string to the appropriate backend client.

   - [Gemini models](/agents/models/google-gemini/)
   - [Claude models](/agents/models/anthropic/)
   - [Agent Platform hosted models](/agents/models/agent-platform/)

1. **Model connectors:** For broader compatibility, especially models outside the Google ecosystem or those requiring specific client configurations, such as models accessed via Apigee or LiteLLM. You instantiate a specific wrapper class, such as `ApigeeLlm` or `LiteLlm`, and pass this object as the `model` parameter to your `LlmAgent`.

   - [Apigee models](/agents/models/apigee/)
   - [LiteLLM models](/agents/models/litellm/)
   - [Ollama model hosting](/agents/models/ollama/)
   - [vLLM model hosting](/agents/models/vllm/)
   - [LiteRT-LM model hosting](/agents/models/litert-lm/)

1. **[Model routing](/agents/models/routing/):** For dynamically selecting between multiple models at runtime using a router function, with automatic failover on error.
