다양한 모델 사용하기(Using different models)

다양한 모델 사용하기(Using different models)

smolagents는 다양한 프로바이더의 언어 모델을 쓸 수 있게 해 주는 유연한 프레임워크예요. 이 가이드에서는 에이전트에 여러 모델 타입을 어떻게 붙이는지 보여드릴게요.

사용 가능한 모델 타입

smolagents는 기본으로 여러 모델 타입을 지원해요.

  1. InferenceClientModel: Hugging Face의 Inference API로 모델에 접근해요.
  2. TransformersModel: Transformers 라이브러리로 모델을 로컬에서 실행해요.
  3. VLLMModel: 최적화된 서빙으로 빠른 추론을 위해 vLLM을 써요.
  4. MLXModel: MLX로 Apple 실리콘 기기에 최적화됐어요.
  5. LiteLLMModel: LiteLLM을 통해 수백 개의 LLM에 접근해요.
  6. LiteLLMRouterModel: 여러 모델 간에 요청을 분산해요.
  7. OpenAIModel: OpenAI 호환 API를 구현한 어떤 프로바이더든 접근할 수 있어요.
  8. AzureOpenAIModel: Azure의 OpenAI 서비스를 사용해요.
  9. AmazonBedrockModel: AWS Bedrock의 API에 연결해요.

모든 모델 클래스는 인스턴스화 시점에 temperature, max_tokens, top_p 같은 추가 키워드 인자를 직접 넘길 수 있어요. 이 파라미터는 자동으로 기반 모델의 완성 호출에 전달돼서, 창의성·응답 길이·샘플링 전략 같은 모델 동작을 구성할 수 있게 해 줘요.

Google Gemini 모델 사용하기

Google Gemini API 문서(https://ai.google.dev/gemini-api/docs/openai)에서 설명하듯, Google은 Gemini 모델용 OpenAI 호환 API를 제공해요. 그래서 OpenAIModel을 적절한 기본 URL과 함께 설정해 Gemini 모델에 쓸 수 있어요.

먼저 필요한 의존성을 설치해요.

pip install 'smolagents[openai]'

그다음 Gemini API 키를 받아 코드에 설정해요.

GEMINI_API_KEY = <YOUR-GEMINI-API-KEY>

이제 OpenAIModel 클래스로 api_base 파라미터를 Gemini API 기본 URL로 설정해 Gemini 모델을 초기화할 수 있어요.

from smolagents import OpenAIModel

model = OpenAIModel(
    model_id="gemini-2.0-flash",
    # Google Gemini OpenAI-compatible API base URL
    api_base="https://generativelanguage.googleapis.com/v1beta/openai/",
    api_key=GEMINI_API_KEY,
)

OpenRouter 모델 사용하기

OpenRouter는 통합된 OpenAI 호환 API로 다양한 언어 모델에 접근하게 해 줘요. OpenAIModel로 적절한 기본 URL을 설정해 OpenRouter에 연결할 수 있어요.

먼저 필요한 의존성을 설치해요.

pip install 'smolagents[openai]'

그다음 OpenRouter API 키를 받아 코드에 설정해요.

OPENROUTER_API_KEY = <YOUR-OPENROUTER-API-KEY>

이제 OpenAIModel 클래스로 OpenRouter에서 사용 가능한 어떤 모델이든 초기화할 수 있어요.

from smolagents import OpenAIModel

model = OpenAIModel(
    # You can use any model ID available on OpenRouter
    model_id="openai/gpt-4o",
    # OpenRouter API base URL
    api_base="https://openrouter.ai/api/v1",
    api_key=OPENROUTER_API_KEY,
)

xAI의 Grok 모델 사용하기

xAI의 Grok 모델은 LiteLLMModel로 접근할 수 있어요.

일부 모델("grok-4", "grok-3-mini" 같은)은 stop 파라미터를 지원하지 않아서, API 호출에서 제외하려면 REMOVE_PARAMETER를 써야 해요.

먼저 필요한 의존성을 설치해요.

pip install smolagents[litellm]

그다음 xAI API 키를 받아 코드에 설정해요.

XAI_API_KEY = <YOUR-XAI-API-KEY>

이제 LiteLLMModel 클래스로 Grok 모델을 초기화하고, 해당하면 stop 파라미터를 제거하면 돼요.

from smolagents import LiteLLMModel, REMOVE_PARAMETER

# Using Grok-4
model = LiteLLMModel(
    model_id="xai/grok-4",
    api_key=XAI_API_KEY,
    stop=REMOVE_PARAMETER,  # Remove stop parameter as grok-4 model doesn't support it
    temperature=0.7
)

# Or using Grok-3-mini
model_mini = LiteLLMModel(
    model_id="xai/grok-3-mini",
    api_key=XAI_API_KEY,
    stop=REMOVE_PARAMETER,  # Remove stop parameter as grok-3-mini model doesn't support it
    max_tokens=1000
)

출처: 공식문서