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.

ANZClearViewIAGEYQantasUnited 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

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?

Either as a fixed cost for an initial outcome, such as a first release or a defined migration, or as a monthly rate for the team once later phases are under way. We do not publish a figure for a build, because the scale is set by the number of features, platforms, user groups and users, and projects have run from four weeks to several months. The How We Charge page sets out both models, milestone billing and the notice period.

What does the team for OpenAI work look like?

Typically one full-time engineer on the build, with two part-time roles alongside: one running the project and one working with you on priorities and technical decisions. Teams are shaped around the system rather than around one technology, so OpenAI work draws in the neighbouring stack when it needs to. Delivery starts under Australian leadership, with the engineering in our Manila delivery centre.

How quickly can OpenAI work start?

Discovery establishes the scope, systems involved and delivery requirements. We agree the implementation plan and timing after that work, before implementation begins.