assistant: Update docs (#16515)
- Fix links on assistant page to subpages - Mention the configuration view in the `configuration.md` and document more settings Release Notes: - N/A --------- Co-authored-by: Piotr <piotr@zed.dev>
This commit is contained in:
parent
e482fcde5b
commit
c251a50e41
4 changed files with 169 additions and 91 deletions
|
@ -1,68 +1,25 @@
|
|||
# Configuring the Assistant
|
||||
|
||||
## Settings
|
||||
|
||||
| key | type | default | description |
|
||||
| ------------- | ------ | ------- | ----------------------------- |
|
||||
| version | string | "2" | The version of the assistant. |
|
||||
| default_model | object | {} | The default model to use. |
|
||||
|
||||
### Configuring the default model
|
||||
|
||||
The `default_model` object can contain the following keys:
|
||||
|
||||
```json
|
||||
// settings.json
|
||||
{
|
||||
"assistant": {
|
||||
"default_model": {
|
||||
"provider": "zed.dev",
|
||||
"model": "claude-3-5-sonnet"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Common Panel Settings
|
||||
|
||||
| key | type | default | description |
|
||||
| -------------- | ------- | ------- | ------------------------------------------------------------------------------------- |
|
||||
| enabled | boolean | true | Disabling this will completely disable the assistant |
|
||||
| button | boolean | true | Show the assistant icon |
|
||||
| dock | string | "right" | The default dock position for the assistant panel. Can be ["left", "right", "bottom"] |
|
||||
| default_height | string | null | The pixel height of the assistant panel when docked to the bottom |
|
||||
| default_width | string | null | The pixel width of the assistant panel when docked to the left or right |
|
||||
|
||||
## Example Configuration
|
||||
|
||||
```json
|
||||
// settings.json
|
||||
{
|
||||
"assistant": {
|
||||
"default_model": {
|
||||
"provider": "zed.dev",
|
||||
"model": "claude-3-5-sonnet-20240620"
|
||||
},
|
||||
"version": "2",
|
||||
"button": true,
|
||||
"default_width": 480,
|
||||
"dock": "right",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Providers {#providers}
|
||||
|
||||
The following providers are supported:
|
||||
|
||||
- Zed AI (Configured by default when signed in)
|
||||
- [Zed AI (Configured by default when signed in)](#zed-ai)
|
||||
- [Anthropic](#anthropic)
|
||||
- [GitHub Copilot Chat](#github-copilot-chat)
|
||||
- [Google Gemini](#google-gemini)
|
||||
- [GitHub Copilot Chat](#github-copilot-chat) [^1]
|
||||
- [Google Gemini](#google-gemini) [^1]
|
||||
- [Ollama](#ollama)
|
||||
- [OpenAI](#openai)
|
||||
- [OpenAI Custom Endpoint](#openai-custom-endpoint)
|
||||
|
||||
To configure different providers, run `assistant: show configuration` in the command palette, or click on the hamburger menu at the top-right of the assistant panel and select "Configure".
|
||||
|
||||
[^1]: This provider does not support [`/workflow`](./commands#workflow-not-generally-available) command.
|
||||
|
||||
To further customize providers, you can use `settings.json` to do that as follows:
|
||||
|
||||
- [Configuring endpoints](#custom-endpoint)
|
||||
- [Configuring timeouts](#provider-timeout)
|
||||
- [Configuring default model](#default-model)
|
||||
|
||||
### Zed AI {#zed-ai}
|
||||
|
||||
|
@ -72,10 +29,42 @@ A hosted service providing convenient and performant support for AI-enabled codi
|
|||
|
||||
You can use Claude 3.5 Sonnet via [Zed AI](#zed-ai) for free. To use other Anthropic models you will need to configure it by providing your own API key.
|
||||
|
||||
You can obtain an API key [here](https://console.anthropic.com/settings/keys).
|
||||
1. You can obtain an API key [here](https://console.anthropic.com/settings/keys).
|
||||
2. Make sure that your Anthropic account has credits
|
||||
3. Open the configuration view (`assistant: show configuration`) and navigate to the Anthropic section
|
||||
4. Enter your Anthropic API key
|
||||
|
||||
Even if you pay for Claude Pro, you will still have to [pay for additional credits](https://console.anthropic.com/settings/plans) to use it via the API.
|
||||
|
||||
#### Anthropic Custom Models {#anthropic-custom-models}
|
||||
|
||||
You can add custom models to the Anthropic provider, by adding the following to your Zed `settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"language_models": {
|
||||
"anthropic": {
|
||||
"available_models": [
|
||||
{
|
||||
"name": "some-model",
|
||||
"display_name": "some-model",
|
||||
"max_tokens": 128000,
|
||||
"max_output_tokens": 2560,
|
||||
"cache_configuration": {
|
||||
"max_cache_anchors": 10,
|
||||
"min_total_token": 10000,
|
||||
"should_speculate": false
|
||||
},
|
||||
"tool_override": "some-model-that-supports-toolcalling"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Custom models will be listed in the model dropdown in the assistant panel.
|
||||
|
||||
### GitHub Copilot Chat {#github-copilot-chat}
|
||||
|
||||
You can use GitHub Copilot chat with the Zed assistant by choosing it via the model dropdown in the assistant panel.
|
||||
|
@ -86,6 +75,27 @@ You can use Gemini 1.5 Pro/Flash with the Zed assistant by choosing it via the m
|
|||
|
||||
You can obtain an API key [here](https://aistudio.google.com/app/apikey).
|
||||
|
||||
#### Google Gemini Custom Models {#google-custom-models}
|
||||
|
||||
You can add custom models to the OpenAI provider, by adding the following to your Zed `settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"language_models": {
|
||||
"google": {
|
||||
"available_models": [
|
||||
{
|
||||
"name": "custom-model",
|
||||
"max_tokens": 128000
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Custom models will be listed in the model dropdown in the assistant panel.
|
||||
|
||||
### Ollama {#ollama}
|
||||
|
||||
Download and install Ollama from [ollama.com/download](https://ollama.com/download) (Linux or macOS) and ensure it's running with `ollama --version`.
|
||||
|
@ -119,35 +129,114 @@ You can use Ollama with the Zed assistant by making Ollama appear as an OpenAPI
|
|||
|
||||
### OpenAI {#openai}
|
||||
|
||||
<!--
|
||||
TBD: OpenAI Setup flow: Review/Correct/Simplify
|
||||
-->
|
||||
|
||||
1. Create an [OpenAI API key](https://platform.openai.com/account/api-keys)
|
||||
2. Make sure that your OpenAI account has credits
|
||||
3. Open the assistant panel, using either the `assistant: toggle focus` or the `workspace: toggle right dock` action in the command palette (`cmd-shift-p`).
|
||||
4. Make sure the assistant panel is focused:
|
||||
|
||||

|
||||
3. Open the configuration view (`assistant: show configuration`) and navigate to the OpenAI section
|
||||
4. Enter your OpenAI API key
|
||||
|
||||
The OpenAI API key will be saved in your keychain.
|
||||
|
||||
Zed will also use the `OPENAI_API_KEY` environment variable if it's defined.
|
||||
|
||||
#### OpenAI Custom Endpoint {#openai-custom-endpoint}
|
||||
#### OpenAI Custom Models {#openai-custom-models}
|
||||
|
||||
You can use a custom API endpoint for OpenAI, as long as it's compatible with the OpenAI API structure.
|
||||
You can add custom models to the OpenAI provider, by adding the following to your Zed `settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"language_models": {
|
||||
"openai": {
|
||||
"version": "1",
|
||||
"available_models": [
|
||||
{
|
||||
"name": "custom-model",
|
||||
"max_tokens": 128000
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Custom models will be listed in the model dropdown in the assistant panel.
|
||||
|
||||
### Advanced configuration {#advanced-configuration}
|
||||
|
||||
#### Example Configuration
|
||||
|
||||
```json
|
||||
{
|
||||
"assistant": {
|
||||
"enabled": true,
|
||||
"default_model": {
|
||||
"provider": "zed.dev",
|
||||
"model": "claude-3-5-sonnet"
|
||||
},
|
||||
"version": "2",
|
||||
"button": true,
|
||||
"default_width": 480,
|
||||
"dock": "right"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Custom endpoints {#custom-endpoint}
|
||||
|
||||
You can use a custom API endpoint for different providers, as long as it's compatible with the API structure.
|
||||
|
||||
To do so, add the following to your Zed `settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"language_models": {
|
||||
"openai": {
|
||||
"some-provider": {
|
||||
"api_url": "http://localhost:11434/v1"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The custom URL here is `http://localhost:11434/v1`.
|
||||
Where `some-provider` can be any of the following values: `anthropic`, `google`, `ollama`, `openai`.
|
||||
|
||||
#### Custom timeout {#provider-timeout}
|
||||
|
||||
You can customize the timeout that's used for LLM requests, by adding the following to your Zed `settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"language_models": {
|
||||
"some-provider": {
|
||||
"low_speed_timeout_in_seconds": 10
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Where `some-provider` can be any of the following values: `anthropic`, `copilot_chat`, `google`, `ollama`, `openai`.
|
||||
|
||||
#### Configuring the default model {#default-model}
|
||||
|
||||
The default model can be changed by clicking on the model dropdown (top-right) in the assistant panel.
|
||||
Picking a model will save it as the default model. You can still change the default model manually, by editing the `default_model` object in the settings. The `default_model` object can contain the following keys:
|
||||
|
||||
```json
|
||||
{
|
||||
"assistant": {
|
||||
"version": "2",
|
||||
"default_model": {
|
||||
"provider": "zed.dev",
|
||||
"model": "claude-3-5-sonnet"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Common Panel Settings
|
||||
|
||||
| key | type | default | description |
|
||||
| -------------- | ------- | ------- | ------------------------------------------------------------------------------------- |
|
||||
| enabled | boolean | true | Disabling this will completely disable the assistant |
|
||||
| button | boolean | true | Show the assistant icon |
|
||||
| dock | string | "right" | The default dock position for the assistant panel. Can be ["left", "right", "bottom"] |
|
||||
| default_height | string | null | The pixel height of the assistant panel when docked to the bottom |
|
||||
| default_width | string | null | The pixel width of the assistant panel when docked to the left or right |
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue