LLM 기능

·3분 읽기

원문: Koog Documentation — model-capabilities 이 글은 Koog 공식 문서의 model-capabilities 페이지를 한국어로 옮긴 번역본입니다. 문서 구조와 링크 의미를 유지하되, MkDocs 전용 UI 문법은 블로그에서 읽기 좋도록 정리했습니다.

Koog는 다양한 언어 모델(LLM) 작업을 위한 일련의 추상화 및 구현을 제공합니다. 공급자에 구애받지 않는 방식으로 LLM 공급자. 세트에는 다음 클래스가 포함됩니다.

  • LLMCapability: LLM이 지원할 수 있는 다음과 같은 다양한 기능을 정의하는 클래스 계층 구조입니다.

  • 반응 무작위성을 제어하기 위한 온도 조정

  • 외부 시스템 상호작용을 위한 도구 통합

  • 시각적 데이터를 처리하기 위한 비전 처리

  • 벡터 표현을 위한 임베딩 생성

  • 텍스트 생성 작업 완료

  • 구조화된 데이터에 대한 스키마 지원(단순 및 전체 변형이 포함된 JSON)

  • 탐색적 응답에 대한 추측

  • LLModel: 제공자, 고유 식별자 및 지원되는 특정 LLM을 나타내는 데이터 클래스입니다. 능력.

이는 다양한 LLM 제공업체와 통합된 방식으로 상호 작용하기 위한 기반 역할을 하여 애플리케이션이 작동할 수 있도록 합니다. 공급자별 세부 정보를 추상화하면서 다양한 모델을 사용합니다.

LLM 기능

LLM 기능은 대규모 언어 모델이 지원할 수 있는 특정 기능을 나타냅니다. 쿠그에서는 프레임워크에서 기능은 특정 모델이 수행할 수 있는 작업과 구성 방법을 정의하는 데 사용됩니다. 각 기능 LLMCapability 클래스의 하위 클래스 또는 데이터 개체로 표시됩니다.

응용 프로그램에서 사용할 LLM을 구성할 때 LLM이 지원하는 기능을 LLModel 인스턴스를 생성할 때 capabilities 목록입니다. 이를 통해 프레임워크가 모델과 적절하게 상호 작용할 수 있습니다. 그리고 그 기능을 적절하게 사용하세요.

핵심 역량

아래 목록에는 Koog 프레임워크의 모델에 사용할 수 있는 핵심 LLM 관련 기능이 포함되어 있습니다.

  • 추측(LLMCapability.Speculation): 모델이 다음을 사용하여 추측 또는 탐색 응답을 생성할 수 있습니다. 가능성의 정도가 다양합니다. 더 넓은 범위의 잠재력이 있는 창의적이거나 가상적인 시나리오에 유용합니다. 결과 바람직하다.

  • 온도 (LLMCapability.Temperature): 모델의 응답 무작위성 또는 창의성을 조정할 수 있습니다. 수준. 온도 값이 높을수록 더 다양한 출력이 생성되고, 값이 낮을수록 더 집중적이고 결정론적 반응.

  • 도구(LLMCapability.Tools): 외부 도구 사용 또는 통합에 대한 지원을 나타냅니다. 이 기능을 통해 모델은 특정 도구를 실행하거나 외부 시스템과 상호 작용합니다.

  • 도구 선택(LLMCapability.ToolChoice): LLM에서 도구 호출이 작동하는 방식을 구성합니다. 모델에 따라, 다음과 같이 구성할 수 있습니다.

  • 텍스트 생성 또는 도구 호출 중에서 자동으로 선택

  • 도구 호출만 생성하고 문자는 생성하지 않습니다.

  • 텍스트만 생성하고 도구 호출은 생성하지 않음

  • 정의된 도구 중 특정 도구를 강제 호출

  • 다중 선택(LLMCapability.MultipleChoices): 모델이 여러 개의 독립적인 응답 선택을 생성할 수 있습니다. 단일 프롬프트로.

미디어 처리 기능

