> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fim.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 모델 관리

> 관리자 패널에서 LLM 제공자, 모델 및 모델 그룹을 구성합니다.

FIM One은 LLM 제공자 및 모델을 관리하기 위한 완전한 기능의 관리자 UI를 제공합니다. 이 가이드는 제공자를 추가하고, 개별 모델을 구성하고, 고급 구조화된 출력 설정을 조정하고, 한 번의 클릭으로 전환하기 위해 모델을 그룹으로 구성하는 방법을 다룹니다.

ENV 기반 구성(관리자 UI 없음)은 [환경 변수](/configuration/environment-variables)를 참조하세요. 모델 선택 권장사항은 [권장 모델](/configuration/models)을 참조하세요.

## 아키텍처: 제공자, 모델, 그룹

FIM One은 LLM 구성을 세 가지 계층으로 정리합니다:

| 계층        | 나타내는 것                                                             | 예시                                           |
| --------- | ------------------------------------------------------------------ | -------------------------------------------- |
| **제공자**   | 공유 자격증명 집합(API 키 + 기본 URL). 하나의 제공자는 많은 모델을 호스팅할 수 있습니다.           | "My OpenAI Account", "Company Bedrock Relay" |
| **모델**    | 제공자 아래의 개별 모델. 자체 표시 이름, API 모델 식별자 및 고급 설정을 가집니다.                 | "GPT-4o", "Claude Sonnet 4.6"                |
| **모델 그룹** | 모델을 역할(일반 / 빠름 / 추론)에 할당하는 명명된 사전 설정. 그룹을 활성화하면 모든 역할이 한 번에 전환됩니다. | "Production (OpenAI)", "Budget (DeepSeek)"   |

```
Provider: "My OpenAI Account"
  ├── Model: "GPT-4o"         (model_name: gpt-4o)
  ├── Model: "GPT-5 Nano"     (model_name: gpt-5-nano)
  └── Model: "o3"             (model_name: o3)

Provider: "Anthropic Direct"
  ├── Model: "Claude Sonnet"   (model_name: claude-sonnet-4-6)
  └── Model: "Claude Haiku"    (model_name: claude-haiku-4-5)

Group: "Production"
  ├── General → GPT-4o
  ├── Fast    → GPT-5 Nano
  └── Reasoning → o3
```

***

## 제공자 추가

<Steps>
  <Step title="Models 페이지 열기">
    **Admin**(사이드바)으로 이동하여 **Models** 탭을 선택합니다.
  </Step>

  <Step title="Add Provider 클릭">
    Providers 섹션의 우측 상단에 있는 **Add Provider** 버튼을 클릭합니다.
  </Step>

  <Step title="사전 설정 선택 또는 사용자 정의 엔드포인트 사용">
    대화 상자에 일반적인 제공자에 대한 사전 설정 버튼이 표시됩니다: **OpenAI**, **Anthropic (Claude)**, **Google Gemini**, **DeepSeek**, **Mistral AI**, **OpenAI Compatible**(사용자 정의 엔드포인트). 사전 설정을 클릭하면 제공자 이름과 기본 URL이 자동으로 채워집니다.

    제공자가 목록에 없는 경우(예: 타사 릴레이, Ollama 또는 기타 OpenAI 호환 엔드포인트) **OpenAI Compatible**을 선택합니다.
  </Step>

  <Step title="자격증명 입력">
    필수 필드를 작성합니다:

    * **Provider Name** -- 친화적인 레이블(예: "My OpenAI Account"). 이는 참고용입니다.
    * **Base URL** -- API 엔드포인트입니다. 사전 설정은 이를 자동으로 채웁니다. 사용자 정의 엔드포인트의 경우 전체 URL을 입력합니다(예: Ollama의 경우 `http://localhost:11434/v1`).
    * **API Key** -- 제공자의 API 키입니다. 로컬 모델(Ollama)의 경우 비어있지 않은 문자열을 입력합니다(예: `ollama`).
  </Step>

  <Step title="저장">
    **Create**을 클릭합니다. 제공자가 목록에 나타나고 그 아래에 모델을 추가할 준비가 됩니다.
  </Step>
</Steps>

<Tip>
  동일한 서비스에 대해 여러 제공자를 만들 수 있습니다. 예를 들어, 별도의 청구 계정을 위해 서로 다른 API 키를 가진 두 개의 "OpenAI" 제공자, 또는 서로 다른 기본 URL을 가진 "Anthropic (Direct)"과 "Anthropic (via Bedrock)"을 만들 수 있습니다.
