AI features and bring-your-own-key (BYOK)

Embed
Preview of the card
<a href="https://forumulate.com/guides/ai-byok"><img src="https://forumulate.com/guides/_api/public/orgs/046a9bc0-d530-43ae-9bae-af7945008cda/spaces/36aa4df0-1e95-4cef-8ae9-795169441345/pages/be274862-5f19-4102-9739-a66a36d3a79d/social-card.svg?v=3e7ae33eec8b" alt="AI features and bring-your-own-key (BYOK)" width="600" height="315"></a>

Forumulate's AI features run on your organization's own provider credentials — bring-your-own-key. There is deliberately no platform-wide AI key: an organization without a connected key gets a clear "connect a provider" message rather than quietly spending someone else's credits, and your prompts never run on shared credentials.

There are two independent credentials to connect: one for the generative LLM (answers, translation, rewriting), and one for embeddings (semantic search). Keys are encrypted at rest and never shown again after you save them — status views show only a masked hint.

Connect your keys

Configure both in the console at /o/{orgId}/settings. You need the Manage integrations permission (org.manage_integrations).

Generative LLM provider

Choose a provider and paste your API key:

  • Anthropic (Claude) — default model claude-sonnet-4-5

  • OpenAI — default model gpt-4o-mini

  • Google (Gemini) — default model gemini-2.0-flash

You can override the model. Use Test to run a live ping that verifies the key and stamps it as connected.

Embedding provider

Embeddings power semantic search. Supported providers:

  • OpenAI — default text-embedding-3-small (1536 dimensions)

  • Google — default text-embedding-004 (768 dimensions)

Changing the model or provider automatically re-indexes your content. You can also trigger a reindex manually.

Search works even without an embedding key. If you connect no embedding provider, Forumulate falls back to a built-in deterministic hash embedding so indexing and search keep working — you just get better ranking once you connect a real provider. The generative features, by contrast, hard-fail without a key.

What AI powers

Every page and forum topic is embedded (title + text) and stored in Postgres (pgvector). Search fuses vector similarity with classic full-text ranking using Reciprocal Rank Fusion, so results combine meaning and keywords. Content is hashed so unchanged pages are not re-embedded, saving provider calls.

Ask the docs / AI answers (grounded Q&A)

  • Ask a space — readers ask a question and get an answer drawn strictly from your published content, with citations back to the source slots. Powers the "Ask AI" box in the docs reader.

  • AI Lens (ask across the org) — the same, spanning the whole organization or a chosen set of spaces.

  • AI Agent — draft a whole new page from an instruction; it is created as a draft for you to review.

  • External knowledge sources — add URLs or text snippets as extra grounding for answers.

  • AI Insights — the questions people ask are logged and surfaced as answered-rate, top questions, and knowledge gaps (in Analytics).

AI answers consume your AI daily credits quota (see the billing guide).

Translation

On-demand page translation in the authoring tools: translate a page into another language using your own LLM key, preserving Markdown and code. This is an explicit authoring action per page, not automatic background translation.

Other AI authoring tools

  • Freshness review — flags stale sections of a page and suggests fixes.

  • Rewrite — rewrite a page's content to an instruction.

AI spam detection

In community spaces, borderline posts (those scoring between your configured community.spam_ai_min and community.spam_ai_max thresholds) are escalated to the AI classifier for a spam probability. It degrades gracefully to heuristics when no key is connected. Tune the thresholds in the space's moderation settings.

Where keys live and how they're protected

Keys are stored per organization, encrypted at rest, and are never returned by the API — only a masked hint (last four characters). Only the provider endpoints (base URLs) and a default embedding model name are platform configuration; every secret is yours.

The Forumulate teamUpdated