Skip to content

Create Model Pool to allow agents to change between models as needed #70

@double16

Description

@double16

What problem does this solve?

Model Usage Limits

The agent can change models if one stops responding due to limits.

Multiple Accounts

The same (or different models) with differing accounts can be used to spread usage across accounts.

Fallback to Local

A fallback to local models. For example, the main model stop responding, the reporting agent can still produce a report using a local model.

Proposed solution

  1. Create a Strands Model class that contains a list of models.
  2. Change configuration to specify multiple models, API keys, etc.
  3. When a model errors, mark as disabled and move on to another model.
  4. Try disabled models again after a cool down period.
  5. Some model properties need to be moved from the agent into the model and expect to change, ex: allow_reasoning.
  6. conversation compression will need to be adaptive to the underlying model properties
  7. Memory embedder will need to stay consistent.

Alternatives considered

No response

Which area does this affect?

Agent/Tools

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions