Skip to content

Expand model interoperability with vendor-neutral adapters #21

Description

@knisar

Direction

The core model interface should remain vendor-neutral. BaseModel and ModelResponse define the runtime boundary, and OpenAICompatibleModel already covers public and self-hosted services that implement the compatible chat-completions protocol. The optional Anthropic adapter is now complete through #55 and #56.

Future core work should improve the neutral integration surface instead of adding a first-class cloud adapter for each platform. A provider-specific adapter belongs in core only when it addresses a concrete capability that cannot be expressed through an existing neutral path and has a separately scoped issue. Otherwise, provider-specific support should use the compatible endpoint, an application-defined BaseModel, or an external package.

The repository also ships optional PyRIT and Garak integrations. Future harness work should be filed as a focused gap in those implementations rather than as another broad adapter.

Current child work

No open child implementation is currently scoped. The adapter contract, callable adapter, and call-time option handling have shipped. Keep new integration requests focused on a concrete gap and scope them separately before implementation.

Completed work

Deferred work

External adapter discovery through Python entry points remains deferred. The contract and callable adapter have shipped through #59 and #60; scope discovery separately only if real usage demonstrates a need.

Contributing

This is an umbrella issue. Do not implement directly from it. Choose an open child issue labeled status: available, check its Development section for linked work, and open a draft pull request with Closes #NN once you have an initial commit. The linked draft is the signal that work has started, so no /claim comment or manual status change is needed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttype: umbrellaTracks a larger effort; contribute through a maintainer-scoped child issue.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions