The Use Cases UI lists all the use cases that have been created in your Adaptive Engine deployment

Adapting a model inherently specializes it for a given task and downstream usage pattern.

This is why Adaptive Engine is built with use cases as base workspaces. Other resources - like models and metrics for monitoring and evaluation - are linked to them.

In a code completion use case, you might want to adapt a model to improve the quality of generated SQL queries for your database schemas, by tracking and optimizing for instances of query execution success. While in a sales copilot use case, you might want to adapt a model to boost your sales conversion rate, directly optimizing based on conversion feedback data.

Before you get started with other Adaptive Engine’s features, you should create your first use case via the UI or the SDK:

Create an Adaptive client first

Adaptive SDK
use_case = client.use_cases.create(
    key="sales_copilot",
    name="Sales Copilot", # optional, if not set, will match use case key
    description="This use case serves our org's outbound sales pipeline."
)

Many of Adaptive client’s methods operate on a single use case. You can configure a default use case for the client, which will make all non-global methods bound to that use case. The default use case can be explicitly overriden.

Adaptive SDK
use_case = client.use_cases.create(
    key="sales_copilot",
    name="Sales Copilot", # optional, if not set, will match use case key
    description="This use case serves our org's outbound sales pipeline."
)

# configure sales_copilot as default use case
client.set_default_use_case("sales_copilot")

# detach model from default use_case
client.models.detach(model="llama_3.1_8b")

# detach model from overriden use_case
client.models.detach(model="llama_3.1_8b", use_case="override_use_case")

See the SDK Reference for all use case-related methods.