다음 목록은 이미지나 오디오와 같은 미디어 콘텐츠를 처리하기 위한 기능 집합을 나타냅니다.

  • 비전(LLMCapability.Vision): 인사이트를 처리, 분석, 추론하는 비전 기반 역량 클래스 시각적 데이터에서 다음 유형의 시각적 데이터를 지원합니다.

  • 이미지 (LLMCapability.Vision.Image): 이미지 분석, 인식, 그리고 해석.

  • 비디오(LLMCapability.Vision.Video): 비디오 분석 및 이해를 포함하여 비디오 데이터를 처리합니다. 콘텐츠.

  • 오디오(LLMCapability.Audio): 녹음, 오디오 생성 또는 기타 오디오 관련 기능을 제공합니다. 오디오 기반 상호 작용.

  • 문서(LLMCapability.Document): 문서 기반 입력 및 출력을 처리하고 처리할 수 있습니다.

텍스트 처리 기능

다음 기능 목록은 텍스트 생성 및 처리 기능을 나타냅니다.

  • 임베딩(LLMCapability.Embed): 모델이 입력 텍스트에서 벡터 임베딩을 생성하여 유사성을 가능하게 합니다. 비교, 클러스터링 및 기타 벡터 기반 분석.

  • 완료(LLMCapability.Completion): 주어진 입력 컨텍스트를 기반으로 텍스트 또는 콘텐츠의 생성을 포함합니다. 문장 완성, 제안 생성, 입력 데이터에 맞는 콘텐츠 생성 등이 있습니다.

  • 프롬프트 캐싱(LLMCapability.PromptCaching): 잠재적으로 프롬프트에 대한 캐싱 기능을 지원합니다. 개선 반복되거나 유사한 쿼리에 대한 성능.

  • 조정(LLMCapability.Moderation): 모델이 텍스트에서 잠재적으로 유해한 콘텐츠를 분석하고 괴롭힘, 증오심 표현, 자해, 성적인 내용, 폭력 등 다양한 범주에 따라 분류합니다.

스키마 기능

아래 목록은 구조화된 데이터 처리와 관련된 기능을 나타냅니다.

  • 스키마(LLMCapability.Schema): 데이터 상호 작용과 관련된 구조화된 스키마 기능에 대한 클래스입니다. 특정 형식을 사용하여 인코딩합니다. 다음 형식에 대한 지원이 포함됩니다.
  • JSON(LLMCapability.Schema.JSON): 다양한 수준의 JSON 스키마 지원:
    • 기본(LLMCapability.Schema.JSON.Basic): 경량 또는 기본 JSON 처리 기능을 제공합니다.
    • 표준(LLMCapability.Schema.JSON.Standard): 복잡한 데이터에 대한 포괄적인 JSON 스키마 지원을 제공합니다. 구조.

모델(LLModel) 구성 만들기

보편적이고 공급자에 구애받지 않는 방식으로 모델을 정의하려면 LLModel의 인스턴스로 모델 구성을 생성하세요. 다음 매개변수를 사용하는 클래스:

이름 데이터 유형 필수의 기본 설명
provider LLM공급자 Google 또는 OpenAI와 같은 LLM 제공업체입니다. 이는 모델을 생성하거나 호스팅하는 회사 또는 조직을 식별합니다.
id LLM 인스턴스의 고유 식별자입니다. 이는 일반적으로 특정 모델 버전이나 이름을 나타냅니다. 예를 들어 gpt-4-turbo, claude-3-opus, llama-3-2입니다.
capabilities 목록 온도 조정, 도구 사용 또는 스키마 기반 작업과 같이 LLM에서 지원하는 기능 목록입니다. 이러한 기능은 모델이 수행할 수 있는 작업과 구성 방법을 정의합니다.
contextLength LLM의 컨텍스트 길이입니다. 이는 LLM이 처리할 수 있는 최대 토큰 수입니다.
maxOutputTokens 아니요 null LLM 공급자가 생성할 수 있는 최대 토큰 수입니다.

이 섹션에서는 다양한 기능을 갖춘 LLModel 인스턴스를 생성하는 자세한 예를 제공합니다.

아래 코드는 핵심 기능을 갖춘 기본 LLM 구성을 나타냅니다.

코틀린

