LLMOps: taking AI from POC to a reliable, measured and operated service
Feekr industrialises your generative AI use cases with proven cloud operations practices: versioning, evaluations, observability, cost control and incident management.
A generative AI prototype can be built in a few days. Keeping it running in production, for hundreds of users, with stable quality, a known cost and demonstrable security, is a different job altogether. This is where most projects stall, and this is where we step in.
Our speciality is cloud production engineering: Infrastructure as Code, operations and security, including in regulated environments. We apply these practices to generative AI from our base in Villeneuve-d’Ascq, in the Lille metropolitan area (northern France), to deploy AI in businesses in a sustainable way.
Why putting AI into production is different
A generative AI application does not behave like conventional software:
- Its behaviour is not fully deterministic: the same question can produce different answers.
- Its quality depends on several moving parts: the prompt, the model, its parameters, the context data, the tools called.
- Providers keep changing their models: a new version can improve one case and degrade another.
- Its cost is variable: it depends on the volume of text processed in each call.
- Its attack surface is new: instruction injection through content, data leaks in responses, misuse.
LLMOps practices address each of these points.
What we put in place
Versioning of prompts, models and configurations
Prompts are code: they are versioned, reviewed and deployed as such. The model version, its parameters and the document search configuration are pinned for each version of the application. You always know which combination produced which answer, and you can roll back.
Automated evaluations
An evaluation dataset built with business teams from real cases is rerun after every change, like a test suite. It combines automated checks, evaluation by a judge model calibrated on validated examples and human review of samples. A change that degrades quality does not go into production.
Observability
Every request is traced end to end: input, retrieved context, model calls, tools used, response, latency, token count, cost and user feedback. These traces feed dashboards and alerts, in your existing monitoring tools where possible. Personal data in logs is handled under a defined retention policy.
Cost per use case
We measure cost per request, per use case and per team, with tags consistent with your cloud FinOps practice. Optimisation levers are then applied to real data: a lighter model for simple tasks, a reduced context, caching, quotas and budget alerts.
Security and guardrails
Dedicated identities and least-privilege access, network isolation, encryption, input and output filtering, protection against instruction injection, per-user volume limits. Managed services offer useful building blocks, such as Amazon Bedrock Guardrails; we combine them with application-level controls and a security review suited to your requirements, consistent with your cloud security and governance.
Incident management
An inappropriate response, a data leak, a cost overrun or the model provider being unavailable are all incidents. They follow a procedure: detection, rapid disabling of a feature, rollback to a previous version, analysis and fix. A degraded mode is planned for when the model is unavailable.
Choosing where models are hosted
The hosting choice determines confidentiality, cost and operational workload. We approach it with strict neutrality between AWS and Azure.
| Option | Strengths | Points to watch |
|---|---|---|
| Your cloud provider’s managed service (Amazon Bedrock, Azure OpenAI) | Access to several models, hosting in your account and your region, integration with your identities and monitoring | Model availability varies by region, data processing terms to check, dependence on the provider’s catalogue |
| A model vendor’s API, used directly | Fast access to the latest versions | Contract and data location to examine, integration with your cloud governance to build |
| Self-hosted open model | Full control, no data leaves your environment | Heavier operations (compute, updates, security), dedicated skills |
In many cases, a managed service in your cloud account is the best trade-off. The architecture should nevertheless allow you to switch models without rewriting everything.
Deliverables
- Production architecture documented and deployed as Infrastructure as Code (Terraform or OpenTofu).
- Deployment pipeline with prompt versioning and automated evaluations.
- Evaluation dataset and baseline quality report.
- Observability and cost dashboards, with alerts configured.
- Operations and incident management procedures.
- Knowledge transfer so that your teams can operate and evolve the service.
Common pitfalls
- Evaluating by gut feeling: without an evaluation dataset, every change is a gamble.
- Discovering the cost after launch: it should be measured from the prototype stage, on realistic volumes.
- Letting the model “float”: an unpinned version can change behaviour without warning.
- Leaving security until the end: access rights and isolation are decided with the architecture.
Who it is for and when to call us
We step in when a POC needs to go into production, when an AI use case in service shows quality or cost drift, or when you want to lay a common foundation for several AI projects. This approach applies to our AI agents as well as our document assistants, and more broadly to all your uses of generative AI for business.
Frequently asked questions
What is LLMOps?
LLMOps covers the practices needed to operate applications built on large language models: versioning of prompts and models, evaluations, observability, cost tracking, security and incident management. It is the generative AI equivalent of what DevOps and MLOps bring to software and machine learning.
Why do so many AI proofs of concept never reach production?
Often because they were designed to impress in a demo, not to be operated: no quality criteria, no reproducible evaluation, no estimate of cost at scale, and security and access rights left for later. Setting these criteria from the POC stage changes everything.
How do you evaluate an LLM in a business?
You evaluate the complete application, not the model alone, on a set of real cases with expected outcomes. The criteria combine automated checks (format, presence of sources, expected refusals), evaluations by a calibrated judge model and human review of samples. The set is rerun after every change.
Should we host our own model or use an API?
Managed services such as Amazon Bedrock or Azure OpenAI cover most needs, with hosting in your cloud account and a region you choose. Self-hosting an open model can be justified by strict confidentiality constraints, cost at very high volume or customisation needs, at the price of heavier operations.
How do you control the cost of generative AI in production?
By measuring it per use case and per request, then acting on the levers: choosing the model according to the difficulty of the task, the size of the context sent, caching, volume limits and budget alerts. These measures fit into an existing FinOps practice.
A cloud or AI project to scope?
15 minutes to understand your context and tell you honestly whether we can help. Based in Lille, France, working on site or remotely.