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_capabilities — Function
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/completionswithsuffix):prefix_completion— Chat prefix completion (continue from partial assistant message):json_output— JSON output mode (response_format)
UniLM.has_capability — Function
has_capability(service, cap::Symbol) -> BoolCheck whether the service endpoint supports a given capability.
Capability Symbols
| Symbol | Description |
|---|---|
: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 |
:json_output | JSON 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")
endOpenAI: 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