1val basicModel = LLModel(2    provider = LLMProvider.OpenAI,3    id = "gpt-4-turbo",4    capabilities = listOf(5        LLMCapability.Temperature,6        LLMCapability.Tools,7        LLMCapability.Schema.JSON.Standard8    ),9    contextLength = 128_00010)

자바

1LLModel basicModel = new LLModel(2    LLMProvider.OpenAI,3    "gpt-4-turbo",4    List.of(5        LLMCapability.Temperature.INSTANCE,6        LLMCapability.Tools.INSTANCE,7        LLMCapability.Schema.JSON.Standard.INSTANCE8    ),9    128_000L10);

아래 모델 구성은 비전 기능을 갖춘 다중 모드 LLM입니다.

코틀린

1val visionModel = LLModel(2    provider = LLMProvider.OpenAI,3    id = "gpt-4-vision",4    capabilities = listOf(5        LLMCapability.Temperature,6        LLMCapability.Vision.Image,7        LLMCapability.MultipleChoices8    ),9    contextLength = 1_047_576,10    maxOutputTokens = 32_76811)

자바

1LLModel visionModel = new LLModel(2    LLMProvider.OpenAI,3    "gpt-4-vision",4    List.of(5        LLMCapability.Temperature.INSTANCE,6        LLMCapability.Vision.Image.INSTANCE,7        LLMCapability.MultipleChoices.INSTANCE8    ),9    1_047_576L,10    32_768L11);

오디오 처리 기능을 갖춘 LLM:

코틀린

1val audioModel = LLModel(2    provider = LLMProvider.Anthropic,3    id = "claude-3-opus",4    capabilities = listOf(5        LLMCapability.Audio,6        LLMCapability.Temperature,7        LLMCapability.PromptCaching8    ),9    contextLength = 200_00010)

자바

1LLModel audioModel = new LLModel(2    LLMProvider.Anthropic,3    "claude-3-opus",4    List.of(5        LLMCapability.Audio.INSTANCE,6        LLMCapability.Temperature.INSTANCE,7        LLMCapability.PromptCaching.INSTANCE8    ),9    200_000L10);

모델을 LLModel 인스턴스로 생성하고 모든 관련 매개변수를 지정해야 하는 것 외에도 Koog에는 다음이 포함됩니다. 지원되는 기능을 갖춘 사전 정의된 모델 및 해당 구성의 모음입니다. 사전 정의된 Ollama 모델을 사용하려면 다음과 같이 지정하십시오.

코틀린

1val metaModel = OllamaModels.Meta.LLAMA_3_2

자바

1LLModel metaModel = OllamaModels.Meta.LLAMA_3_2;

모델이 특정 기능을 지원하는지 확인하려면 contains 메서드를 사용하여 capabilities 목록의 기능:

코틀린

1// Check if models support specific capabilities2val supportsTools = basicModel.supports(LLMCapability.Tools) // true3val supportsVideo = visionModel.supports(LLMCapability.Vision.Video) // false45// Check for schema capabilities6val jsonCapability = basicModel.capabilities?.filterIsInstance<LLMCapability.Schema.JSON>()?.firstOrNull()7val hasFullJsonSupport = jsonCapability is LLMCapability.Schema.JSON.Standard // true

자바

1// Check if models support specific capabilities2boolean supportsTools = basicModel.supports(LLMCapability.Tools.INSTANCE); // true3boolean supportsVideo = visionModel.supports(LLMCapability.Vision.Video.INSTANCE); // false45// Check for schema capabilities6LLMCapability jsonCapability = basicModel.getCapabilities().stream()7    .filter(c -> c instanceof LLMCapability.Schema.JSON)8    .map(c -> (LLMCapability.Schema.JSON) c)9    .findFirst()10    .orElse(null);11boolean hasFullJsonSupport = jsonCapability instanceof LLMCapability.Schema.JSON.Standard; // true

모델별 LLM 기능

이 참조 자료는 다양한 공급자의 각 모델에서 어떤 LLM 기능을 지원하는지 보여줍니다.

