API DocsModels

모델

모델 레지스트리, 설정, 관리

개요

모델 엔드포인트는 사용 가능한 LLM 및 모델 설정 레지스트리를 관리합니다. 사용자는 사용 가능한 모델을 조회할 수 있으며, 관리자는 레지스트리에서 모델을 추가, 업데이트, 제거할 수 있습니다. 모든 엔드포인트는 인증이 필요합니다.

기본 URL:

기본 모델

GET /api/models

기본 LLM 목록(원시 프로바이더 모델)을 가져옵니다. 관리자 전용. 커스텀 모델 생성 또는 편집 시 모델 선택기를 채우는 데 사용됩니다.

GETAdmin only

커스텀 모델 생성을 위한 기본 LLM 모델 목록을 가져옵니다.

응답 200

json
[
{
  "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

현재 사용자가 접근할 수 있는 모든 커스텀 모델 목록을 가져옵니다. 관리자는 모든 모델을 볼 수 있으며, 일반 사용자는 자신이 소유하거나 읽기 권한이 있는 모델만 볼 수 있습니다.

GETAuth required

현재 사용자가 접근 가능한 커스텀 모델 목록을 가져옵니다.

쿼리 파라미터

이름타입설명
idstring선택 사항: ID로 단일 모델 필터링

응답 200

json
[
{
  "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로 단일 모델을 가져옵니다. 호출자는 관리자, 모델 소유자, 또는 읽기 권한이 있어야 합니다.

GETAuth required

ID로 특정 모델을 가져옵니다.

쿼리 파라미터

이름타입설명
idstring모델 식별자 (ID에 `/`가 포함될 수 있으므로 쿼리 파라미터로 전달)

응답 200

모델 객체 (user 필드 없는 목록 항목과 동일).

오류

상태 코드설명
401찾을 수 없거나 권한 부족

POST /api/v1/models/create

새 커스텀 모델을 생성합니다. 관리자 역할 또는 workspace.models 권한이 필요합니다.

POSTAuth required

기본 LLM을 기반으로 새 커스텀 모델을 생성합니다.

요청 본문

json
{
"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

기존 모델을 업데이트합니다. 호출자는 관리자, 모델 소유자, 또는 쓰기 권한이 있어야 합니다. 요청 본문은 생성과 동일합니다.

POSTAuth required

기존 모델 설정을 업데이트합니다.

쿼리 파라미터

이름타입설명
idstring현재 모델 ID

요청 본문

생성과 동일한 필드 (모두 필수).

응답 200

업데이트된 모델 객체.

오류

상태 코드설명
400접근이 금지됨
401모델을 찾을 수 없음

POST /api/v1/models/model/toggle

모델의 is_active를 토글합니다. 호출자는 관리자, 소유자, 또는 쓰기 권한이 있어야 합니다.

POSTAuth required

모델 활성/비활성 상태를 토글합니다.

쿼리 파라미터

이름타입설명
idstring모델 식별자

응답 200

is_active 값이 포함된 업데이트된 모델 객체.

오류

상태 코드설명
400오류가 발생했습니다
401권한 없음

DELETE /api/v1/models/model/delete

모델을 삭제합니다. 호출자는 관리자, 소유자, 또는 쓰기 권한이 있어야 합니다.

DELETEAuth required

모델을 영구적으로 삭제합니다.

쿼리 파라미터

이름타입설명
idstring모델 식별자

응답 200

json
true

오류

상태 코드설명
401모델을 찾을 수 없거나 권한 부족