96 lines
3.4 KiB
Markdown
96 lines
3.4 KiB
Markdown
---
|
|
name: config-llm
|
|
description: Use when user asks to configure LLM profiles, manage AI model settings, add/update/remove LLM configurations, or switch between different LLM providers like OpenAI, Anthropic, Google, etc.
|
|
---
|
|
|
|
# Config LLM - LLM Profile Management
|
|
|
|
## Overview
|
|
|
|
Manage LLM (Large Language Model) profiles for VibeSurf. Configure different AI providers, models, and their parameters.
|
|
|
|
## When to Use
|
|
|
|
- User wants to add a new LLM profile
|
|
- User needs to switch default LLM
|
|
- User wants to update LLM settings (temperature, max_tokens, etc.)
|
|
- User needs to see available LLM providers and models
|
|
- User wants to list or manage existing LLM profiles
|
|
|
|
## API Endpoints
|
|
|
|
Base path: `$VIBESURF_ENDPOINT/api/config`
|
|
|
|
### Profile Management
|
|
|
|
| Action | Method | Endpoint | Description |
|
|
|--------|--------|----------|-------------|
|
|
| List Profiles | GET | `/api/config/llm-profiles?active_only=true` | List all LLM profiles |
|
|
| Get Profile | GET | `/api/config/llm-profiles/{profile_name}` | Get specific profile details |
|
|
| Create Profile | POST | `/api/config/llm-profiles` | Create new LLM profile |
|
|
| Update Profile | PUT | `/api/config/llm-profiles/{profile_name}` | Update existing profile |
|
|
| Set Default | POST | `/api/config/llm-profiles/{profile_name}/set-default` | Set profile as default |
|
|
| Get Default | GET | `/api/config/llm-profiles/default/current` | Get current default profile |
|
|
|
|
### Provider Management
|
|
|
|
| Action | Method | Endpoint | Description |
|
|
|--------|--------|----------|-------------|
|
|
| List Providers | GET | `/api/config/llm/providers` | Get available LLM providers |
|
|
| Get Models | GET | `/api/config/llm/providers/{provider_name}/models` | Get models for a provider |
|
|
|
|
## Provider Notes
|
|
|
|
> **Tip:** Use `GET /api/config/llm/providers` to see all available providers and their supported models.
|
|
>
|
|
> **For OpenAI-compatible APIs:** If using a third-party provider that offers OpenAI-compatible endpoints (like local models, DeepSeek, or other proxies), use the `openai_compatible` provider and set the custom `base_url`.
|
|
|
|
## Request Examples
|
|
|
|
### Create Profile
|
|
```json
|
|
POST /api/config/llm-profiles
|
|
{
|
|
"profile_name": "my-openai",
|
|
"provider": "openai",
|
|
"model": "gpt-4",
|
|
"api_key": "sk-...",
|
|
"temperature": 0.7,
|
|
"max_tokens": 4096,
|
|
"is_default": false
|
|
}
|
|
```
|
|
|
|
### Update Profile
|
|
```json
|
|
PUT /api/config/llm-profiles/my-openai
|
|
{
|
|
"temperature": 0.5,
|
|
"max_tokens": 2048
|
|
}
|
|
```
|
|
|
|
## Profile Fields
|
|
|
|
| Field | Type | Required | Description |
|
|
|-------|------|----------|-------------|
|
|
| profile_name | string | Yes | Unique profile identifier |
|
|
| provider | string | Yes | Provider name |
|
|
| model | string | Yes | Model name |
|
|
| api_key | string | Yes | API key for the provider |
|
|
| base_url | string | No | Custom base URL |
|
|
| temperature | float | No | Sampling temperature (0-2) |
|
|
| max_tokens | int | No | Maximum tokens to generate |
|
|
| top_p | float | No | Nucleus sampling |
|
|
| frequency_penalty | float | No | Frequency penalty (-2 to 2) |
|
|
| seed | int | No | Random seed |
|
|
| description | string | No | Profile description |
|
|
| is_default | bool | No | Set as default profile |
|
|
|
|
## Workflow
|
|
|
|
1. **Get available providers** → `GET /api/config/llm/providers`
|
|
2. **Choose provider and model** → `GET /api/config/llm/providers/{provider}/models`
|
|
3. **Create profile** → `POST /api/config/llm-profiles`
|
|
4. **Set as default** (optional) → `POST /api/config/llm-profiles/{name}/set-default`
|