아래 표에서:

  • 은 모델이 기능을 지원함을 나타냅니다.
  • -은 모델이 해당 기능을 지원하지 않음을 나타냅니다.
  • JSON 스키마의 경우 Full 또는 Simple은 모델이 지원하는 JSON 스키마 기능의 변형을 나타냅니다.

참고: "Google models"

구글 모델

모델 온도 JSON 스키마 완성 다중 선택 도구 도구 선택 비전(이미지) 비전(영상) 오디오
Gemini2_5Pro 가득한
Gemini2_5플래시 가득한
Gemini2_5FlashLite 가득한
Gemini2_0플래시 가득한
Gemini2_0Flash001 가득한
Gemini2_0FlashLite 가득한
Gemini2_0FlashLite001 가득한

참고: "OpenAI models"

OpenAI 모델

모델 온도 JSON 스키마 완성 다중 선택 도구 도구 선택 비전(이미지) 비전(영상) 오디오 추측 절도
추론.O4Mini - 가득한 - - -
추론.O3Mini - 가득한 - - - -
추론.O3 - 가득한 - - -
추론.O1 - 가득한 - - -
채팅.GPT4o 가득한 - - -
채팅.GPT4_1 가득한 - - -
채팅.GPT5 가득한 - - -
채팅.GPT5Mini 가득한 - - -
Chat.GPT5Nano 가득한 - - -
오디오.GptAudio - - - - - -
오디오.GPT4oMiniAudio - - - - - -
오디오.GPT4oAudio - - - - - -
비용 최적화.GPT4_1Nano 가득한 - - -
비용 최적화.GPT4_1Mini 가득한 - - -
비용 최적화.GPT4oMini 가득한 - - -
조정.옴니 - - - - - - - - -

참고: "Anthropic models"

인류 모델

모델 온도 JSON 스키마 완성 도구 도구 선택 비전(이미지)
Opus_4_6 가득한
Opus_4_5 가득한
Opus_4_1 -
Opus_4 -
소네트_4_6 가득한
소네트_4_5 가득한
소네트_4 -
하이쿠_4_5 가득한
하이쿠_3 -

참고: "Ollama models"

올라마 모델

메타 모델
모델 온도 JSON 스키마 도구 절도
LLAMA_3_2_3B 단순한 -
LLAMA_3_2 단순한 -
라마_4 단순한 -
LLAMA_GUARD_3 - - -
알리바바 모델
모델 온도 JSON 스키마 도구
QWEN_2_5_05B 단순한
QWEN_3_06B 단순한
QWQ 단순한
QWEN_CODER_2_5_32B 단순한
그로크 모델
모델 온도 JSON 스키마 도구
LLAMA_3_GROK_TOOL_USE_8B 가득한
LLAMA_3_GROK_TOOL_USE_70B 가득한
화강암 모델
모델 온도 JSON 스키마 도구 비전(이미지)
GRANITE_3_2_VISION 단순한

참고: "DeepSeek models"

DeepSeek 모델

모델 온도 JSON 스키마 완성 추측 도구 도구 선택 비전(이미지)
DeepSeekChat 가득한 - -
DeepSeekReasoner 가득한 - -

참고: "OpenRouter models"

OpenRouter 모델

모델 온도 JSON 스키마 완성 추측 도구 도구 선택 비전(이미지)
Phi4Reasoning 가득한 -
클로드3오푸스 가득한
클로드3소네트 가득한
Claude3하이쿠 가득한
Claude3_5소네트 가득한
Claude3_7소네트 가득한
클로드4소네트 가득한
클로드4_1오푸스 가득한
GPT4oMini 가득한
GPT5 가득한 -
GPT5Mini 가득한 -
GPT5나노 가득한 -
GPT_OSS_120b 가득한 -
GPT4 가득한 -
GPT4o 가득한
GPT4터보 가득한
GPT35터보 가득한 -
라마3 가득한 -
Llama3명령 가득한 -
미스트랄7B 가득한 -
믹스트랄8x7B 가득한 -
Claude3Vision소네트 가득한
Claude3VisionOpus 가득한
Claude3Vision하이쿠 가득한
DeepSeekV30324 가득한 -
Gemini2_5FlashLite 가득한
Gemini2_5플래시 가득한
Gemini2_5Pro 가득한