Public Sector

We've had the pleasure of working with UK and overseas central and local government departments, including Healthcare (NHS and Foundation Trusts), Defence, Education (Universities and colleges), many of the main Civil Service departments, Emergency Services; also public-owned corporations including the BBC, Bank of England, Ordnance Survey, and regulatory bodies such as Ofgem.

We are registered on Crown Commercial Service’s (CCS) Dynamic Purchasing System (RM6219 Training and Learning) and also with numerous tender portals such as Ariba, Coupa and Delta E-Sourcing.

Read more...

Graduate Training Schemes

Framework Training has a strong track record of providing a solid introduction into the working world for technical graduates across myriad industries. We provide the opportunity to learn and gain valuable hands-on experience in a supportive, friendly and sociable training environment.

Attract & retain the brightest new starters

We know it is vital for our clients to invest in the future of their talented grads; not only to provide them with high-quality, professional training essential for their roles, but to embed them within the organisation’s culture and guide them on the right path to a successful career.

After all, your new hires could well be the next leaders and their creative ideas and unique insights are invaluable to your business.

Read more ...

Learning & Development

Our unique portfolio of high-quality technical courses and training programmes are industry-respected. They’re carefully designed so that delegates can seamlessly apply what they’ve learnt back in the workplace. Our team of domain experts, trainers, and support teams know our field — and all things tech — inside out, and we work hard to keep ourselves up to speed with the latest innovations. 

We’re proud to develop and deliver innovative learning solutions that actually work and make a tangible difference to your people and your business, driving through positive lasting change. Our training courses and programmes are human-centred. Everything we do is underpinned by our commitment to continuous improvement and learning and generally making things much better.

Read more...

Corporate & Volume Pricing

Whether you are looking to book multiple places on public scheduled courses (attended remotely or in our training centres in London) or planning private courses for a team within your organisation, we will be happy to discuss preferential pricing which maximise your staff education budget.

Enquire today about:

  • Training programme pricing models  

  • Multi-course voucher schemes

Read more...

Custom Learning Paths

We understand that your team training needs don't always fit into a "one size fits all" mould, and we're very happy to explore ways in which we can tailor a bespoke learning path to fit your learning needs.

Find out about how we can customise everything from short overviews, intensive workshops, and wider training programmes that give you coverage of the most relevant topics based on what your staff need to excel in their roles.

Read more...

Jev Implementation Training Course

Learn how to use Jev inside deterministic Python applications, with your code retaining control of workflows, safeguards and side effects.

About this Jev course

Jev is a decision model from TypeSafe AI. Instead of generating prose, it accepts application state and typed questions, then returns structured answers that your code can inspect and use. These can include a choice between defined options, a score or the probability that a statement is true.

This practical one-day course shows you how to incorporate Jev into a Python application without handing control of the surrounding workflow to the model. Your code remains responsible for business rules, side effects, safeguards and fallback behaviour.

Throughout the day, you will develop a fictional customer-support triage service. You will design its questions, interpret probabilities and confidence, test its performance against labelled data and examine how it behaves when presented with hostile or misleading input.

By the end of the course, you will have built a Jev-based decision function that has been measured, confidence-gated, regression-tested and subjected to adversarial testing.

What you will need

  • A laptop with Python 3.10 or later

  • A suitable code editor

  • Permission to install Python packages

  • A TypeSafe API key created before the course

  • Permission to make outbound HTTPS requests to the TypeSafe API

The practical exercises use the typesafe-sdk package and expect the API key to be available through the TYPESAFE_API_KEY environment variable.

