AI & Automation

AI development

The useful question about an AI feature is rarely "can a model do this?". It usually can, roughly. The question is whether it does it reliably enough for the consequence of being wrong, and whether anyone will notice when quality drifts.

So the work I do here is as much engineering as prompting: getting the right context to the model, constraining the output shape, measuring accuracy against examples you agree on beforehand, and designing what happens on the days the model is unavailable or confidently wrong.

What is included

The work itself

Retrieval-augmented generation

Answering from your own documents: chunking that respects structure, embeddings, a vector store, and re-ranking, plus citations so answers can be checked.

Structured extraction

Turning invoices, emails, PDFs and free text into validated JSON with a schema the model must conform to, and explicit handling for low-confidence output.

Semantic search

Search that understands intent, usually hybrid, keyword and vector combined, because pure vector search is worse than people expect at exact terms and product codes.

Classification and routing

Categorising support tickets, moderating submissions, or routing enquiries, with a confidence threshold below which a human decides.

Evaluation

A test set of real examples with expected outputs, scored automatically, so a prompt or model change can be shown to help rather than assumed to.

Cost and latency control

Choosing the smallest model that passes evaluation, caching aggressively, batching, and streaming responses so perceived speed does not depend on total generation time.

Safety and failure handling

Input validation, output filtering, rate limits per user, and a defined degraded mode when the provider has an incident.

How I work on it

Process

Adjusted to the job, but this is the shape it usually takes.

  1. Define what "correct" means

    Before any code, we write down twenty real examples and the output each should produce. Without that, quality is a matter of opinion.

  2. Baseline with the simplest approach

    Often a well-constructed prompt on a small model is enough. Fine-tuning and complex pipelines get justified against that baseline, not assumed.

  3. Measure, then optimise

    Accuracy first, then cost and latency. Optimising a pipeline that gives wrong answers faster is not progress.

  4. Ship with a human path

    Every AI feature has a route for the case where it fails, an escalation, a manual override, or a clearly-labelled uncertain result.

Questions

Things people ask

Usually not. Retrieval plus a carefully constructed prompt handles most business cases and is far easier to change. Fine-tuning earns its place for consistent style or a narrow, high-volume classification task, and only once you have the evaluation set to prove it beat the baseline.

You constrain it rather than ask it nicely. Ground answers in retrieved text, require citations to a source passage, enforce a JSON schema on output, and have the system say it does not know when retrieval returns nothing relevant. Hallucination is a design problem more than a prompting one.

That depends on tokens per request and requests per month, both of which are estimable from a prototype. I would rather show you a measured number after a small pilot than quote a figure before we know the shape of the traffic.

Need help with ai development?

Tell me the situation and what you have already tried. I read the code and the server before quoting anything.

Get in touch