All topics

Connect your own AI

On-site, your AI can run on your own server too.

Illustration · Your calls go to your own model only
On this page 3 sections

Ordo On-site runs on your own computer or server, and so can its AI. Connect a model you run yourself, like Qwen, or your company's own AI service. Call notes, account research and Ask Ordo AI then all go to it: your calls, notes and records are never sent to Google, Anthropic or us for AI.

Try it

In Ordo
  1. .env
  2. AI_PROVIDER=openai-compatible
  3. Restart Ordo

Then open a meeting with a transcript and choose Analyze with AI.

Set it up

What you need

  • A model server: Ollama or LM Studio on the same computer, or anything your IT team runs that speaks the OpenAI chat format (vLLM, llama.cpp, a gateway).
  • A graphics card with enough memory for the model size you choose (see Which model size). Without one it works, but a call note can take minutes.
  • Access to Ordo's .env file, in the folder Ordo is installed in. Settings there take effect when Ordo restarts.

Ollama with Qwen, step by step

  1. Install Ollama from ollama.com/download.
  2. Give models room to read a whole call: set the environment variable OLLAMA_CONTEXT_LENGTH to 32768, then restart Ollama. On Windows: Start → "Edit environment variables for your account" → New.
  3. Download the model, in a terminal: ollama pull qwen3:8b
  4. Add these lines to Ordo's .env and restart Ordo:
    AI_PROVIDER=openai-compatible
    AI_BASE_URL=http://localhost:11434/v1
    AI_MODEL=qwen3:8b
  5. Open a meeting with a transcript and choose Analyze with AI. The first answer is the slowest, while the model loads.

LM Studio

Download the model in LM Studio and load it with a Context Length of 32768 or more. Then start the server under Developer → Start server, and use its address and the model's name as LM Studio lists it:

AI_PROVIDER=openai-compatible
AI_BASE_URL=http://localhost:1234/v1
AI_MODEL=qwen3-8b

Your company's AI service or gateway

Any service with the OpenAI chat format works the same way: vLLM, a llama.cpp server, LiteLLM, or a hosted service your company already pays for. Add a key if it needs one; it's sent as Authorization: Bearer ….

AI_PROVIDER=openai-compatible
AI_BASE_URL=https://ai.yourcompany.internal/v1
AI_MODEL=qwen3-32b
AI_API_KEY=your-key

Anything else: a connector of your own

For an AI with its own kind of API, a developer writes a small connector: one JavaScript file whose default export takes the request and returns the answer. Start from connectors/example.js in the Ordo folder; it's a working example with notes on every part.

// connectors/my-ai.js
export default async function complete({ system, user, schema, maxTokens }) {
  // system: the instructions · user: the call, pages or CRM data · schema: the JSON the answer must match
  const res = await fetch("https://ai.yourcompany.internal/generate", { method: "POST", body: JSON.stringify({ system, user, schema }) });
  return (await res.json()).output;   // a JSON object, or JSON text
}
AI_PROVIDER=custom
AI_CONNECTOR=./connectors/my-ai.js

Ordo loads it once, and checks every answer before using it. It runs inside Ordo with Ordo's access, so use only your own code.

Which model size

Bigger models write better notes but need more graphics memory and take longer. Smaller ones can miss a price or a date, or fail to give their answer in the shape Ordo needs; models under about 7B often can't. Start with an 8B model, and move up if the notes miss things.

Before relying on a model, an administrator can run npm run check-calls with the same settings. It checks a sample call's note: the prices, dates and promises it must catch, and how long it took.

If something goes wrong

  • "Ordo can't reach the AI at http://localhost:11434/v1. Is Ollama running?" Start Ollama (or LM Studio's server) and try again. Check that the address in .env is right.
  • "Check AI_BASE_URL and AI_MODEL in .env." The address usually ends in /v1, and the model's name must be exactly as the server lists it (for Ollama: ollama list).
  • "The AI only read part of this" or "The AI can't read all of this": the model's context length is too small for a long call. Set it to 32768 or more: OLLAMA_CONTEXT_LENGTH for Ollama, Context Length when loading the model in LM Studio, --max-model-len for vLLM.
  • "The AI at … stopped before it answered": the AI server stopped, usually because the model didn't fit in memory. Use a smaller model, or close other programs that use the graphics card.
  • "The AI took too long to answer": Ordo waits up to 3 minutes. Use a smaller model, or a computer with a graphics card.
  • "The AI did not return JSON": the model couldn't give its answer in the shape Ordo needs. Try a bigger model.