Provider Capabilities

Functions for querying and validating provider capabilities.

Each service endpoint declares which API features it supports. Request functions validate capabilities before dispatching, giving clear errors instead of HTTP 404s.

Functions

UniLM.provider_capabilitiesFunction
provider_capabilities(service) -> Set{Symbol}

Return the set of capabilities supported by the given service endpoint.

Standard capability symbols:

  • :chat — Chat Completions API (/v1/chat/completions)
  • :embeddings — Embeddings API (/v1/embeddings)
  • :responses — Responses API (/v1/responses)
  • :images — Image Generation API (/v1/images/generations)
  • :tools — Tool/function calling in chat
  • :fim — FIM Completion (/v1/completions with suffix)
  • :prefix_completion — Chat prefix completion (continue from partial assistant message)
  • :json_output — JSON output mode (response_format)
source
UniLM.has_capabilityFunction
has_capability(service, cap::Symbol) -> Bool

Check whether the service endpoint supports a given capability.

source

Capability Symbols

SymbolDescription
:chatChat Completions API (/v1/chat/completions)
:embeddingsEmbeddings API (/v1/embeddings)
:responsesResponses API (/v1/responses)
:imagesImage Generation API (/v1/images/generations)
:toolsTool/function calling in chat
:fimFIM Completion (/v1/completions with suffix)
:prefix_completionChat prefix completion
:json_outputJSON output mode (response_format)

Capabilities by Provider

using UniLM

for (name, svc) in [
    ("OpenAI",  OPENAIServiceEndpoint),
    ("Azure",   AZUREServiceEndpoint),
    ("Gemini",  GEMINIServiceEndpoint),
    ("DeepSeek", DeepSeekEndpoint("k")),
    ("Generic", GenericOpenAIEndpoint("http://x", ""))
]
    caps = join(sort(collect(provider_capabilities(svc))), ", ")
    println("$name: $caps")
end
OpenAI: chat, embeddings, images, json_output, responses, tools
Azure: chat, tools
Gemini: chat, embeddings, json_output, tools
DeepSeek: chat, fim, json_output, prefix_completion, tools
Generic: chat, embeddings, fim, responses, tools