AI & ML

OpenAI

The most widely adopted large language model API. GPT-4o, o1 reasoning models, function calling, and the Assistants API form a broad AI development platform.

ANZProspaClearViewIAGEYQantasUnited NationsSwiss Government
The landscape
01

The most adopted AI platform

OpenAI's API covers text generation, vision, audio transcription, image generation and embeddings behind a single integration. That breadth means a product's second and third AI features can land on the platform the first one established, under the same keys, quotas and observability.

Structured outputs validate each response against a supplied JSON schema, and function calling lets the model request operations the application defines: together they turn model output into a contract that other systems can consume directly. The Assistants API adds persistent threads, file search and code execution held on the platform side.

Adaca's partnership spans both OpenAI and Anthropic, so no recommendation starts from vendor preference: models are chosen per task, and a single system often routes across the two. Where data must remain in a particular jurisdiction or tenancy, the same models run through Azure OpenAI.

The platform is the wrong tool where a process is fixed and rule-based: conventional software runs it faster, more cheaply, and with behaviour that can be audited by reading the code. And for organisations whose data estate sits on Google Cloud, Gemini through Google Vertex AI keeps models, warehouse and pipelines on one platform.

Models GPT-4o, o1, GPT-4o-mini
Key features Function calling, Assistants, fine-tuning
Enterprise Azure OpenAI for data residency
Typical pattern Chat, extraction, code generation, agents
  • Chat Applications
  • Content Generation
  • Data Extraction
  • Code Generation
02

Our OpenAI capabilities

Function calling & structured outputs

A JSON schema travels with the request, and the response is validated against it before the application sees it, so downstream code parses a known shape instead of free text. Function calling extends the same idea to actions: the model selects an operation from a set the application defines, with arguments conforming to the declared types. We treat the schema as the interface, version it with the code, and reject anything at the seam that fails validation. That discipline is what lets model output feed workflows and databases directly.

  • Function calling
  • JSON mode
  • Schema validation

Assistants API & threads

Threads hold conversation state on the platform side, so an assistant resumes a dialogue days later without the application storing and replaying transcripts. File search grounds answers in uploaded documents, and the code interpreter executes generated analysis in a sandbox rather than in your infrastructure. The fit is chat products and internal knowledge tools that carry context across sessions. Where a workflow needs full control of state and retrieval, we build on the stateless completions API and keep state in your own store.

  • Assistants API
  • Threads
  • Code interpreter

Fine-tuning for specificity

Training sets are prepared as JSONL from recorded examples of the task done well, and a portion never enters training so the tuned model's gain over the base model can be measured. The measurement is the point: a tuned model that cannot beat its base on held-out cases does not ship. Tuned models are also a maintenance commitment, re-evaluated and retrained when the base model behind them is retired.

  • Fine-tuning
  • JSONL
  • Evaluation
03

Why Adaca for OpenAI?

04

How We Staff It

GPT integration is staffed as product engineering. Most builds are written in Python or TypeScript, the languages OpenAI's primary SDKs target, so teams form around backend engineers in those languages, with a front-end engineer joining when the work includes a chat or generation surface.

Where the deployment runs through Azure OpenAI, engineers with Azure networking experience join for the private-endpoint and identity work. One team carries a feature from schema design to shipped interface, and it works to the customer's working day.

05

Common Questions

Do we need fine-tuning, or is prompting enough?

Prompting with structured outputs covers most production needs and is exhausted first: it is cheaper to iterate, simpler to audit, and it survives model upgrades with an evaluation re-run. Fine-tuning becomes the right call when a narrow, repeated task will not hold under prompting: a taxonomy that must be applied exactly, extraction at volume, a tone that must never drift.

The sequence is prompt, measure, and tune only what the measurements flag. A tuned model brings a training pipeline and a retraining obligation with it, so it has to earn that overhead.

Should we use the OpenAI API directly or go through Azure OpenAI?

The models are the same; the decision is about where traffic runs and under whose agreement. Azure OpenAI places them inside a Microsoft cloud tenancy with private networking and regional deployment, which usually decides it for organisations with residency or procurement constraints. The direct API is the simpler path where those constraints do not apply.

The integration is written so the same application can point at either endpoint, which keeps the choice open as requirements change.

Can GPT output be trusted to drive other systems without a person in the loop?

Within limits that are worth stating precisely. Structured outputs guarantee the shape of a response, while the judgement inside that shape still has to be measured. Validation enforces the shape at the seam, and every automated path carries handling for refusals, timeouts and low-confidence cases.

Actions with consequences keep an approval step until the measured error rate justifies removing it. The evidence comes first and the autonomy second.

Does building on the OpenAI platform lock us in?

Less than the integration surface suggests. A build organised around structured outputs is organised around your schemas, and schemas are portable between providers; what does not port unchanged is the prompting, so prompts and their evaluations are versioned per model rather than shared across them.

Calls run through one seam in the codebase, which makes pointing a task elsewhere a configuration change followed by an evaluation run. The evaluations state, on your own cases, what a move would cost or gain before it is made.

What keeps a GPT integration maintainable as the models change?

Pinning and measuring. Production traffic runs on pinned model versions rather than floating aliases, so a platform-side change never alters behaviour silently. An upgrade is a deliberate event: evaluations run against the candidate version, and the pin moves when the results hold.

OpenAI retires models on published deprecation schedules, so an integration built this way treats each retirement as scheduled work rather than an incident.

How is OpenAI work priced?

By one of two models, chosen by the shape of the engagement. A team embedded with yours is a monthly rate for the team; a defined first outcome, such as a working feature or an integrated pilot, is a fixed cost agreed before work starts.

Terms are three, six, nine or twelve months, chosen up front, and an engagement can start at a single engineer. The People pages set out the team model in detail.