LLM Models
Defines the LLM (Large Language Model) to be used with your Agent. The provider.type field specifies the format or protocol of the API.
For example:
open_aimeans the API follows OpenAI’s Chat Completions format.- This option can be used with OpenAI, Azure OpenAI, or Amazon Bedrock — as long as the endpoint behaves like OpenAI’s Chat Completion API.
You can set your Voice Agent’s LLM model in the Settings Message See the docs for more information.
Supported LLM providers
You can query the following endpoint to check the supported models for each provider:
Example Payload
If you don’t specify agent.think.provider.type the Voice Agent will use Deepgram’s default managed LLMs. For managed LLMs, supported model names are predefined in our configuration.
The agent.think.endpoint is optional or required based on the provider type:
- For
open_aiandanthropic, theendpointfield is optional because Deepgram provides managed LLMs for these providers. - For
google,groq, andaws_bedrockprovider types,endpointis required because Deepgram does not manage those LLMs. - If an
endpointis provided theurlis required butheadersare optional.
When using aws_bedrock as the provider type, you must also provide AWS credentials in the agent.think.provider.credentials field. This should include:
type: Either “iam” or “sts”region: AWS region (e.g., “us-east-2”)access_key_id: Your AWS access key IDsecret_access_key: Your AWS secret access keysession_token: Required only whentypeis “sts”
Supported LLM models
OpenAI
Anthropic
Example
The google LLM provider does not allow specifying the model property.
The desired model is specified as part of the endpoint URL instead.
Use API keys from Google AI Studio for Gemini models. Keys from Vertex AI, Workspace Gemini, or Gemini Enterprise will not work with the Agent API.
Groq
Example Payload
Passing a custom (BYO) LLM through a Cloud Provider
For Bring Your Own (BYO) LLMs, any model string provided is accepted without restriction.
You can use a custom LLM hosted by a 3rd party Cloud Provider by setting the provider.type to one of the supported provider values and setting the endpoint.url and endpoint.headers fields to the correct values for your Cloud Provider.