All exercises use synthetic data. Delegates should not use real customer, personal or commercially sensitive information during the course. Organisations should review TypeSafe’s current terms, privacy information and data-handling arrangements before using the service with live data.

  • By the end of this course, attendees will be able to:

    • Identify decisions that suit Jev and distinguish them from tasks better handled by ordinary code, an LLM or a person
    • Add Jev to a Python application while retaining deterministic control of workflows and side effects
    • Design focused Choice, Score and Noul questions using relevant application state
    • Interpret probabilities and confidence, and set thresholds for automatic action, confirmation or escalation
    • Create labelled test data and measure accuracy, calibration and stability
    • Test the effect of model versions, question wording and option ordering
    • Measure latency and cost using representative application payloads
    • Test Jev-based decisions against adversarial and misleading input
    • Add layered safeguards and safe fallback behaviour
    • Build regression tests and a release checklist for a Jev-based component
  • This course is intended for developers and technical decision-makers who want to incorporate AI judgements into software while retaining clear control over application behaviour.

    It will be particularly useful for:

    • Backend and full-stack developers building classification, routing, scoring or moderation into applications

    • AI and machine learning engineers evaluating alternatives to generative-model calls or agent-based workflows

    • Technical leads and solution architects deciding where typed decision models fit within an application

    • Platform, quality and security engineers responsible for testing and monitoring AI-enabled components

    The course concentrates on implementation and evaluation rather than on training machine learning models.

  • Delegates should be able to:

    • Write Python functions and work with dictionaries or dataclasses

    • Use a Python testing framework such as pytest

    • Read and work with JSON

    • Understand the basic purpose of an API call

    Some previous experience of calling an LLM or another hosted AI API will be helpful. No machine learning background is required.

  • This Jev course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).

    Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.

  • Introducing Jev and typed AI decisions

    • How Jev differs from generative language models

    • Application state and typed probabilistic answers

    • Choice, Score and Noul question types

    • Probabilities, confidence and structured responses

    • Current model and context limitations

    • Making an initial request using the Python SDK

    Practical exercise: Send application state with several question types and inspect the returned answers, confidence, model version and token usage.

    Choosing where Jev fits

    • Using ordinary code for explicit rules and calculations

    • Using Jev for bounded judgements over unstructured information

    • When an LLM or human review is more appropriate

    • Keeping control flow and side effects in deterministic code

    • Suitable applications, including routing, classification, scoring and verification

    • Evaluating performance and cost claims against representative data

    Practical exercise: Assess a series of application decisions and choose whether each belongs in ordinary code, Jev, an LLM or human review.

    Designing a decision component

    • Selecting the relevant application state

    • Designing narrow, independently testable questions

    • Using contrastive criteria to clarify decisions

    • Combining answers with deterministic rules or weighted calculations

    • Short-circuiting cases that do not require a model call

    • Patterns for routing, scoring and parallel evaluation

    Practical exercise: Build the first version of a customer-support triage function, combining topic, spam-risk and customer-frustration judgements.

    Working with probabilities and confidence

    • Reading distributions and confidence values

    • Calculating alternative confidence measures

    • Creating act, confirm and escalate bands

    • Adjusting thresholds to reflect the consequences of an incorrect decision

    • Understanding why a structurally valid answer may still be wrong

    Practical exercise: Apply confidence bands to a batch of results and identify which cases can be handled automatically and which require review.

    Testing accuracy, calibration and stability

    • Building a labelled test set

    • Measuring accuracy against human-defined labels

    • Comparing predicted probability with observed accuracy

    • Choosing thresholds using the cost of errors and human review

    • Testing option order, repetition, negation, numbers and dates

    • Working around known weaknesses using deterministic code

    Practical exercise: Evaluate the triage component against labelled fictional tickets, choose operating thresholds and measure stability across repeated and reordered requests.

    Versions, regression testing and operational behaviour

    • Pinning model versions rather than relying on a moving alias

    • Recording the model version associated with each decision

    • Converting labelled examples into pytest regression tests

    • Comparing behaviour following a model change

    • Measuring latency and API cost

    • Handling rate limits, overload and exhausted retries

    • Limiting and filtering the state sent to the service

    Practical exercise: Create a regression suite, compare two model versions and measure request latency.

    Threat modelling and adversarial testing

    • Treating model input as untrusted data

    • How instructions and misleading claims inside application data can affect decisions

    • What a closed answer space does and does not protect

    • Building an attack set

    • Measuring attack success by question and attack type

    • Keeping adversarial cases in the regression suite

    Practical exercise: Attack the triage component with misleading, contradictory and instruction-bearing input, then identify its weakest questions.

    Defence in depth and safe failure

    • Reducing the amount of attacker-controlled state

    • Separating untrusted content into clearly named fields

    • Applying deterministic validation that the model cannot override

    • Escalating uncertain and high-impact decisions

    • Selecting safe defaults for timeouts, unavailable services and low-confidence answers

    • Logging sufficient information to reconstruct a decision

    • Preparing a release checklist

    Practical exercise: Add layered defences, rerun the attack set and complete a release checklist for the finished component.

    Course outcome

    By the end of the day, you will have created a Python decision component that uses Jev to classify and assess fictional support tickets.

    You will have:

    • Tested it against labelled data

    • Selected confidence thresholds

    • Measured its stability

    • Converted its tests into a regression suite

    • Challenged it with adversarial input

    • Added safe fallback behaviour

    • Documented the checks required before release

  • What is Jev?

    Jev is a decision model from TypeSafe AI designed to return structured, probabilistic answers rather than generate free-form text. You provide application state and one or more typed questions, and Jev returns answers that your software can evaluate and act upon. This course explores how to use that capability while keeping application control, safeguards and side effects in deterministic code.

    How is Jev different from a large language model?

    Large language models are particularly useful for tasks such as generating, transforming and reasoning over text. Jev is intended for narrower decision-shaped tasks such as classification, routing, scoring and verification. During the course, you will examine where Jev is appropriate and where ordinary application code, an LLM or human judgement is a better choice.

    Do I need machine learning experience to attend?

    No. The course is aimed primarily at software developers and engineers rather than data scientists. You should be comfortable writing Python, working with data structures such as dictionaries or dataclasses, and using a testing framework such as pytest. Some previous experience of calling an AI or LLM API will be helpful, but you do not need experience of building or training machine learning models.

    Is this a hands-on course?

    Yes. The course is practical throughout. You will build a fictional customer-support triage application in Python and progressively add decision logic, confidence thresholds, tests and safeguards. By the end of the day, you will have taken the same component through implementation, evaluation, adversarial testing and preparation for release.

    What software and access will I need?

    You will need a laptop with Python 3.10 or later, a code editor and permission to install Python packages. The exercises use the typesafe-sdk package and require access to the TypeSafe API, so you will also need the appropriate API credentials and outbound HTTPS access. Practice datasets and starter materials are provided for the course.

    I would leave this one provisional until Olly confirms how Framework wants to handle API accounts and credentials.

    Will we use our own company or customer data?

    No. The course exercises use fictional and synthetic data, including labelled examples and deliberately hostile test cases. You should not bring real customer, personal or commercially sensitive data into the practical exercises.

    Does Jev replace conventional application logic?

    No, and understanding that boundary is an important part of the course. The approach taught here keeps deterministic application code responsible for things such as explicit rules, calculations, permissions, control flow and side effects. Jev is introduced where a probabilistic judgement is useful, with its answer checked before the application decides what happens next.

    How do we know whether a Jev decision is reliable enough to use?

    That is one of the main themes of the course. You will build a labelled test set, measure accuracy and calibration, examine confidence and probability values, and choose thresholds according to the consequences of making an incorrect decision. You will also test stability across repeated requests and model changes rather than assuming that a valid response is necessarily a correct one.

    Does the course cover AI security and prompt injection?

    Yes. The later part of the course treats input to the model as potentially untrusted. You will test the application against misleading content, contradictory information and injected instructions, measure the effect on its decisions, and then add defensive layers before running the tests again. The emphasis is on defence in depth rather than assuming any individual model or guardrail can provide complete protection.

    What will I have built by the end of the course?

    You will have built a Jev-based triage function in Python and tested it using labelled and adversarial data. You will have added confidence-based routing, regression tests, safe fallback behaviour and layered defences, and worked through a release checklist for putting a Jev-based decision component into an application.

    1. TypeSafe AI: Jev documentation
      Covers Jev’s System One approach, application state, typed questions, Choice/Score/Noul primitives, probabilities and confidence.

    2. TypeSafe AI: Jev Quick Start
      A particularly useful practical companion to the course, covering API-key setup, the SDK/API, question types and a first Jev request.

    3. OWASP: Prompt Injection
      OWASP covers both direct and indirect injection and the risks posed when untrusted content can influence model behaviour.

    4. OWASP: LLM Prompt Injection Prevention Cheat Sheet
      Covering input handling, external-content attacks and defensive controls; a great resource for developers after the course.

    5. NIST: AI Risk Management Framework
      NIST positions the AI RMF around trustworthiness throughout the design, development, use and evaluation of AI systems.

Trusted by

Data Interchange company logo Jato Dynamics company logo AMEC company logo CERN organisation logo

Public Courses Dates and Rates

Standard duration: 1 day

Please get in touch for pricing and availability.

Course enquiry

Send us a no-obligation enquiry about this course

Choose how you first heard about Framework Training.

Related courses