feat(pi): add validated GLM/Kimi MLflow provider#217
Conversation
|
@rohita5l @AarushiShah-db — would appreciate a review when you have a moment. This builds directly on your OSS work (#178 Kimi, #186 GLM): adds a Pi |
ededa9c to
fdacac3
Compare
c99f3b4 to
5a46e7a
Compare
|
@rohita5l I refreshed this PR around the review feedback: removed the local proxy, deferred Inkling pending #215, narrowed OSS selection to GLM/Kimi, removed version/lockfile noise, and resolved both threads with details. The branch is rebased on current main and locally validated. Could you re-review and approve the fork CI run when convenient? |
Expose the GLM and Kimi coding-model cohort through Pi and OpenCode with shared token limits and reasoning metadata. Keep unsupported chat models out of discovery, including Inkling until gateway issue databricks#215 is fixed, and retain the GPT-OSS Responses API routing guard.
5a46e7a to
65b4609
Compare
|
Post-review update: a 3-round fresh-context review loop found and fixed two additional foundation issues in this layer: GLM 5.2 now has model-specific 1M/65536 limits while older/unknown GLM keeps 200k/25k, and Pi OSS-only workspaces now pass shared availability/diagnostic checks. Focused and full-stack validation are updated in the PR body. |
Summary
Adds Pi support for the validated OSS coding-model cohort already used by ucode: GLM and Kimi.
Closes #204. Supersedes the earlier broad-cohort/proxy approach in this PR.
Changes
databricks-mlflowprovider (openai-completions→/ai-gateway/mlflow/v1).supportsStore: falseandsupportsStrictMode: false.gpt-ossexclusion from the Codex/Responses bucket so it cannot be routed to an incompatible API.Review follow-up
finish_reasonis an AI Gateway defect tracked by AI Gateway MLflow chat-completions omits finish_reason on natural stop (breaks inkling in Pi) #215 and should not add an HTTP proxy to ucode's launch path.uv.lockchanges.Validation
uv run pytest tests/test_agent_pi.py tests/test_agent_opencode.py tests/test_databricks.py tests/test_cli.py -quv run ruff checkon all changed Python files588 passed, 29 skippedacross the focused changed-area suite.1062 passed, 36 skippedwhen installed-agent capture tests are excluded. Those tests depend on locally installed agent state rather than the unit under review.Scope
This is the base of the stack: