Overview
TypeAgent uses pydantic-ai for provider-agnostic model configuration. Support for 25+ providers including OpenAI, Anthropic, Google, Azure, AWS Bedrock, Groq, Mistral, Ollama, and more. Spec Format:provider:model (e.g., "openai:gpt-4o", "anthropic:claude-sonnet-4-20250514")
Quick Start
create_chat_model
provider:model specification.
Model specification in format
"provider:model". If None, uses OPENAI_MODEL environment variable or defaults to "openai:gpt-4o".Examples:"openai:gpt-4o""anthropic:claude-sonnet-4-20250514""google:gemini-2.0-flash""groq:llama-3.3-70b-versatile"
Chat model adapter implementing TypeChat’s
TypeChatLanguageModel interface.Azure OpenAI Auto-Detection
Ifmodel_spec uses "openai:" as the provider but OPENAI_API_KEY is not set and AZURE_OPENAI_API_KEY is available, automatically switches to Azure OpenAI.
Examples
create_embedding_model
provider:model specification.
Embedding model specification. If
None, uses OPENAI_EMBEDDING_MODEL environment variable or defaults to "openai:text-embedding-ada-002".Examples:"openai:text-embedding-3-small""openai:text-embedding-3-large""cohere:embed-english-v3.0""google:text-embedding-004"
Embedding model with automatic caching wrapping a
PydanticAIEmbedder.Azure OpenAI Auto-Detection
Same auto-detection as chat models. Additionally supports model-specific Azure endpoints:Examples
configure_models
Chat model specification (
"provider:model").Embedding model specification (
"provider:model").Tuple of (chat_model, embedding_model).
Example
PydanticAIChatModel
Model to TypeChat’s TypeChatLanguageModel. Enables any pydantic-ai chat model to work with TypeChat’s structured output system.
Constructor
A pydantic-ai
Model instance.Methods
complete
Either a simple string prompt or a list of TypeChat prompt sections with roles.
TypeChat result (Success or Failure) containing the completion text.
PydanticAIEmbedder
Embedder to TypeAgent’s IEmbedder protocol.
Constructor
A pydantic-ai
Embedder instance.The embedding model name.
Methods
ImplementsIEmbedder protocol:
get_embedding_nocache(input: str)- Compute single embeddingget_embeddings_nocache(input: list[str])- Compute batch embeddings
Test Utilities
create_test_embedding_model
Dimension of fake embeddings (default: 3 for easy debugging).
Test embedding model with
model_name = "test".Supported Providers
OpenAI
OpenAI
Provider:
openaiChat Models:gpt-4ogpt-4o-minigpt-4-turbogpt-3.5-turbo
text-embedding-3-small(1536 dims)text-embedding-3-large(3072 dims)text-embedding-ada-002(1536 dims, legacy)
OPENAI_API_KEYAzure OpenAI
Azure OpenAI
Provider:
openai (auto-detected) or azureAuto-detection: When OPENAI_API_KEY is not set but AZURE_OPENAI_API_KEY is.Required:AZURE_OPENAI_API_KEY(or"identity"for managed identity)AZURE_OPENAI_ENDPOINT- Full deployment URL for chatAZURE_OPENAI_ENDPOINT_EMBEDDING- Full deployment URL for embeddings
Anthropic
Anthropic
Provider:
anthropicChat Models:claude-sonnet-4-20250514claude-opus-4-20250514claude-3-5-sonnet-20241022
ANTHROPIC_API_KEYGoogle
Provider:
googleChat Models:gemini-2.0-flashgemini-1.5-progemini-1.5-flash
text-embedding-004
GOOGLE_API_KEY or GOOGLE_APPLICATION_CREDENTIALSAWS Bedrock
AWS Bedrock
Provider:
bedrockChat Models:anthropic.claude-3-5-sonnet-20241022-v2:0meta.llama3-3-70b-instruct-v1:0
Groq
Groq
Provider:
groqChat Models:llama-3.3-70b-versatilemixtral-8x7b-32768
GROQ_API_KEYOllama
Ollama
Provider:
ollamaChat Models: Any locally installed modelllama3.2mistralcodellama
nomic-embed-textmxbai-embed-large
Other Providers
Other Providers
Additional providers supported by pydantic-ai:
- Cohere -
cohere:command-r-plus,cohere:embed-english-v3.0 - Mistral AI -
mistral:mistral-large-latest - Databricks -
databricks:... - Vertex AI -
vertexai:gemini-pro - And more…
Environment Variables
OpenAI
Azure OpenAI
Other Providers
Related
- Embedding Models - Embedding interfaces
- ConversationSettings - Using models in conversations
- Environment Variables - API key configuration
- pydantic-ai Documentation - Full provider reference