Skip to content

Provider Types

The ProviderMetadata type describes a provider’s capabilities and configuration. It is returned by AnyLLM.get_provider_metadata() and AnyLLM.get_all_provider_metadata().

A Pydantic BaseModel containing provider information and feature flags.

Import: from any_llm.types.provider import ProviderMetadata

FieldTypeDescription
namestr
env_keystr
env_api_basestr | None
doc_urlstr
streamingbool
reasoningbool
completionbool
embeddingbool
responsesbool
imagebool
pdfbool
class_namestr
list_modelsbool
messagesbool
batch_completionbool
from any_llm import AnyLLM
llm = AnyLLM.create("openai")
meta = llm.get_provider_metadata()
print(f"Provider: {meta.name}")
print(f"API key env var: {meta.env_key}")
print(f"Supports streaming: {meta.streaming}")
print(f"Supports embedding: {meta.embedding}")
print(f"Supports responses: {meta.responses}")
from any_llm import AnyLLM
for meta in AnyLLM.get_all_provider_metadata():
features = []
if meta.streaming:
features.append("streaming")
if meta.embedding:
features.append("embedding")
if meta.reasoning:
features.append("reasoning")
if meta.responses:
features.append("responses")
print(f"{meta.name}: {', '.join(features) or 'completion only'}")