</Tip>

***

## 모델 추가

<Steps>
  <Step title="제공자 확장">
    모델 페이지에서 기존 제공자 옆의 chevron을 클릭하여 확장하고 해당 모델을 확인합니다.
  </Step>

  <Step title="모델 추가 클릭">
    확장된 제공자 아래에 나타나는 **모델 추가** 버튼을 클릭합니다.
  </Step>

  <Step title="모델 세부 정보 입력">
    두 개의 필수 필드를 작성합니다:

    * **표시 이름** -- UI에 표시되는 사람이 읽을 수 있는 이름(예: "GPT-4o", "Claude Sonnet"). 원하는 대로 지정할 수 있습니다.
    * **모델 이름(API)** -- API로 전송되는 정확한 모델 식별자(예: `gpt-4o`, `claude-sonnet-4-6`, `deepseek-chat`). 제공자가 예상하는 것과 일치해야 합니다.
  </Step>

  <Step title="고급 설정 구성(선택 사항)">
    **고급** 토글을 클릭하여 추가 설정을 표시합니다: 최대 출력 토큰, 컨텍스트 크기, 온도, 기본 함수 호출 및 JSON 모드. 각각에 대한 자세한 내용은 아래의 [고급 설정](#advanced-settings) 섹션을 참조하세요.
  </Step>

  <Step title="저장">
    **생성**을 클릭합니다. 모델이 제공자 아래에 나타나며 이제 모델 그룹에 할당할 수 있습니다.
  </Step>
</Steps>

***

## 고급 설정

각 모델에는 FIM One이 구조화된 출력 추출을 위해 제공자의 API와 상호작용하는 방식을 제어하는 고급 설정이 있습니다. 이러한 설정은 모델 생성/편집 대화상자의 **Advanced** 토글 아래에 있습니다.

### 네이티브 함수 호출

**설정 이름:** Native Function Calling (저장 이름: `tool_choice_enabled`)

**기본값:** ON

FIM One이 구조화된 출력 추출을 위해 강제 `tool_choice`를 사용할지 여부를 제어합니다. 이는 구조화된 출력 저하 체인의 레벨 1입니다 -- 모델이 지원할 때 가장 신뢰할 수 있는 방법입니다.

**비활성화 시기:**

* 모델이 `"tool_choice 'specified' is incompatible with thinking enabled"`와 같은 오류를 반환하는 경우 -- 항상 활성화된 사고 모델(DeepSeek R1, Kimi K2.5)에서 일반적
* 구조화된 출력 요청이 호출당 약 10초의 페널티로 일관되게 느린 경우, 그 후 어쨌든 JSON Mode로 폴백

**비활성화 시 효과:** FIM One은 레벨 1(네이티브 함수 호출)을 건너뛰고 구조화된 출력에 대해 레벨 2(JSON Mode)부터 시작합니다. ReAct 에이전트의 도구 호출은 완전히 영향을 받지 않습니다 -- 이 설정과 관계없이 모든 모델에서 작동하는 `tool_choice="auto"`를 사용합니다.

<Note>
  이 설정은 구조화된 출력 추출에 사용되는 **강제** 도구 선택(DAG 계획, 스키마 주석)에만 영향을 미칩니다. ReAct 에이전트에는 영향을 미치지 **않으며**, ReAct 에이전트는 `tool_choice="auto"`를 사용하여 도구 호출 시기를 자유롭게 결정합니다.
</Note>

기술적 세부 사항은 [LLM 제공자 호환성 -- tool\_choice\_enabled](/architecture/llm-provider-guide#the-fix-tool_choice_enabled)를 참조하세요.

### JSON Mode

**Setting name:** JSON Mode (stored as `json_mode_enabled`)

**Default:** ON

FIM One이 구조화된 출력을 위해 `response_format=json_object`를 사용하는지 여부를 제어합니다. 이는 성능 저하 체인의 Level 2입니다.

**비활성화할 시기:**

* 제공자가 어시스턴트 메시지 프리필을 거부하는 경우 -- 주로 AWS Bedrock 릴레이로, `"This model does not support assistant message prefill"` 오류를 발생시킵니다.

**비활성화 시 효과:** FIM One은 Level 2(JSON Mode)를 건너뛰고 Level 3(일반 텍스트 추출)로 폴백합니다. 최신 모델은 프롬프트 지시사항만으로도 유효한 JSON을 생성하므로 일반적으로 품질 손실이 없습니다.

기술적 세부 사항은 [LLM Provider Compatibility -- json\_mode\_enabled](/architecture/llm-provider-guide#the-fix-json_mode_enabled)를 참조하세요.

### Temperature

**기본값:** 0.7 (설정하지 않으면 전역 설정에서 상속됨)

모델 출력의 무작위성을 제어합니다. 범위: 0 (결정적)부터 2 (매우 창의적)까지.

<Note>
  Anthropic 모델에 대해 추론/확장 사고가 활성화되면 시스템에서 자동으로 온도가 1.0으로 강제됩니다. 수동으로 설정할 필요가 없습니다.
</Note>

### 최대 출력 토큰

모델이 단일 응답에서 생성할 수 있는 최대 토큰 수입니다. 시스템 기본값(64,000)을 사용하려면 비워두세요. VRAM이 제한된 로컬 모델의 경우 이를 더 낮은 값(예: 8192)으로 명시적으로 설정하세요.

### 컨텍스트 크기

모델의 컨텍스트 윈도우 크기(토큰 단위). 시스템 기본값(128,000)을 사용하려면 비워두세요. 로컬 모델의 경우 모델과 사용 가능한 메모리에 따라 4K-32K인 경우가 많으므로 모델의 실제 기능과 일치하도록 설정하세요.

***

## 권장 구성

대부분의 모델은 기본 설정(토글 모두 ON)에서 올바르게 작동합니다. 오류나 불필요한 지연이 발생할 때만 조정하세요.

아래 표는 일반적인 제공자와 모델을 다룹니다. 데이터는 UniAPI 기능 태그에서 소싱되었으며 **2026-03-22** 기준 런타임 동작에 대해 검증되었습니다. 모델 기능은 자주 변경됩니다 -- 오류가 발생하면 제공자의 최신 문서를 확인하세요.

### 빠른 규칙

* **Native FC ON** 함수 호출을 지원하는 모델의 경우 (대부분의 최신 모델)
* **Native FC OFF** 강제 `tool_choice`를 거부하는 항상 사고 중인 모델의 경우
* **JSON Mode ON** 대부분의 모델의 경우 (안전한 기본값)
* **JSON Mode OFF** AWS Bedrock 릴레이의 경우만 (프리필 거부)

### 제공자별 구성 매트릭스

**OpenAI**

| Model          | Role      | Context | Max Output | Native FC | JSON Mode | Notes                                                 |
| -------------- | --------- | ------- | ---------- | --------- | --------- | ----------------------------------------------------- |
| `gpt-5.4`      | General   | 1,050K  | 128K       | ON        | ON        | Function calling + structured output + reasoning      |
| `gpt-5.4-mini` | Fast      | 400K    | 128K       | ON        | ON        | Function calling + structured output + reasoning      |
| `o3-pro`       | Reasoning | 200K    | 100K       | ON        | ON        | Reasoning model; FC works with auto-disabled thinking |

**Anthropic (Claude)**

| Model               | Role      | Context | Max Output | Native FC | JSON Mode | Notes                                                       |
| ------------------- | --------- | ------- | ---------- | --------- | --------- | ----------------------------------------------------------- |
| `claude-sonnet-4-6` | General   | 1,000K  | 64K        | ON        | ON        | Function calling + reasoning; thinking auto-disabled for FC |
| `claude-haiku-4-5`  | Fast      | 200K    | 64K        | ON        | ON        | Function calling supported                                  |
| `claude-opus-4-6`   | Reasoning | 1,000K  | 128K       | ON        | ON        | Function calling + reasoning; thinking auto-disabled for FC |

**Google Gemini**

| Model                    | Role      | Context | Max Output | Native FC | JSON Mode | Notes                                                        |
| ------------------------ | --------- | ------- | ---------- | --------- | --------- | ------------------------------------------------------------ |
| `gemini-3.1-pro-preview` | General   | 1,048K  | 65K        | ON        | ON        | Latest preview; successor to deprecated gemini-3-pro-preview |
| `gemini-2.5-pro`         | Fast      | 1,048K  | 65K        | ON        | ON        | Stable GA; production-ready                                  |
| `gemini-3.1-pro-preview` | Reasoning | 1,048K  | 65K        | ON        | ON        | Thinking support with configurable thinking\_level           |

**DeepSeek**

| Model               | Role      | Context | Max Output | Native FC | JSON Mode | Notes                                                              |
| ------------------- | --------- | ------- | ---------- | --------- | --------- | ------------------------------------------------------------------ |
| `deepseek-chat`     | General   | 128K    | 8K         | ON        | ON        | V3.2 non-thinking mode; FC + JSON mode supported                   |
| `deepseek-chat`     | Fast      | 128K    | 8K         | ON        | ON        | Same model as General; only two official API model IDs exist       |
| `deepseek-reasoner` | Reasoning | 128K    | 64K        | **OFF**   | ON        | Thinking always-on; forced tool\_choice rejected; 64K includes CoT |

**xAI (Grok)**

| Model                         | Role      | Context | Max Output | Native FC | JSON Mode | Notes                                                                           |
| ----------------------------- | --------- | ------- | ---------- | --------- | --------- | ------------------------------------------------------------------------------- |
| `grok-4-1-fast-non-reasoning` | General   | 2,000K  | 30K        | ON        | ON        | Function calling + structured output                                            |
| `grok-3-mini-fast`            | Fast      | 131K    | 131K       | ON        | ON        | Function calling + structured output + reasoning; 131K is shared context budget |
| `grok-4-1-fast-reasoning`     | Reasoning | 2,000K  | 30K        | ON        | ON        | Function calling + structured output + reasoning                                |

**Qwen (Alibaba Cloud)**

| Model               | Role      | Context | Max Output | Native FC | JSON Mode | Notes                                                                  |
| ------------------- | --------- | ------- | ---------- | --------- | --------- | ---------------------------------------------------------------------- |
| `qwen3.5-plus`      | General   | 1,000K  | 64K        | ON        | ON        | Function calling + structured output                                   |
| `qwen-turbo-latest` | Fast      | 1,000K  | 16K        | ON        | ON        | FC likely supported (UniAPI tags incomplete)                           |
| `qwq-plus`          | Reasoning | 131K    | 16K        | ON        | ON        | Reasoning + function calling; thinking toggleable via enable\_thinking |

**Zhipu (GLM)**

| Model            | Role      | Context | Max Output | Native FC | JSON Mode | Notes                                                          |
| ---------------- | --------- | ------- | ---------- | --------- | --------- | -------------------------------------------------------------- |
| `glm-4.7`        | General   | 200K    | 65K        | **OFF**   | ON        | Forced tool\_choice not supported (`auto` only); strong coding |
| `glm-4.7-flashx` | Fast      | 200K    | 65K        | **OFF**   | ON        | Higher throughput variant; free `glm-4.7-flash` also available |
| `glm-5`          | Reasoning | 200K    | 65K        | **OFF**   | ON        | 745B MoE flagship; built-in reasoning (no API toggle)          |

**Moonshot (Kimi)**

| Model              | Role      | Context | Max Output | Native FC | JSON Mode | Notes                                                                   |
| ------------------ | --------- | ------- | ---------- | --------- | --------- | ----------------------------------------------------------------------- |
| `kimi-k2.5`        | General   | 262K    | 65K        | **OFF**   | ON        | FC works but forced tool\_choice rejected when thinking is on (default) |
| `kimi-k2`          | Fast      | 131K    | 32K        | ON        | ON        | Non-thinking; native FC works (verified in production)                  |
| `kimi-k2-thinking` | Reasoning | 131K    | --         | **OFF**   | ON        | Thinking always-on; forced tool\_choice rejected                        |

**MiniMax**

| Model                    | Role         | Context | Max Output | Native FC | JSON Mode | Notes                                                                  |
| ------------------------ | ------------ | ------- | ---------- | --------- | --------- | ---------------------------------------------------------------------- |
| `MiniMax-M2.7`           | General      | 205K    | 131K       | ON        | ON        | Latest (Mar 2026); function calling + structured output                |
| `MiniMax-M2.5`           | Fast         | 197K    | 65K        | ON        | ON        | Function calling + structured output; cheaper cache read (\$0.03/MTok) |
| `MiniMax-M2.7-highspeed` | Fast (speed) | 205K    | 131K       | ON        | ON        | 2x throughput (\~100 tok/s), 2x cost                                   |
| `MiniMax-M2.5-highspeed` | Fast (speed) | 197K    | 65K        | ON        | ON        | 2x throughput (\~100 tok/s), 2x cost                                   |

**ByteDance (Doubao)**

| Model                 | Role      | Context | Max Output | Native FC | JSON Mode | Notes                                                 |
| --------------------- | --------- | ------- | ---------- | --------- | --------- | ----------------------------------------------------- |
| `doubao-seed-2-0-pro` | General   | 256K    | 128K       | ON        | ON        | Function calling + structured output + reasoning      |
| `doubao-seed-1-6`     | Fast      | 256K    | 16K        | ON        | ON        | Function calling + structured output + reasoning      |
| `doubao-seed-1-6`     | Reasoning | 256K    | 16K        | ON        | ON        | Supports `reasoning_effort` (minimal/low/medium/high) |

**Meta (Llama)**

| Model           | Role    | Context | Max Output | Native FC | JSON Mode | Notes                                                                 |
| --------------- | ------- | ------- | ---------- | --------- | --------- | --------------------------------------------------------------------- |
| `llama-3.3-70b` | General | 131K    | 16K        | ON        | ON        | FC + JSON mode depend on hosting provider; max output varies (2K–16K) |

<Note>
  **Max Output의 "--"** 는 제공자가 제한을 보고하지 않았음을 의미합니다. 실제로 이러한 모델은 일반적으로 4K-16K 출력 토큰을 지원합니다. 특정 값이 필요한 경우 모델의 Advanced 설정에서 **Max Output Tokens**을 명시적으로 설정하세요.
</Note>

<Tip>
  **진단 방법:** 애플리케이션 로그에서 `structured_llm_call: native_fc call raised` 경고를 확인하세요. 이러한 경고 다음에 JSON Mode 추출이 성공하면 해당 모델은 기본 함수 호출의 이점을 얻지 못합니다. 낭비되는 API 호출과 구조화된 출력 요청당 약 10초의 지연 페널티를 제거하기 위해 해당 모델에 대해 **Native Function Calling**을 비활성화하세요.
</Tip>

<Warning>
  모델 기능은 제공자가 API를 업데이트함에 따라 자주 변경됩니다. 위의 권장 사항은 **2026-03-26** 데이터(UniAPI 기능 태그 + 프로덕션 런타임 검증)를 기반으로 합니다. 이전에 작동하던 모델이 오류를 반환하기 시작하면 제공자의 변경 로그에서 주요 변경 사항을 확인하세요.
</Warning>

## 모델 그룹

모델 그룹을 사용하면 모델을 특정 역할에 할당하고 한 번의 클릭으로 구성을 전환할 수 있습니다.

### 역할

FIM One은 세 가지 모델 역할을 사용합니다. 각 역할은 실행 파이프라인에서 다른 목적을 수행합니다:

| 역할            | 사용 대상                                                        | 권장사항                                                                    |
| ------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------- |
| **General**   | 계획, 분석, ReAct 에이전트, DAG 단계 실행 (기본값)                          | 가장 성능이 우수한 모델 (예: `gpt-4o`, `claude-sonnet-4-6`)                        |
| **Fast**      | `model_hint="fast"` DAG 단계, 컨텍스트 압축, 히스토리 요약                 | 속도와 비용에 최적화됨 (예: `gpt-5-nano`, `deepseek-chat`). 할당되지 않으면 General로 폴백됨. |
| **Reasoning** | `model_hint="reasoning"` DAG 단계, 도메인 에스컬레이션 ReAct (법률/의료/금융) | 강력한 추론 모델 (예: `o3`, `deepseek-reasoner`). 할당되지 않으면 General로 폴백됨.        |

### 모델 그룹 생성

<Steps>
  <Step title="Groups 섹션 열기">
    **Admin > Models** 페이지에서 **Model Groups** 섹션으로 스크롤합니다.
  </Step>

  <Step title="Add Group 클릭">
    **Add Group** 버튼을 클릭합니다.
  </Step>

  <Step title="그룹 이름 지정">
    설명적인 이름을 입력합니다 (예: "Production (OpenAI)", "Budget (DeepSeek)", "Local Dev").
  </Step>

  <Step title="역할에 모델 할당">
    각 역할(General, Fast, Reasoning)에 대해 드롭다운에서 모델을 선택합니다. 드롭다운에는 활성 제공자의 모든 활성 모델이 제공자 이름별로 그룹화되어 표시됩니다. 역할을 할당하지 않은 채로 둘 수 있습니다 -- General 모델로 폴백되거나 General도 할당되지 않은 경우 ENV 구성 모델로 폴백됩니다.
  </Step>

  <Step title="저장">
    **Create**를 클릭합니다. 이제 그룹을 활성화할 수 있습니다.
  </Step>
</Steps>

### 그룹 활성화

모델 그룹을 활성화하려면 모델 페이지의 드롭다운 또는 활성화 컨트롤을 사용합니다. 한 번에 하나의 그룹만 활성화할 수 있습니다. 그룹을 활성화하면 해당 그룹의 모델 할당이 모든 새로운 대화에 즉시 적용됩니다.

현재 그룹을 비활성화하려면(ENV 구성 모델로 폴백) 비활성화 옵션을 선택합니다.

<Warning>
  활성 모델 그룹을 전환하면 시스템 전체의 **모든 새로운 대화**에 영향을 미칩니다. 진행 중인 기존 대화는 시작할 때 활성화되었던 모델을 계속 사용합니다.
</Warning>

***

## 도메인 인식 모델 에스컬레이션

자동 라우터가 전문 도메인(**법률**, **의료**, 또는 **금융**)을 감지하면, 시스템은 자동으로 일반 역할 할당을 넘어 모델 선택을 에스컬레이션합니다:

* **ReAct 모드:** 일반 모델은 **추론 모델**(`registry.get_by_role("reasoning")`)로 대체됩니다. 이는 모델 그룹의 추론 슬롯이 DAG `model_hint="reasoning"` 단계에만 사용되는 것이 아니라, 도메인별 ReAct 작업의 에스컬레이션 대상으로도 사용된다는 의미입니다.
* **DAG 모드:** 도메인 컨텍스트가 플래너 프롬프트에 주입되어, 전문가 정확도가 필요한 단계에 `model_hint="reasoning"`을 할당하도록 안내합니다.

이 에스컬레이션은 자동이며, 활성 모델 그룹에 추론 모델이 할당되어 있거나 `REASONING_LLM_MODEL` 환경 변수를 통해 설정된 것 이상의 구성이 필요하지 않습니다.

**관련 환경 변수:**

| 변수                                  | 기본값    | 설명                                                                                      |
| ----------------------------------- | ------ | --------------------------------------------------------------------------------------- |
| `DAG_CITATION_VERIFICATION`         | `true` | 법률/의료/금융 콘텐츠에 대한 단계 후 인용 검증 활성화. 정규식을 통해 인용을 추출하고 LLM 판단을 통해 정확성을 검증합니다.                |
| `DAG_STRUCTURED_CONTEXT_MULTIPLIER` | `3.0`  | DAG 종속성 컨텍스트에서 구조화된 콘텐츠(인용, 표, 코드 블록)에 대한 절단 예산 배수. 값이 높을수록 단계 간에 더 많은 구조화된 데이터를 보존합니다. |

<Tip>
  워크로드에 법률, 의료 또는 금융 쿼리가 포함된 경우, 추론 모델이 강력한 추론 능력을 가지고 있는지 확인하세요(예: `o3`, `claude-opus-4-6`, `deepseek-reasoner`). 자동 에스컬레이션은 이 슬롯이 도메인 중요 정확도 요구사항을 처리할 수 있는 모델로 채워져 있다는 것에 의존합니다.
</Tip>

## ENV 폴백

활성 관리자 구성 모델 그룹이 없을 때 FIM One은 ENV 기반 구성으로 폴백합니다:

| 역할        | ENV 변수                                   |
| --------- | ---------------------------------------- |
| General   | `LLM_MODEL`                              |
| Fast      | `FAST_LLM_MODEL` (`LLM_MODEL`으로 폴백)      |
| Reasoning | `REASONING_LLM_MODEL` (`LLM_MODEL`으로 폴백) |

관리자 구성 모델은 항상 ENV 변수보다 우선합니다. 시스템 상태 확인은 두 소스를 모두 고려합니다. 활성 모델 그룹 또는 유효한 ENV 변수 중 하나라도 구성되어 있으면 LLM 서브시스템은 정상으로 보고됩니다.

전체 ENV 참조는 [환경 변수](/configuration/environment-variables#llm-required)를 참조하세요.

## 내보내기 및 가져오기

모델 페이지에서는 전체 제공자 및 모델 구성(제공자, 모델, 그룹)을 JSON 파일로 내보낼 수 있으며, 다른 인스턴스에서 이를 가져올 수 있습니다. 이는 다음과 같은 경우에 유용합니다:

* 개발, 스테이징, 프로덕션 환경 간 구성 마이그레이션
* 검증된 모델 설정을 팀 멤버와 공유
* 변경 전 구성 백업

<Warning>
  내보낸 구성에는 API 키가 **포함되지 않습니다**. 가져온 후 각 제공자를 편집하여 적절한 API 키를 입력해야 합니다.
</Warning>
