Cohere

Command models, embeddings, and the reranker.

let model = CohereModel("command-a")

Key from COHERE_API_KEY; base URL https://api.cohere.com/v2.

Features

  • Tools, structured output, and vision on the native v2 chat wire.
  • Citations surface as StreamPart.source.
  • command-a-reasoning-08-2025 is a hybrid reasoning model; thinking streams as .reasoningDelta. The reasoning parameter maps to Cohere's thinking field on reasoning models (ids containing reasoning) and is ignored on the others: .none disables thinking, an effort level enables it with a token_budget scaled from maxOutputTokens (capped at 31k), and .providerDefault leaves the model's default (thinking on) untouched.

Embeddings and reranking

Both are independent model protocols: CohereEmbeddingModel works with embed and embedMany, while CohereRerankingModel works with rerank.

let embeddings = try await embedMany(
  model: CohereEmbeddingModel("embed-v4.0"),
  values: documents
)

let ranked = try await rerank(
  model: CohereRerankingModel("rerank-v4-fast"),
  query: "How do I cancel my subscription?",
  documents: documents,
  topN: 3
)
ranked.rankedDocuments.first?.document       // best match
ranked.rankedDocuments.first?.relevanceScore

Models

As of July 2026:

ModelNotes
command-a / command-a-03-2025General chat
command-a-plus / command-a-plus-05-2026Multimodal MoE flagship (vision + text)
command-a-reasoning-08-2025Reasoning; thinking maps from reasoning (above)
command-a-vision-07-2025Vision — up to 20 images, 128K context; no tool calling
command-a-translate-08-2025Translation across 23 languages
north-mini-code-1.0Code
embed-v4.0Embeddings (CohereEmbeddingModel)
rerank-v4-pro / rerank-v4-fast / rerank-v3.5Rerank (CohereRerankingModel)

The chat, reasoning, vision, and translation models share the v2 chat wire, so any of them drops into CohereModel("…").