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

# EvoLink Auto - 스마트 모델 라우팅

> 시스템이 자동으로 가장 적합한 모델을 선택하여 요청을 처리합니다

## 스마트 모델 라우팅

EvoLink Auto는 요청 내용에 따라 적합한 AI 모델을 자동으로 선택하는 지능형 모델 라우팅 기능입니다. 수동으로 모델을 지정할 필요가 없습니다.

### 핵심 장점

* **스마트 매칭**: 요청 내용을 자동 분석하여 적합한 모델 선택
* **비용 최적화**: 품질을 유지하면서 비용 효율적인 모델 우선 선택
* **부하 분산**: 여러 모델 간 요청을 자동 분산하여 시스템 안정성 향상
* **투명성**: 응답에 실제 사용된 모델 이름을 반환하여 추적 및 최적화 용이

### 작동 원리

시스템은 요청의 복잡도, 길이 및 유형에 따라 모델 풀에서 가장 적합한 모델을 선택합니다.

### 지원 모델

EvoLink Auto는 GPT-4, GPT-3.5, Claude, Gemini 등 주요 AI 모델 간에 지능적으로 라우팅합니다.

### 제한 사항

* 특정 모델 기능이 필요한 시나리오에는 적합하지 않습니다(예: GPT-4 비전 기능)
* 모든 요청에 대해 동일한 모델을 보장하지 않습니다

### 사용 시나리오

어떤 모델을 사용할지 불확실하거나 시스템이 자동으로 모델 선택을 최적화하기를 원하는 경우에 적합합니다.

<Note>
  `model` 매개변수를 `evolink/auto`로 설정하기만 하면 시스템이 자동으로 적합한 모델을 선택합니다.
</Note>

<Note>
  **BaseURL**: 기본 BaseURL은 `https://direct.evolink.ai`이며, 텍스트 모델 지원이 더 우수하고 장시간 연결을 지원합니다. `https://api.evolink.ai`는 멀티모달 서비스의 주력 엔드포인트이며, 텍스트 모델에 대해서는 대체 주소로 사용됩니다.
</Note>


## OpenAPI

````yaml ko/api-manual/language-series/evolink-auto/evolink-auto-quickstart.json POST /v1/chat/completions
openapi: 3.1.0
info:
  title: EvoLink Auto - 지능형 모델 선택
  description: 지능형 모델 라우팅 기능, 시스템이 자동으로 가장 적합한 AI 모델을 선택합니다
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: 프로덕션 (권장)
  - url: https://api.evolink.ai
    description: 대체 URL
security:
  - bearerAuth: []
paths:
  /v1/chat/completions:
    post:
      tags:
        - 지능형 라우팅
      summary: 지능형 모델 라우팅
      description: 시스템이 자동으로 가장 적합한 모델을 선택하여 요청을 처리합니다
      operationId: createChatCompletionAuto
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoRequest'
      responses:
        '200':
          description: 요청 성공
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponse'
        '400':
          description: 잘못된 요청 매개변수
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 400
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: 인증되지 않음, 유효하지 않거나 만료된 토큰
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 401
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: 할당량 부족, 충전 필요
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 402
                  message: Insufficient quota
                  type: insufficient_quota_error
                  fallback_suggestion: https://evolink.ai/dashboard/billing
        '403':
          description: 접근 거부
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 403
                  message: Access denied for this feature
                  type: permission_error
        '429':
          description: 요청 빈도 초과
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 429
                  message: Rate limit exceeded
                  type: rate_limit_error
                  fallback_suggestion: retry after 60 seconds
        '500':
          description: 내부 서버 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 500
                  message: Internal server error
                  type: internal_server_error
                  fallback_suggestion: try again later
        '502':
          description: 업스트림 서비스 오류
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 502
                  message: Upstream AI service unavailable
                  type: upstream_error
                  fallback_suggestion: try again later
        '503':
          description: 서비스 일시적으로 사용 불가
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: 503
                  message: Service temporarily unavailable
                  type: service_unavailable_error
                  fallback_suggestion: retry after 30 seconds
