unbiased ai

A private ChatGPT for your team, on your own docs

Your team asks the same questions every week. Host a chat app, load the handbook, and let it answer with the passage it found. Pareto writes those answers. It is Unbiased’s model: it selects frontier and open models for each request and blends their outputs into one answer.

Tested live with Open WebUI 0.12.3Shared apps go on Team

A replay of our Open WebUI test on Pareto, recreated from a real run. Not a screenshot.

Tools that do this

Each of these talks to Pareto with a base URL, an API key and the model string pareto. Pick the one you already use.

The recipe: a chat app, your docs and one model string

Each app below keeps the users, the chat history and the document index on your server. Pareto only sees the question and the passages the app picked. The Open WebUI tab is what we ran; the other tabs follow each app’s own documentation.

  1. Get an Unbiased API key

    Choose a plan, then create a key in the Unbiased platform. New accounts are reviewed and approved by a person before the key works. A chat app shared by a team belongs on Team, which is pay as you go.

  2. Run the chat app on your server

    Install it with pip or Docker, following its own guide. Users sign in to your instance, not to Unbiased, and their chats stay in its database.

  3. Add Pareto as a provider

    Base URL https://api.unbiased.ai/v1, your Unbiased key, and the model name pareto typed by hand: /v1/models is not published, so don’t rely on the model list.

  4. Keep embeddings on a provider that serves them

    The app turns your documents into embeddings so it can search them. Unbiased does not serve /v1/embeddings, so leave that job on the app’s local model (Open WebUI and Onyx do this by default) or on an embedding provider you choose.

  5. Load your docs and ask

    Upload a handbook, connect a Drive folder or point it at a wiki. Ask something only the documents know, then check the answer against the passage it cites.

Tested on October 20, 2026Open WebUI 0.12.3 (pip) on Python 3.12, model pareto. Open WebUI listed pareto from environment variables alone and, called with an Open WebUI API key, answered three questions from an uploaded team handbook with the right facts, 9 answers out of 9 over 3 runs; all 9 cited the handbook with [1]. Run record.

Open WebUI

The first three variables add Pareto before the first launch, model ID included, so nobody has to type it into the admin panel. ENABLE_API_KEYS lets you create an Open WebUI API key under Settings > Account for the API call below. Then create a Knowledge base, upload your files and type # in a chat to attach it.

  • Tested with Open WebUI 0.12.3 from pip, on Python 3.12
  • pip needs Python 3.11 or 3.12; Docker works too, see the Open WebUI guide
  • Embeddings run locally with all-MiniLM-L6-v2 by default, so documents are indexed on your server
Shell
pip install open-webui==0.12.3
export OPENAI_API_BASE_URL=https://api.unbiased.ai/v1
export OPENAI_API_KEY=your-unbiased-api-key
export OPENAI_API_CONFIGS='{"0": {"enable": true, "model_ids": ["pareto"]}}'
export ENABLE_OLLAMA_API=False
export ENABLE_API_KEYS=True
export WEBUI_SECRET_KEY=your-secret-key
open-webui serve
Then, in the app
Workspace > Knowledge > Create
  Name: Team handbook
  Upload handbook.md and wait for processing to finish

New chat > model pareto
  Type # and pick Team handbook, then ask your question
Or over the Open WebUI API (the request our test sent)
curl -X POST http://localhost:8080/api/chat/completions \
  -H "Authorization: Bearer your-open-webui-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "pareto",
    "stream": false,
    "messages": [{"role": "user", "content": "I got paged at 23:30 last night. What time can I start today?"}],
    "files": [{"type": "collection", "id": "your-knowledge-id"}]
  }'

The variables are read on the first launch and then stored, so change the connection later under Settings > Admin > Connections. The bearer token is an Open WebUI API key (it starts with sk-), not your Unbiased key. Our test sent the request above from a Python script with the same JSON body and an Open WebUI API key.

Answers from our Open WebUI run (handbook attached)
> How much do we pay for a week on call, and when does the rotation start?
On-call engineers receive a $200 stipend for each week they are on call, and the rotation runs from Monday 09:00 to Monday 09:00 Central time [1].

