모델
모델 레지스트리, 설정, 관리
개요
모델 엔드포인트는 사용 가능한 LLM 및 모델 설정 레지스트리를 관리합니다. 사용자는 사용 가능한 모델을 조회할 수 있으며, 관리자는 레지스트리에서 모델을 추가, 업데이트, 제거할 수 있습니다. 모든 엔드포인트는 인증이 필요합니다.
기본 URL:
기본 모델
GET /api/models
기본 LLM 목록(원시 프로바이더 모델)을 가져옵니다. 관리자 전용. 커스텀 모델 생성 또는 편집 시 모델 선택기를 채우는 데 사용됩니다.
커스텀 모델 생성을 위한 기본 LLM 모델 목록을 가져옵니다.
응답 200
[
{
"id": "gpt-4o",
"name": "GPT-4o",
"base_model_id": null,
"user_id": "...",
"params": {},
"meta": {
"profile_image_url": "/static/favicon.png",
"description": null,
"capabilities": null
},
"access_control": null,
"is_active": true,
"created_at": 1714000000,
"updated_at": 1714000000
}
]커스텀 모델
GET /api/v1/models/list
현재 사용자가 접근할 수 있는 모든 커스텀 모델 목록을 가져옵니다. 관리자는 모든 모델을 볼 수 있으며, 일반 사용자는 자신이 소유하거나 읽기 권한이 있는 모델만 볼 수 있습니다.
현재 사용자가 접근 가능한 커스텀 모델 목록을 가져옵니다.
쿼리 파라미터
| 이름 | 타입 | 설명 |
|---|---|---|
id | string | 선택 사항: ID로 단일 모델 필터링 |
응답 200
[
{
"id": "my_assistant",
"name": "My Assistant",
"base_model_id": "gpt-4o",
"user_id": "user-uuid",
"params": { "system": "You are a helpful assistant." },
"meta": {
"profile_image_url": "/static/favicon.png",
"description": "Internal support bot",
"capabilities": {
"vision": false,
"file_upload": true,
"web_search": false
},
"knowledge": [...],
"toolIds": ["tool-uuid-1"],
"tags": []
},
"access_control": {
"read": { "group_ids": ["group-uuid"], "user_ids": [] },
"write": { "group_ids": ["group-uuid"], "user_ids": [] }
},
"is_active": true,
"created_at": 1714000000,
"updated_at": 1714010000,
"user": { "id": "user-uuid", "name": "Jane Smith", "email": "jane@example.com", "role": "admin" }
}
]GET /api/v1/models/model
ID로 단일 모델을 가져옵니다. 호출자는 관리자, 모델 소유자, 또는 읽기 권한이 있어야 합니다.
ID로 특정 모델을 가져옵니다.
쿼리 파라미터
| 이름 | 타입 | 설명 |
|---|---|---|
id | string | 모델 식별자 (ID에 `/`가 포함될 수 있으므로 쿼리 파라미터로 전달) |
응답 200
모델 객체 (user 필드 없는 목록 항목과 동일).
오류
| 상태 코드 | 설명 |
|---|---|
401 | 찾을 수 없거나 권한 부족 |
POST /api/v1/models/create
새 커스텀 모델을 생성합니다. 관리자 역할 또는 workspace.models 권한이 필요합니다.
기본 LLM을 기반으로 새 커스텀 모델을 생성합니다.
요청 본문
{
"id": "my_assistant",
"name": "My Assistant",
"base_model_id": "gpt-4o",
"params": {
"system": "You are a helpful assistant specialized in HR policy."
},
"meta": {
"profile_image_url": "/static/favicon.png",
"description": "HR support assistant",
"capabilities": {
"vision": false,
"file_upload": true,
"web_search": false,
"image_generation": false,
"code_interpreter": false,
"citations": true,
"status_updates": true,
"usage": false
},
"knowledge": [
{ "id": "kb-uuid", "name": "HR Policies", "type": "collection" }
],
"toolIds": ["tool-uuid-1"],
"tags": [],
"suggestion_prompts": null
},
"access_control": {
"read": { "group_ids": ["group-uuid"], "user_ids": [] },
"write": { "group_ids": ["group-uuid"], "user_ids": [] }
},
"is_active": true
}응답 200
생성된 모델 객체.
오류
| 상태 코드 | 설명 |
|---|---|
401 | 모델 ID가 이미 사용 중 |
403 | 권한 부족 |
POST /api/v1/models/model/update
기존 모델을 업데이트합니다. 호출자는 관리자, 모델 소유자, 또는 쓰기 권한이 있어야 합니다. 요청 본문은 생성과 동일합니다.
기존 모델 설정을 업데이트합니다.
쿼리 파라미터
| 이름 | 타입 | 설명 |
|---|---|---|
id | string | 현재 모델 ID |
요청 본문
생성과 동일한 필드 (모두 필수).
응답 200
업데이트된 모델 객체.
오류
| 상태 코드 | 설명 |
|---|---|
400 | 접근이 금지됨 |
401 | 모델을 찾을 수 없음 |
POST /api/v1/models/model/toggle
모델의 is_active를 토글합니다. 호출자는 관리자, 소유자, 또는 쓰기 권한이 있어야 합니다.
모델 활성/비활성 상태를 토글합니다.
쿼리 파라미터
| 이름 | 타입 | 설명 |
|---|---|---|
id | string | 모델 식별자 |
응답 200
새 is_active 값이 포함된 업데이트된 모델 객체.
오류
| 상태 코드 | 설명 |
|---|---|
400 | 오류가 발생했습니다 |
401 | 권한 없음 |
DELETE /api/v1/models/model/delete
모델을 삭제합니다. 호출자는 관리자, 소유자, 또는 쓰기 권한이 있어야 합니다.
모델을 영구적으로 삭제합니다.
쿼리 파라미터
| 이름 | 타입 | 설명 |
|---|---|---|
id | string | 모델 식별자 |
응답 200
true오류
| 상태 코드 | 설명 |
|---|---|
401 | 모델을 찾을 수 없거나 권한 부족 |