components:
  schemas:
    AutoRequest:
      type: object
      required:
        - model
        - messages
      properties:
        model:
          type: string
          description: 지능형 라우팅 사용
          enum:
            - evolink/auto
          default: evolink/auto
          example: evolink/auto
        messages:
          type: array
          description: 대화 메시지 목록
          items:
            $ref: '#/components/schemas/MessageInput'
          minItems: 1
          example:
            - role: user
              content: 인공지능의 발전 역사를 소개해 주세요
        temperature:
          type: number
          description: |-
            샘플링 온도, 출력의 무작위성을 제어합니다

            **설명**:
            - 낮은 값(예: 0.2): 더 확실하고 집중된 출력
            - 높은 값(예: 1.5): 더 무작위적이고 창의적인 출력
          minimum: 0
          maximum: 2
          example: 0.7
        top_p:
          type: number
          description: |-
            핵 샘플링(Nucleus Sampling) 매개변수

            **설명**:
            - 누적 확률 상위 몇 %의 토큰에서 샘플링할지 제어합니다
            - 예를 들어 0.9는 누적 확률이 90%에 도달하는 토큰 중에서 선택합니다
            - 기본값: 1.0 (모든 토큰 고려)

            **권장 사항**: temperature와 top_p를 동시에 조정하지 마세요
          minimum: 0
          maximum: 1
          example: 0.9
        top_k:
          type: integer
          description: |-
            Top-K 샘플링 매개변수

            **설명**:
            - 예를 들어 10은 매 샘플링 시 확률이 가장 높은 10개의 토큰만 고려하도록 제한합니다
            - 값이 작을수록 출력이 더 집중됩니다
            - 기본값은 제한 없음
          minimum: 1
          example: 40
        stream:
          type: boolean
          description: |-
            스트리밍 방식으로 응답을 반환할지 여부

            - `true`: 스트리밍 반환, 청크 단위로 실시간 콘텐츠 반환
            - `false`: 전체 응답을 기다린 후 한 번에 반환
          default: false
          example: false
    ChatCompletionResponse:
      type: object
      properties:
        id:
          type: string
          description: 채팅 완성의 고유 식별자
          example: chatcmpl-20260308112637503180122ABCD1234
        model:
          type: string
          description: 실제 사용된 모델 이름
          example: gpt-5.4
        object:
          type: string
          enum:
            - chat.completion
          description: 응답 유형
          example: chat.completion
        created:
          type: integer
          description: 생성 타임스탬프
          example: 1741428397
        choices:
          type: array
          description: 대화에서 생성된 선택 목록
          items:
            $ref: '#/components/schemas/Choice'
        usage:
          $ref: '#/components/schemas/Usage'
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: HTTP 상태 오류 코드
            message:
              type: string
              description: 오류 메시지
            type:
              type: string
              description: 오류 유형
            param:
              type: string
              description: 관련 매개변수 이름
            fallback_suggestion:
              type: string
              description: 오류 처리를 위한 제안
    MessageInput:
      type: object
      required:
        - role
        - content
      properties:
        role:
          type: string
          description: 메시지 역할
          enum:
            - system
            - user
            - assistant
        content:
          type: string
          description: 메시지 내용
    Choice:
      type: object
      properties:
        index:
          type: integer
          description: 이 선택의 인덱스
          example: 0
        message:
          $ref: '#/components/schemas/AssistantMessage'
        finish_reason:
          type: string
          description: 완료가 종료된 이유
          enum:
            - stop
            - length
            - content_filter
          example: stop
    Usage:
      type: object
      description: 토큰 사용 통계
      properties:
        prompt_tokens:
          type: integer
          description: 입력의 토큰 수
          example: 15
        completion_tokens:
          type: integer
          description: 출력의 토큰 수
          example: 120
        total_tokens:
          type: integer
          description: 총 토큰 수
          example: 135
    AssistantMessage:
      type: object
      properties:
        role:
          type: string
          description: 메시지 발신자의 역할
          enum:
            - assistant
          example: assistant
        content:
          type: string
          description: AI의 응답 내용
          example: 인공지능의 발전 역사는 1950년대로 거슬러 올라갑니다...
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |-
        ## 모든 API는 Bearer Token 인증이 필요합니다 ##

        **API Key 받기:**

        [API Key 관리 페이지](https://evolink.ai/dashboard/keys)를 방문하여 API Key를 받으세요

        **요청 헤더에 추가:**
        ```
        Authorization: Bearer YOUR_API_KEY
        ```
      bearerFormat: sk-evo-xxxxxxxxxx

````