> I got paged at 23:30 last night. What time can I start today?
Since you were paged at 23:30, which is after 22:00, you may start today at 11:00 [1].

> Can I buy a $600 monitor and expense it without asking anyone?
No, you cannot buy a $600 monitor and expense it without asking anyone. According to the Northwind Field Services Team Handbook, any purchase over $500 requires written approval from your manager before you buy it [1].

What it costs on Pareto

In our test each answer took 846 to 1,144 tokens, input plus output as the API reported, with a one-page handbook. Most of that is the passages the app sends with each question, so longer documents, more passages and long chats cost more.

Personal at $10/monthFor one person
50M
tokens a week, 20 requests a minute
Personal Max at $100/monthFor one person
600M
tokens a week, 60 requests a minute

Personal and Personal Max are for one person. A chat app your whole team uses belongs on Team, which runs on prepaid credits at the published rates with no weekly token cap, and production use needs a written agreement. Platform teams can start here. Run record.

One key for every tool on this page

Pick a monthly allowance, or pay per token on Team.

Personal

$10/month

  • 50M tokens a week
  • 20 requests per minute
  • For one person
Choose Personal

Personal Max

$100/month

  • 600M tokens a week
  • 60 requests per minute
  • For one person
Choose Personal Max

Team

Pay as you go

  • Prepaid credits at published rates
  • 300 requests per minute
  • No weekly token cap
Get started with Team

Subscriptions are for one person and are not unlimited. New API accounts are reviewed by a person before access turns on, and commercial or production use needs a separate written agreement. Rates and limits are on Pricing.

Questions about this recipe

Does Pareto see all of our documents?

No. The chat app searches its own index and sends the question with the few passages it picked. In our Open WebUI test that was about 700 input tokens per question. Your files, the index and the chat history stay on your server.

Why does the app need a separate embedding model?

Search works on embeddings, and Unbiased does not serve /v1/embeddings: it returned HTTP 404 when we checked on October 20, 2026. Open WebUI and Onyx embed with a local model by default. LibreChat’s RAG API and LobeHub’s knowledge base default to OpenAI embeddings, so give them a provider that serves embeddings.

Which plan does a team need?

Team. Personal and Personal Max are for one person, and one key on a shared server serves everyone who signs in. Team is pay as you go with no weekly token cap, and production use needs a separate written agreement. Platform teams can start here.

Do the answers say where they came from?

In our Open WebUI test, every answer cited the handbook with a [1]. Onyx lists its sources under each answer. Check a few answers against the source before you tell your team to trust it.

Was each of these apps tested?

Only Open WebUI 0.12.3, with the knowledge base attached to the chat: 9 of 9 answers had the right facts. We also attached the knowledge base to a workspace model, where Open WebUI 0.12.3 gives Pareto search tools; Pareto called them, but we could not run that tool loop outside the browser. LibreChat, Onyx and LobeHub follow their docs. Format compatibility is not a promise that every feature works, so tell us if one doesn’t.

What happens when I hit the weekly allowance?

Requests over your plan’s limits return an HTTP 429 error. Personal includes 50M tokens a week and 20 requests per minute. Personal Max raises that to 600M a week and 60 requests per minute for $100/month. Team uses prepaid pay-as-you-go credits with no weekly token cap.

Do I choose between models?

No. You send every request to one model string, pareto. Pareto selects frontier and open models for each request and blends their outputs into one answer.

Is my code kept?

Personal and Personal Max are not our zero data retention tier: prompts and responses may be kept up to 30 days, as section 5(c) of the Terms explains. For work that must not be kept, ask about the Zero Data Retention API on the Private AI page.

Same key, same model string, different job. See every use case. Or find your tool on Works with.

Product names belong to their owners. Unbiased is not affiliated with or endorsed by the makers of the tools on this page.

Give your team’s questions to the handbook

One chat app, your documents and an API key. Pareto starts at $10 a month for one person, and Team is pay as you go.