Skip to content

Seller: make deterministic probe seed capability profile-configurable #145

Description

@Community-AI-tools

Problem

The seller OpenAI upstream adapter unconditionally sends seed: 0 for its deterministic greedy startup/readiness probe:

p.greedy.then_some(0)

Some OpenAI-compatible upstreams reject the optional seed field with HTTP 400, even though normal streaming chat completions for the same model, key, temperature: 0, and max_tokens succeed. This makes dexdo seller fail before any chain action with a generic upstream readiness failure.

Minimal reproduction

  1. Configure an OpenAI-compatible seller profile whose upstream accepts /v1/chat/completions but rejects the optional seed field.
  2. Run the normal seller readiness path.
  3. Observe the generated probe includes seed: 0 and receives HTTP 400.
  4. Send the otherwise identical request without seed; it succeeds.

The behaviour is reproducible with a current v0.2.1 source checkout (846f8e5). The provider identity, streamed response, model, and credentials all validate without seed.

Expected behaviour

An explicitly configured profile should be able to declare that its upstream does not support optional seed, while preserving the existing default for deployed configurations.

Suggested additive model-profile capability:

"capabilities": {
  "max_output_tokens": 256,
  "supports_seed": false
}

Then build the request with seed: 0 only when the request is greedy and supports_seed is true. Defaulting the capability to true keeps current profile wire behaviour unchanged.

Why this matters

This is an adapter capability mismatch, not a provider/key/model failure. Without a profile-level declaration, supported OpenAI-compatible upstreams can be incorrectly rejected before provision/seller publication.

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

    trackedAccepted and assigned a DEXDO- ticket

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions