Skip to content

SDK follow-ups when server PR interfaze#218 (OpenAI spec-compat) deploys #14

Description

@Abhinavexist

Tracking the SDK changes that should land once InterfazeAI/interfaze#218 is merged and deployed — not before, since they're correct against the current server. From an audit of interfaze-py against #218.

Already handled (deploy-independent), for context:

  • Streaming json_object fence leak — fixed in fix: strip json_object fence on streaming (aggregated) path #13.
  • Role tolerance / non-stream fence strip / logprobs handling — kept as backward-compat (no-op post-deploy).
  • models.list() already parses today (openai-python is lenient; owned_by just fills in post-deploy) — no change needed.

Flip when #218 deploys

  • max_completion_tokens — #218 honors it as an alias for max_tokens (explicit max_tokens still wins).
    • Update README "Good to know": the bullet "Use max_tokens (not max_completion_tokens) to bound output" becomes stale.
    • Drop the known-limitation note on ChatInterfaze (feat: ChatInterfaze — in-repo LangChain chat model (#5) #12) about ChatOpenAI renaming max_tokensmax_completion_tokens — it stops being a silent no-op.
  • models.retrieve() — #218 adds GET /v1/models/{id}; today it raises NotFoundError (HTML 404 page), works once deployed. Add a live-QA check. (Mocked unit tests for the OpenAI-shaped list/retrieve responses can land anytime.)

Not changing (intentional server behavior)

  • Chat completions accept any model string (echoes interfaze-beta); post-#218 models.retrieve("gpt-4") will 404 while chat.create(model="gpt-4") still echoes — server-side asymmetry flagged as intentional in #218.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions