> ## Documentation Index
> Fetch the complete documentation index at: https://pro-bot.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Models & keys

> The LLM providers ProBot supports, how to get a key, and how to set it up - your key, your bill, never ours.

ProBot is **bring-your-own-key (BYO key)**: you connect your own LLM provider account, and ProBot uses it to power your bot's replies. We never resell tokens or mark up usage - you pay your provider directly (often pennies per conversation, or nothing on free tiers).

## Supported providers

| Provider               | Example models           | Get a key                                                     |
| ---------------------- | ------------------------ | ------------------------------------------------------------- |
| **Anthropic (Claude)** | Claude 3.5 Sonnet, Haiku | [console.anthropic.com](https://console.anthropic.com)        |
| **OpenAI**             | GPT-4o, GPT-4o-mini      | [platform.openai.com](https://platform.openai.com/api-keys)   |
| **Azure OpenAI**       | Your deployed GPT models | Azure portal → your OpenAI resource                           |
| **Google Gemini**      | Gemini 1.5 Flash / Pro   | [aistudio.google.com](https://aistudio.google.com/app/apikey) |
| **Grok (xAI)**         | grok-4.3 and newer       | [x.ai/api](https://x.ai/api)                                  |
| **Ollama (local)**     | llama3.2, qwen2.5, …     | No key - runs on your machine                                 |

<Tip>
  For the cheapest good results, a "mini"/"flash" tier model (GPT-4o-mini,
  Claude Haiku, Gemini Flash) is plenty for resume Q\&A.
</Tip>

<Note>
  **Want it truly \$0?** Run [Ollama](https://ollama.com) locally and pick the
  **Ollama** provider - the model runs on your own machine, so there's no API
  key and no per-message cost. The catch: the server that runs the chat must be
  able to reach your Ollama. That's automatic when you
  [self-host your bot](/self-hosted-bot/index) (Ollama at `http://localhost:11434`);
  on the managed site at pro-bot.dev you'd need to expose Ollama at a public
  `https://` URL. **Grok**, by contrast, uses xAI's paid API - it's free to
  *operate* (you bring your own key) but xAI bills you for usage.
</Note>

## Setup

1. Create an API key in your provider's console (links above).
2. In ProBot, open **AI model & key** (sidebar → *Manage model & key*, or Settings → AI model & key).
3. Pick the provider + model and paste your key.
4. The key is **envelope-encrypted at rest** (AES-256-GCM DEK wrapped by a KEK held outside the database), decrypted in memory for one chat request, then discarded. It is never logged in plaintext.

### Azure specifics

Azure also needs your **endpoint** and (optionally) an **API version**; these ride in their own headers alongside the key. Use your deployed model's deployment name as the model.

### Ollama specifics

Ollama needs no key - just the **base URL** of your Ollama server (default `http://localhost:11434`) and the **model name** you've pulled (e.g. `llama3.2`). Plain `http://` is allowed only for localhost; any remote Ollama must be served over `https://`.

### Grok specifics

Grok works like OpenAI - paste your xAI key and type the model id (e.g. `grok-4.3`). xAI's model catalog changes often, so the model is a free-text field rather than a dropdown.

## Where your key lives

Keys are stored server-side with [envelope encryption](/guides/managed-key-storage): each key is wrapped with a per-bot data-encryption key (DEK), which is itself wrapped by a key-encryption key (KEK) held outside the database. A database-only leak is useless without the KEK.

## Optional: embeddings key

For vector retrieval (RAG), ProBot can use an OpenAI embeddings key. Without one, your bot falls back to using its full assembled context - still accurate, just less surgical for large knowledge bases. See [Bring your own key](/concepts/byo-key).

## Costs

You only ever pay your LLM provider. ProBot itself is free and MIT-licensed. A typical resume chat is a few thousand tokens; on a mini/flash model that's a fraction of a cent.
