Back to results

AI Engineer

  • Mississauga, ON, Canada

Full-time

Applications open in a new tab.

Job details

Job type
Full-time
Apply by
Posting language
English
Posted

Original job description

About Supra ITS

Supra ITs builds an enterprise agent platform that customers run in the cloud or on-prem. Admins create and entitle custom agents (prompts, tools, knowledge). End users chat with those agents over documents, SQL, policy RAG, and operational systems (e.g. ticket triage, order audit, product intelligence).

The platform is a real product: FastAPI + LangGraph agents, React admin/chat UI, Postgres/Supabase, Qdrant, MCP tool servers, LiteLLM gateway, dual-cloud (AWS/GCP) and Docker/Kubernetes installs.

The role

You will own agent runtime and AI-adjacent backend: how skills are built, how tools are called, how retrieval and file context work, and how LLM traffic is routed, attributed, and kept safe. You will ship with Test Driven Development, architecture decision records, and story-level acceptance criteria - not notebooks that never reach production.

You Will Work Across

  • LangGraph / Deep Agent graphs (ReAct, multi-step research, custom skills)
  • Tooling: native file/SQL/todo tools, MCP (policy search, Graph files, customer systems)
  • RAG & retrieval: Qdrant collections per agent, hybrid/keyword fallback, knowledge ingest vs chat attachments
  • AI Gateway: LiteLLM, model aliases, spend attribution, fail-clear routing
  • Product surfaces: Agent Chat, Admin Builder, Sandbox, entitlements/deploy

Frontend (React/TypeScript) is not the primary hire, but you will touch chat/sandbox contracts when the agent loop or upload path changes.

What You Will Do

  • Design and implement agent loops: system prompts, tool selection, state (messages, virtual FS, conversation persistence), streaming SSE
  • Add or harden tools (MCP and native) with clear failure modes - no silent drops, no leaking secrets in client errors
  • Improve retrieval quality (chunking, embeddings, hybrid search, citations grounded in tool output)
  • Integrate the LiteLLM gateway: routing, timeouts, streaming, per-agent/skill attribution
  • Keep chat attachments, durable conversation artifacts, and knowledge corpus on the correct stores (they are not the same)
  • Write pytest (and Vitest when you change UI contracts); trace work to user stories and ADRs
  • Partner with Product, Architect, QA, and UX on sandbox-first proofs before entitle/deploy
  • Support on-prem and dual-cloud constraints: Postgres as source of truth, no “works only on one vendor’s blob store”

Must-have Qualifications

  • Strong Python in production services (FastAPI or similar)
  • Hands-on LLM application work: function/tool calling, RAG, prompt + eval loops - not only wrapping a chatbot widget
  • Comfort with LangChain / LangGraph (or equivalent graph/agent orchestration) and debugging multi-turn tool traces
  • Solid SQL / Postgres; you can reason about migrations, RLS, and “this belongs in a row vs object storage”
  • TDD habit: you write the failing test first for services that can lie to users (file extract, persist, authz)
  • Clear written design: you can explain trade-offs (e.g. hydrate files from DB vs S3) to non-research stakeholders
  • [3–5+ years] software engineering, including [1–2+] years shipping LLM features

Nice to have

  • Vector DBs (Qdrant), embeddings pipelines, hybrid/BM25 + dense retrieval
  • MCP servers or OpenAI-compatible tool catalogs
  • LiteLLM, Azure OpenAI / Anthropic, gateway or router experience
  • React/TypeScript (Vite) enough to wire FormData, SSE, and admin sandbox
  • Knowledge graphs / Neo4j (Product Intelligence / Deep Research)
  • Enterprise authz (JWT, RBAC, entitlements), OWASP-minded reviews
  • Docker/Kubernetes, AWS and/or GCP, on-prem install empathy
  • Domain exposure: manufacturing/distribution, ticketing (ConnectWise-class), policy/audit workflows

What This Role Is Not

  • Training or fine-tuning foundation models as the main job
  • Pure data science / notebook research with no production bar
  • Prompt-only “AI consultant” without owning the runtime

How We Work

Stories → ADRs → TDD implementation → review → QA. Caps and fail-closed behavior are product requirements (e.g. max files per turn, no silent truncate). You will be expected to prove behavior in Admin Sandbox the same way production Chat works.

Skills: langchain,sql,python
More about this job

Responsibilities

Build and maintain production agent runtimes, tool integrations, retrieval and file-context workflows, and LLM gateway routing, with reliable streaming, persistence, attribution, and security. Improve retrieval quality and support the chat, admin, and sandbox experiences while meeting on-premises and AWS/GCP deployment requirements.

Requirements

Requires strong production Python experience, hands-on delivery of LLM features involving tools, RAG, prompts, and evaluation, and familiarity with agent orchestration such as LangGraph. Also requires solid SQL/PostgreSQL skills, a test-driven development habit, clear written design, and 3–5+ years of software engineering experience including 1–2+ years shipping LLM features.

Skills

  • Python
  • FastAPI
  • LangChain
  • LangGraph
  • SQL
  • PostgreSQL
  • RAG
  • Tool Calling
  • Qdrant
  • LiteLLM
  • MCP
  • Test-Driven Development
  • React
  • TypeScript
  • Docker
  • Kubernetes

Visa sponsorship

Not detected in the job text

Categories

  • Technology
  • Software
  • Engineering
  • Data & Analytics

Keywords

  • Python
  • FastAPI
  • LangGraph
  • LangChain
  • Agent Runtime
  • LLM Applications
  • Tool Calling
  • RAG
  • Qdrant
  • Hybrid Search
  • Embeddings
  • LiteLLM
  • MCP
  • PostgreSQL
  • Supabase
  • SQL
  • React
  • TypeScript
  • Server-Sent Events
  • Test-Driven Development
  • Pytest
  • Vitest
  • Docker
  • Kubernetes
  • AWS
  • Google Cloud Platform
  • Role-Based Access Control
  • Knowledge Graphs
  • Neo4j
  • On-Premises Deployment

Report this job