mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-31 04:54:24 +00:00
### TL;DR * Adds `capabilities` configuration for OpenAI-compatible models * Relates to https://github.com/zed-industries/zed/issues/36215#issuecomment-3193920491 ### Summary This PR introduces support for configuring model capabilities for OpenAI-compatible language models. The implementation addresses the issue that not all OpenAI-compatible APIs support the same features - for example, Cerebras' API explicitly does not support `parallel_tool_calls` as documented in their [OpenAI compatibility guide](https://inference-docs.cerebras.ai/resources/openai#currently-unsupported-openai-features). ### Changes 1. **Model Capabilities Structure**: - Added `ModelCapabilityToggles` struct for UI representation with boolean toggle states - Implemented proper parsing of capability toggles into `ModelCapabilities` 2. **UI Updates**: - Modified the "Add LLM Provider" modal to include checkboxes for each capability - Each OpenAI-compatible model can now be configured with its specific capabilities through the UI 3. **Configuration File Structure**: - Updated the settings schema to support a `capabilities` object for each `openai_compatible` model - Each capability (`tools`, `images`, `parallel_tool_calls`, `prompt_cache_key`) can be individually specified per model ### Example Configuration ```json { "openai_compatible": { "Cerebras": { "api_url": "https://api.cerebras.ai/v1", "available_models": [ { "name": "gpt-oss-120b", "max_tokens": 131000, "capabilities": { "tools": true, "images": false, "parallel_tool_calls": false, "prompt_cache_key": false } } ] } } } ``` ### Tests Added - Added tests to verify default capability values are correctly applied - Added tests to verify that deselected toggles are properly parsed as `false` - Added tests to verify that mixed capability selections work correctly Thanks to @osyvokon for the desired `capabilities` configuration structure! Release Notes: - OpenAI-compatible models now have configurable capabilities (#36370; thanks @calesennett) --------- Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev> |
||
|---|---|---|
| .. | ||
| ai | ||
| development | ||
| extensions | ||
| languages | ||
| accounts.md | ||
| additional-learning-materials.md | ||
| channels.md | ||
| collaboration.md | ||
| completions.md | ||
| configuring-languages.md | ||
| configuring-zed.md | ||
| debugger.md | ||
| development.md | ||
| diagnostics.md | ||
| environment.md | ||
| extensions.md | ||
| getting-started.md | ||
| git.md | ||
| globs.md | ||
| helix.md | ||
| icon-themes.md | ||
| key-bindings.md | ||
| languages.md | ||
| linux.md | ||
| multibuffers.md | ||
| outline-panel.md | ||
| remote-development.md | ||
| repl.md | ||
| snippets.md | ||
| SUMMARY.md | ||
| system-requirements.md | ||
| tasks.md | ||
| telemetry.md | ||
| themes.md | ||
| vim.md | ||
| visual-customization.md | ||
| windows.md | ||
| workspace-persistence.md | ||