---
title: Providers
description: Register and manage LLM providers — 30 built-in providers covering all major LLM APIs.
---

Nexus supports 30+ LLM providers simultaneously. Each provider implements a unified interface for chat completions, streaming, embeddings, and model listing.

## Provider Interface

Every provider implements `provider.Provider`:

```go
type Provider interface {
    Name() string
    Complete(ctx context.Context, req *CompletionRequest) (*CompletionResponse, error)
    Stream(ctx context.Context, req *CompletionRequest) (Stream, error)
    Embed(ctx context.Context, req *EmbeddingRequest) (*EmbeddingResponse, error)
    Models(ctx context.Context) ([]Model, error)
    Capabilities() Capabilities
}
```

## Built-in Providers

Nexus includes 30 provider implementations out of the box. Each is an independent Go module that can be imported separately.

### Major Providers

| Provider | Package | Chat | Embed | Vision | Tools | Thinking |
|----------|---------|------|-------|--------|-------|----------|
| [OpenAI](/docs/nexus/providers/openai) | `providers/openai` | Yes | Yes | Yes | Yes | Yes |
| [Anthropic](/docs/nexus/providers/anthropic) | `providers/anthropic` | Yes | — | Yes | Yes | Yes |
| [Google Gemini](/docs/nexus/providers/gemini) | `providers/gemini` | Yes | Yes | Yes | Yes | — |
| [Cohere](/docs/nexus/providers/cohere) | `providers/cohere` | Yes | Yes | — | Yes | — |
| [DeepSeek](/docs/nexus/providers/deepseek) | `providers/deepseek` | Yes | — | — | Yes | Yes |

### Cloud Providers

| Provider | Package | Auth | Chat | Embed | Vision | Tools |
|----------|---------|------|------|-------|--------|-------|
| [Azure OpenAI](/docs/nexus/providers/azureopenai) | `providers/azureopenai` | API Key | Yes | Yes | Yes | Yes |
| [Amazon Bedrock](/docs/nexus/providers/bedrock) | `providers/bedrock` | AWS SigV4 | Yes | — | — | Yes |
| [Google Vertex AI](/docs/nexus/providers/vertex) | `providers/vertex` | GCP OAuth2 | Yes | Yes | Yes | Yes |

### Inference Providers

| Provider | Package | Chat | Embed | Vision | Tools |
|----------|---------|------|-------|--------|-------|
| [Groq](/docs/nexus/providers/groq) | `providers/groq` | Yes | — | Yes | Yes |
| [Together AI](/docs/nexus/providers/together) | `providers/together` | Yes | Yes | — | Yes |
| [Mistral](/docs/nexus/providers/mistral) | `providers/mistral` | Yes | Yes | Yes | Yes |
| [Fireworks AI](/docs/nexus/providers/fireworks) | `providers/fireworks` | Yes | Yes | — | Yes |
| [Perplexity](/docs/nexus/providers/perplexity) | `providers/perplexity` | Yes | — | — | — |
| [xAI (Grok)](/docs/nexus/providers/xai) | `providers/xai` | Yes | — | Yes | Yes |
| [OpenRouter](/docs/nexus/providers/openrouter) | `providers/openrouter` | Yes | Yes | Yes | Yes |
| [Cerebras](/docs/nexus/providers/cerebras) | `providers/cerebras` | Yes | — | — | — |
| [SambaNova](/docs/nexus/providers/sambanova) | `providers/sambanova` | Yes | — | — | — |
| [Deepinfra](/docs/nexus/providers/deepinfra) | `providers/deepinfra` | Yes | Yes | — | Yes |
| [NVIDIA NIM](/docs/nexus/providers/nvidia) | `providers/nvidia` | Yes | Yes | — | Yes |
| [Lepton AI](/docs/nexus/providers/lepton) | `providers/lepton` | Yes | — | — | — |
| [Novita AI](/docs/nexus/providers/novita) | `providers/novita` | Yes | — | — | — |
| [Anyscale](/docs/nexus/providers/anyscale) | `providers/anyscale` | Yes | — | — | — |
| [Hyperbolic](/docs/nexus/providers/hyperbolic) | `providers/hyperbolic` | Yes | — | — | — |
| [Nebius](/docs/nexus/providers/nebius) | `providers/nebius` | Yes | Yes | — | Yes |
| [AI21](/docs/nexus/providers/ai21) | `providers/ai21` | Yes | — | — | Yes |

### Local Providers

| Provider | Package | API Key | Chat | Embed | Vision | Tools |
|----------|---------|---------|------|-------|--------|-------|
| [Ollama](/docs/nexus/providers/ollama) | `providers/ollama` | Not required | Yes | Yes | Yes | Yes |
| [LM Studio](/docs/nexus/providers/lmstudio) | `providers/lmstudio` | Not required | Yes | Yes | Yes | Yes |

### Embeddings-Only Providers

| Provider | Package | Embed |
|----------|---------|-------|
| [Voyage AI](/docs/nexus/providers/voyageai) | `providers/voyageai` | Yes |
| [Jina AI](/docs/nexus/providers/jinaai) | `providers/jinaai` | Yes |

### Generic

| Provider | Package | Description |
|----------|---------|-------------|
| [OpenAI-Compatible](/docs/nexus/providers/opencompat) | `providers/opencompat` | Connect any OpenAI-compatible API |

## Quick Example

```go
import (
    "github.com/xraph/nexus/providers/openai"
    "github.com/xraph/nexus/providers/anthropic"
    "github.com/xraph/nexus/providers/groq"
)

gw := nexus.New(
    nexus.WithProvider(openai.New(os.Getenv("OPENAI_API_KEY"))),
    nexus.WithProvider(anthropic.New(os.Getenv("ANTHROPIC_API_KEY"))),
    nexus.WithProvider(groq.New(os.Getenv("GROQ_API_KEY"))),
)
```

## Capabilities

Each provider reports what it supports:

```go
caps := provider.Capabilities()
caps.Chat       // chat completions
caps.Stream     // streaming responses
caps.Embed      // embeddings
caps.Vision     // image inputs
caps.Tools      // tool/function calling
caps.Thinking   // extended thinking (Anthropic, DeepSeek R1)
```

## Provider Health

Nexus tracks provider health automatically — success/failure counts, average latency, and P99 latency. Use this data for smart routing decisions:

```go
nexus.WithHealthTracker(provider.NewMemoryHealthTracker())
```
