메인 콘텐츠로 건너뛰기

개요

CrewAI는 LiteLLM을 통해 다양한 LLM 제공업체와 통합되어, 특정 사용 사례에 맞는 올바른 모델을 선택할 수 있는 유연성을 제공합니다. 이 가이드는 CrewAI 프로젝트에서 다양한 LLM 제공업체를 구성하고 사용하는 방법을 이해하는 데 도움이 될 것입니다.

LLM이란 무엇인가요?

Large Language Models(LLM)는 CrewAI 에이전트의 핵심 지능입니다. 에이전트가 문맥을 이해하고, 결정을 내리며, 인간과 유사한 응답을 생성할 수 있도록 합니다. 알아두어야 할 내용은 다음과 같습니다:

LLM 기본

Large Language Models는 방대한 양의 텍스트 데이터로 학습된 AI 시스템입니다. CrewAI 에이전트의 지능을 구동하여, 인간과 유사한 텍스트를 이해하고 생성할 수 있도록 합니다.

컨텍스트 윈도우

컨텍스트 윈도우는 LLM이 한 번에 처리할 수 있는 텍스트 양을 결정합니다. 더 큰 윈도우(예: 128K 토큰)는 더 많은 문맥을 다룰 수 있지만, 비용과 속도 면에서 더 부담이 될 수 있습니다.

Temperature

Temperature(0.0에서 1.0)는 응답의 무작위성을 조절합니다. 낮은 값(예: 0.2)은 더 집중적이고 결정적인 결과를, 높은 값(예: 0.8)은 창의성과 다양성을 높입니다.

제공자 선택

각 LLM 제공자(예: OpenAI, Anthropic, Google)는 다양한 기능, 가격, 특성을 가진 모델을 제공합니다. 정확성, 속도, 비용 등 요구 사항에 따라 선택하세요.

LLM 설정하기

CrewAI 코드 내에는 사용할 모델을 지정할 수 있는 여러 위치가 있습니다. 모델을 지정한 후에는 사용하는 각 모델 제공자에 대한 설정(예: API 키)을 제공해야 합니다. 각 제공자에 맞는 제공자 설정 예제 섹션을 참고하세요.
  • 1. 환경 변수
  • 2. YAML 구성
  • 3. 직접 코드 작성
가장 간단하게 시작할 수 있는 방법입니다. .env 파일이나 앱 코드에서 환경 변수로 직접 모델을 설정할 수 있습니다. crewai create를 사용해 프로젝트를 부트스트랩했다면 이미 설정되어 있을 수 있습니다.
.env
MODEL=model-id  # e.g. gpt-4o, gemini-2.0-flash, claude-3-sonnet-...

# 반드시 여기에서 API 키도 설정하세요. 아래 제공자
# 섹션을 참고하세요.
API 키를 절대 버전 관리 시스템에 커밋하지 마세요. 환경 파일(.env)이나 시스템의 비밀 관리 기능을 사용하세요.

공급자 구성 예시

CrewAI는 고유한 기능, 인증 방법, 모델 역량을 제공하는 다양한 LLM 공급자를 지원합니다.
이 섹션에서는 프로젝트의 요구에 가장 적합한 LLM을 선택, 구성, 최적화하는 데 도움이 되는 자세한 예시를 제공합니다.
.env 파일에 다음 환경 변수를 설정하십시오:
Code
# Required
OPENAI_API_KEY=sk-...

# Optional
OPENAI_API_BASE=<custom-base-url>
OPENAI_ORGANIZATION=<your-org-id>
CrewAI 프로젝트에서의 예시 사용법:
Code
from crewai import LLM

llm = LLM(
    model="openai/gpt-4", # call model by provider/model_name
    temperature=0.8,
    max_tokens=150,
    top_p=0.9,
    frequency_penalty=0.1,
    presence_penalty=0.1,
    stop=["END"],
    seed=42
)
OpenAI는 다양한 모델과 기능을 제공하는 대표적인 LLM 공급자 중 하나입니다.
모델컨텍스트 윈도우최적 용도
GPT-48,192 토큰고정확도 작업, 복잡한 추론
GPT-4 Turbo128,000 토큰장문 콘텐츠, 문서 분석
GPT-4o & GPT-4o-mini128,000 토큰비용 효율적인 대용량 컨텍스트 처리
o3-mini200,000 토큰빠른 추론, 복잡한 추론
o1-mini128,000 토큰빠른 추론, 복잡한 추론
o1-preview128,000 토큰빠른 추론, 복잡한 추론
o1200,000 토큰빠른 추론, 복잡한 추론
Meta의 Llama API는 Meta의 대형 언어 모델 패밀리 접근을 제공합니다.
API는 Meta Llama API에서 사용할 수 있습니다.
.env 파일에 다음 환경 변수를 설정하십시오:
Code
# Meta Llama API Key Configuration
LLAMA_API_KEY=LLM|your_api_key_here
CrewAI 프로젝트에서의 예시 사용법:
Code
from crewai import LLM

# Meta Llama LLM 초기화
llm = LLM(
    model="meta_llama/Llama-4-Scout-17B-16E-Instruct-FP8",
    temperature=0.8,
    stop=["END"],
    seed=42
)
https://llama.developer.meta.com/docs/models/ 에 기재된 모든 모델이 지원됩니다.
모델 ID입력 컨텍스트 길이출력 컨텍스트 길이입력 모달리티출력 모달리티
meta_llama/Llama-4-Scout-17B-16E-Instruct-FP8128k4028텍스트, 이미지텍스트
meta_llama/Llama-4-Maverick-17B-128E-Instruct-FP8128k4028텍스트, 이미지텍스트
meta_llama/Llama-3.3-70B-Instruct128k4028텍스트텍스트
meta_llama/Llama-3.3-8B-Instruct128k4028텍스트텍스트
Code
# Required
ANTHROPIC_API_KEY=sk-ant-...

# Optional
ANTHROPIC_API_BASE=<custom-base-url>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="anthropic/claude-3-sonnet-20240229-v1:0",
    temperature=0.7
)
.env 파일에 API 키를 설정하십시오. 키가 필요하거나 기존 키를 찾으려면 AI Studio를 확인하세요.
.env
# https://ai.google.dev/gemini-api/docs/api-key
GEMINI_API_KEY=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
from crewai import LLM

llm = LLM(
    model="gemini/gemini-2.0-flash",
    temperature=0.7,
)

Gemini 모델

Google은 다양한 용도에 최적화된 강력한 모델을 제공합니다.
모델컨텍스트 윈도우최적 용도
gemini-2.5-flash-preview-04-171M 토큰적응형 사고, 비용 효율성
gemini-2.5-pro-preview-05-061M 토큰향상된 사고 및 추론, 멀티모달 이해, 고급 코딩 등
gemini-2.0-flash1M 토큰차세대 기능, 속도, 사고, 실시간 스트리밍
gemini-2.0-flash-lite1M 토큰비용 효율성과 낮은 대기 시간
gemini-1.5-flash1M 토큰밸런스 잡힌 멀티모달 모델, 대부분의 작업에 적합
gemini-1.5-flash-8B1M 토큰가장 빠르고, 비용 효율적, 고빈도 작업에 적합
gemini-1.5-pro2M 토큰최고의 성능, 논리적 추론, 코딩, 창의적 협업 등 다양한 추론 작업에 적합
전체 모델 목록은 Gemini 모델 문서에서 확인할 수 있습니다.

Gemma

Gemini API를 통해 Google 인프라에서 호스팅되는 Gemma 모델도 API 키를 이용해 사용할 수 있습니다.
모델컨텍스트 윈도우
gemma-3-1b-it32k 토큰
gemma-3-4b-it32k 토큰
gemma-3-12b-it32k 토큰
gemma-3-27b-it128k 토큰
Google Cloud Console에서 자격증명을 받아 JSON 파일로 저장한 후, 다음 코드로 로드하세요:
Code
import json

file_path = 'path/to/vertex_ai_service_account.json'

# Load the JSON file
with open(file_path, 'r') as file:
    vertex_credentials = json.load(file)

# Convert the credentials to a JSON string
vertex_credentials_json = json.dumps(vertex_credentials)
CrewAI 프로젝트에서의 예시 사용법:
Code
from crewai import LLM

llm = LLM(
    model="gemini-1.5-pro-latest", # or vertex_ai/gemini-1.5-pro-latest
    temperature=0.7,
    vertex_credentials=vertex_credentials_json
)
Google은 다양한 용도에 최적화된 강력한 모델들을 제공합니다:
모델컨텍스트 윈도우최적 용도
gemini-2.5-flash-preview-04-171M 토큰적응형 사고, 비용 효율성
gemini-2.5-pro-preview-05-061M 토큰향상된 사고 및 추론, 멀티모달 이해, 고급 코딩 등
gemini-2.0-flash1M 토큰차세대 기능, 속도, 사고, 실시간 스트리밍
gemini-2.0-flash-lite1M 토큰비용 효율성과 낮은 대기 시간
gemini-1.5-flash1M 토큰밸런스 잡힌 멀티모달 모델, 대부분의 작업에 적합
gemini-1.5-flash-8B1M 토큰가장 빠르고, 비용 효율적, 고빈도 작업에 적합
gemini-1.5-pro2M 토큰최고의 성능, 논리적 추론, 코딩, 창의적 협업 등 다양한 추론 작업에 적합
Code
# Required
AZURE_API_KEY=<your-api-key>
AZURE_API_BASE=<your-resource-url>
AZURE_API_VERSION=<api-version>

# Optional
AZURE_AD_TOKEN=<your-azure-ad-token>
AZURE_API_TYPE=<your-azure-api-type>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="azure/gpt-4",
    api_version="2023-05-15"
)
Code
AWS_ACCESS_KEY_ID=<your-access-key>
AWS_SECRET_ACCESS_KEY=<your-secret-key>
AWS_DEFAULT_REGION=<your-region>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="bedrock/anthropic.claude-3-sonnet-20240229-v1:0"
)
Amazon Bedrock을 사용하기 전에, 환경에 boto3가 설치되어 있는지 확인하십시오.Amazon Bedrock은 대표적인 AI 회사들의 여러 파운데이션 모델에 통합 API를 통해 접근할 수 있는 매니지드 서비스로, 안전하고 책임감 있는 AI 응용프로그램 개발을 가능하게 해줍니다.
모델컨텍스트 윈도우최적 용도
Amazon Nova Pro최대 300k 토큰다양한 작업에서 정확성, 속도, 비용을 균형 있게 제공하는 고성능 모델
Amazon Nova Micro최대 128k 토큰텍스트 전용, 최소 레이턴시 응답에 최적화된 비용 효율적 고성능 모델
Amazon Nova Lite최대 300k 토큰이미지, 비디오, 텍스트를 아우르는 실시간 멀티모달 처리
Claude 3.7 Sonnet최대 128k 토큰복잡한 추론, 코딩 및 AI 에이전트에 적합한 고성능 모델
Claude 3.5 Sonnet v2최대 200k 토큰소프트웨어 공학, 에이전트 기능, 컴퓨터 상호작용에 특화된 최신 모델
Claude 3.5 Sonnet최대 200k 토큰다양한 작업에 탁월한 지능 및 추론 제공, 최적의 속도·비용 모델
Claude 3.5 Haiku최대 200k 토큰빠르고 컴팩트한 멀티모달 모델, 신속하고 자연스러운 대화에 최적
Claude 3 Sonnet최대 200k 토큰지능과 속도의 균형 잡힌 멀티모달 모델, 대규모 배포에 적합
Claude 3 Haiku최대 200k 토큰컴팩트한 고속 멀티모달 모델, 신속한 응답과 자연스러운 대화형 상호작용
Claude 3 Opus최대 200k 토큰인간 같은 추론과 우수한 문맥 이해로 복잡한 작업 수행
Claude 2.1최대 200k 토큰확장된 컨텍스트, 신뢰도 개선, 로봇화 감소, 장문 및 RAG 적용에 적합
Claude최대 100k 토큰복잡한 대화, 창의적 콘텐츠 생성, 정교한 지시 수행에 탁월
Claude Instant최대 100k 토큰일상 대화, 분석, 요약, 문서 Q&A 등 빠르고 비용 효율적인 모델
Llama 3.1 405B Instruct최대 128k 토큰챗봇, 코딩, 도메인 특화 작업을 위한 합성 데이터 생성 및 추론용 첨단 LLM
Llama 3.1 70B Instruct최대 128k 토큰복잡한 대화, 우수한 문맥 및 추론, 텍스트 생성 능력 강화
Llama 3.1 8B Instruct최대 128k 토큰우수한 언어 이해, 추론, 텍스트 생성 기능의 최첨단 모델
Llama 3 70B Instruct최대 8k 토큰복잡한 대화, 우수한 문맥 및 추론, 텍스트 생성 기능 강화
Llama 3 8B Instruct최대 8k 토큰첨단 언어 이해력, 추론, 텍스트 생성이 가능한 최첨단 LLM
Titan Text G1 - Lite최대 4k 토큰영어 과제 및 요약, 콘텐츠 생성에 최적화된 경량 비용 효율적 모델
Titan Text G1 - Express최대 8k 토큰일반 언어, 대화, RAG 지원, 영어 및 100여 개 언어 지원
Cohere Command최대 4k 토큰사용자의 명령 수행, 실질적 기업 솔루션 제공에 특화된 모델
Jurassic-2 Mid최대 8,191 토큰다양한 언어 과제(Q&A, 요약, 생성 등)에 적합한 품질-비용 균형 모델
Jurassic-2 Ultra최대 8,191 토큰고급 텍스트 생성과 이해, 분석 및 콘텐츠 제작 등 복잡한 작업 수행
Jamba-Instruct최대 256k 토큰비용 효율적인 대용량 문맥 창작, 요약, Q&A에 최적화된 모델
Mistral 7B Instruct최대 32k 토큰명령을 따르고, 요청을 완성하며, 창의적 텍스트를 생성하는 LLM
Mistral 8x7B Instruct최대 32k 토큰명령 및 요청 완성, 창의적 텍스트 생성이 가능한 MOE LLM
Code
AWS_ACCESS_KEY_ID=<your-access-key>
AWS_SECRET_ACCESS_KEY=<your-secret-key>
AWS_DEFAULT_REGION=<your-region>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="sagemaker/<my-endpoint>"
)
.env 파일에 다음 환경 변수를 설정하십시오:
Code
MISTRAL_API_KEY=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="mistral/mistral-large-latest",
    temperature=0.7
)
.env 파일에 다음 환경 변수를 설정하십시오:
Code
NVIDIA_API_KEY=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="nvidia_nim/meta/llama3-70b-instruct",
    temperature=0.7
)
Nvidia NIM은 일반 목적 작업부터 특수 목적 응용까지 다양한 용도를 위한 모델 제품군을 제공합니다.
모델컨텍스트 윈도우최적 용도
nvidia/mistral-nemo-minitron-8b-8k-instruct8,192 토큰챗봇, 가상 비서, 콘텐츠 생성을 위한 최신형 소형 언어 모델
nvidia/nemotron-4-mini-hindi-4b-instruct4,096 토큰힌디-영어 SLM, 힌디 언어 전용 온디바이스 추론
nvidia/llama-3.1-nemotron-70b-instruct128k 토큰더욱 도움이 되는 답변을 위해 커스터마이즈됨
nvidia/llama3-chatqa-1.5-8b128k 토큰챗봇, 검색엔진용 맥락 인식 응답 생성에 탁월한 고급 LLM
nvidia/llama3-chatqa-1.5-70b128k 토큰챗봇, 검색엔진용 맥락 인식 응답 생성에 탁월한 고급 LLM
nvidia/vila128k 토큰텍스트/이미지/비디오 이해 및 정보성 응답 생성을 지원하는 멀티모달 모델
nvidia/neva-224,096 토큰텍스트/이미지 이해 및 정보성 응답 생성을 지원하는 멀티모달 모델
nvidia/nemotron-mini-4b-instruct8,192 토큰일반 목적 작업
nvidia/usdcode-llama3-70b-instruct128k 토큰OpenUSD 지식 질의 응답, USD-Python 코드 생성이 가능한 최신 LLM
nvidia/nemotron-4-340b-instruct4,096 토큰실제 데이터를 모사하는 다양한 합성 데이터 생성
meta/codellama-70b100k 토큰자연어 → 코드 및 코드 → 자연어 전환 가능한 LLM
meta/llama2-70b4,096 토큰텍스트, 코드 생성에 최적화된 최첨단 대형 언어 모델
meta/llama3-8b-instruct8,192 토큰최첨단 언어 이해 및 추론, 텍스트 생성 기능 모델
meta/llama3-70b-instruct8,192 토큰복잡한 대화, 우수한 문맥 및 추론, 텍스트 생성
meta/llama-3.1-8b-instruct128k 토큰최첨단 언어 이해 및 추론, 텍스트 생성 기능의 첨단 모델
meta/llama-3.1-70b-instruct128k 토큰복잡한 대화, 우수한 문맥 및 추론, 텍스트 생성
meta/llama-3.1-405b-instruct128k 토큰챗봇, 코딩, 도메인 특화 작업 합성 데이터 생성 및 추론
meta/llama-3.2-1b-instruct128k 토큰최첨단 소형 언어 이해, 추론, 텍스트 생성 모델
meta/llama-3.2-3b-instruct128k 토큰최첨단 소형 언어 이해, 추론, 텍스트 생성
meta/llama-3.2-11b-vision-instruct128k 토큰최첨단 소형 언어 이해, 추론, 텍스트 생성
meta/llama-3.2-90b-vision-instruct128k 토큰최첨단 소형 언어 이해, 추론, 텍스트 생성
google/gemma-7b8,192 토큰문자열의 이해, 변환, 코드 생성을 지원하는 최첨단 텍스트 생성 모델
google/gemma-2b8,192 토큰문자열의 이해, 변환, 코드 생성을 지원하는 최첨단 텍스트 생성 모델
google/codegemma-7b8,192 토큰코드 생성 및 보완에 특화된 Google Gemma-7B 기반 모델
google/codegemma-1.1-7b8,192 토큰코드 생성, 보완, 추론, 명령 수행에 강점을 가진 고급 프로그래밍 모델
google/recurrentgemma-2b8,192 토큰긴 시퀀스 생성 시 빠른 추론을 가능케 하는 순환 아키텍처 LLM
google/gemma-2-9b-it8,192 토큰문자열의 이해, 변환, 코드 생성을 지원하는 최첨단 텍스트 생성 모델
google/gemma-2-27b-it8,192 토큰문자열의 이해, 변환, 코드 생성을 지원하는 최첨단 텍스트 생성 모델
google/gemma-2-2b-it8,192 토큰문자열의 이해, 변환, 코드 생성을 지원하는 최첨단 텍스트 생성 모델
google/deplot512 토큰플롯 이미지를 표로 변환하는 원샷 비주얼 언어 이해 모델
google/paligemma8,192 토큰텍스트, 이미지 입력 이해 및 정보성 응답 생성에 능한 비전 언어 모델
mistralai/mistral-7b-instruct-v0.232k 토큰명령을 따르고, 요청을 완성하며, 창의적 텍스트 생성이 가능한 LLM
mistralai/mixtral-8x7b-instruct-v0.18,192 토큰명령 및 요청 완성, 창의 텍스트 생성이 가능한 MOE LLM
mistralai/mistral-large4,096 토큰실제 데이터 특성을 모방하는 다양한 합성 데이터 생성
mistralai/mixtral-8x22b-instruct-v0.18,192 토큰실제 데이터 특성을 모방하는 다양한 합성 데이터 생성
mistralai/mistral-7b-instruct-v0.332k 토큰명령을 따르고, 요청을 완성하며, 창의적 텍스트 생성이 가능한 LLM
nv-mistralai/mistral-nemo-12b-instruct128k 토큰추론, 코드, 다국어 작업에 적합한 최첨단 언어 모델; 단일 GPU에서 구동
mistralai/mamba-codestral-7b-v0.1256k 토큰광범위한 프로그래밍 언어 및 작업에서 코드 작성 및 상호작용 전용 모델
microsoft/phi-3-mini-128k-instruct128K 토큰수학·논리 추론에 강한 경량 최신 공개 LLM
microsoft/phi-3-mini-4k-instruct4,096 토큰수학·논리 추론에 강한 경량 최신 공개 LLM
microsoft/phi-3-small-8k-instruct8,192 토큰수학·논리 추론에 강한 경량 최신 공개 LLM
microsoft/phi-3-small-128k-instruct128K 토큰수학·논리 추론에 강한 경량 최신 공개 LLM
microsoft/phi-3-medium-4k-instruct4,096 토큰수학·논리 추론에 강한 경량 최신 공개 LLM
microsoft/phi-3-medium-128k-instruct128K 토큰수학·논리 추론에 강한 경량 최신 공개 LLM
microsoft/phi-3.5-mini-instruct128K 토큰지연, 메모리/컴퓨트 한계 환경에서 AI 응용프로그램 구동 가능한 다국어 LLM
microsoft/phi-3.5-moe-instruct128K 토큰연산 효율적 콘텐츠 생성을 위한 Mixture of Experts 기반 첨단 LLM
microsoft/kosmos-21,024 토큰이미지의 시각적 요소 이해 및 추론을 위한 획기적 멀티모달 모델
microsoft/phi-3-vision-128k-instruct128k 토큰이미지에서 고품질 추론이 가능한 최첨단 공개 멀티모달 모델
microsoft/phi-3.5-vision-instruct128k 토큰이미지에서 고품질 추론이 가능한 최첨단 공개 멀티모달 모델
databricks/dbrx-instruct12k 토큰언어 이해, 코딩, RAG에 최신 성능을 제공하는 범용 LLM
snowflake/arctic1,024 토큰SQL 생성 및 코딩에 집중한 기업용 고효율 추론 모델
aisingapore/sea-lion-7b-instruct4,096 토큰동남아 언어 및 문화 다양성을 반영하는 LLM
ibm/granite-8b-code-instruct4,096 토큰소프트웨어 프로그래밍 LLM, 코드 생성, 완성, 설명, 멀티턴 전환
ibm/granite-34b-code-instruct8,192 토큰소프트웨어 프로그래밍 LLM, 코드 생성, 완성, 설명, 멀티턴 전환
ibm/granite-3.0-8b-instruct4,096 토큰RAG, 요약, 분류, 코드, 에이전틱AI 지원 첨단 소형 언어 모델
ibm/granite-3.0-3b-a800m-instruct4,096 토큰RAG, 요약, 엔터티 추출, 분류에 최적화된 고효율 Mixture of Experts 모델
mediatek/breeze-7b-instruct4,096 토큰실제 데이터 특성을 모방하는 다양한 합성 데이터 생성
upstage/solar-10.7b-instruct4,096 토큰지시 따르기, 추론, 수학 등에서 뛰어난 NLP 작업 수행
writer/palmyra-med-70b-32k32k 토큰의료 분야에서 정확하고 문맥에 맞는 응답 생성에 선도적인 LLM
writer/palmyra-med-70b32k 토큰의료 분야에서 정확하고 문맥에 맞는 응답 생성에 선도적인 LLM
writer/palmyra-fin-70b-32k32k 토큰금융 분석, 보고, 데이터 처리에 특화된 LLM
01-ai/yi-large32k 토큰영어, 중국어로 훈련, 챗봇 및 창의적 글쓰기 등 다양한 작업에 사용
deepseek-ai/deepseek-coder-6.7b-instruct2k 토큰고급 코드 생성, 완성, 인필링 등의 기능을 제공하는 강력한 코딩 모델
rakuten/rakutenai-7b-instruct1,024 토큰언어 이해, 추론, 텍스트 생성이 탁월한 최첨단 LLM
rakuten/rakutenai-7b-chat1,024 토큰언어 이해, 추론, 텍스트 생성이 탁월한 최첨단 LLM
baichuan-inc/baichuan2-13b-chat4,096 토큰중국어 및 영어 대화, 코딩, 수학, 지시 따르기, 퀴즈 풀이 지원
NVIDIA NIM을 이용하면 Windows 기기에서 WSL2(Windows Subsystem for Linux)를 통해 강력한 LLM을 로컬로 실행할 수 있습니다.
이 방식은 Nvidia GPU를 활용하여 프라이빗하고, 안전하며, 비용 효율적인 AI 추론을 클라우드 서비스에 의존하지 않고 구현할 수 있습니다. 데이터 프라이버시, 오프라인 기능이 필요한 개발, 테스트, 또는 프로덕션 환경에 최적입니다.
로컬 NVIDIA NIM 모델 설치 단계별 가이드는 다음과 같습니다:
  1. NVIDIA 홈페이지의 설치 안내를 따르세요.
  2. 로컬 모델을 설치합니다. Llama 3.1-8b는 여기 안내를 참조하세요.
  3. crewai 로컬 모델을 구성하세요:
Code
from crewai.llm import LLM

local_nvidia_nim_llm = LLM(
    model="openai/meta/llama-3.1-8b-instruct", # it's an openai-api compatible model
    base_url="http://localhost:8000/v1",
    api_key="<your_api_key|any text if you have not configured it>", # api_key is required, but you can use any text
)

# 그런 다음 crew에서 사용할 수 있습니다:

@CrewBase
class MyCrew():
    # ...

    @agent
    def researcher(self) -> Agent:
        return Agent(
            config=self.agents_config['researcher'], # type: ignore[index]
            llm=local_nvidia_nim_llm
        )

    # ...
.env 파일에 다음 환경 변수를 설정하십시오:
Code
GROQ_API_KEY=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="groq/llama-3.2-90b-text-preview",
    temperature=0.7
)
모델컨텍스트 윈도우최적 용도
Llama 3.1 70B/8B131,072 토큰고성능, 대용량 문맥 작업
Llama 3.2 Series8,192 토큰범용 작업
Mixtral 8x7B32,768 토큰성능과 문맥의 균형
.env 파일에 다음 환경 변수를 설정하십시오:
Code
# Required
WATSONX_URL=<your-url>
WATSONX_APIKEY=<your-apikey>
WATSONX_PROJECT_ID=<your-project-id>

# Optional
WATSONX_TOKEN=<your-token>
WATSONX_DEPLOYMENT_SPACE_ID=<your-space-id>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="watsonx/meta-llama/llama-3-1-70b-instruct",
    base_url="https://api.watsonx.ai/v1"
)
  1. Ollama 설치: ollama.ai
  2. 모델 실행: ollama run llama3
  3. 구성:
Code
llm = LLM(
    model="ollama/llama3:70b",
    base_url="http://localhost:11434"
)
.env 파일에 다음 환경 변수를 설정하십시오:
Code
FIREWORKS_API_KEY=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="fireworks_ai/accounts/fireworks/models/llama-v3-70b-instruct",
    temperature=0.7
)
.env 파일에 다음 환경 변수를 설정하십시오:
Code
PERPLEXITY_API_KEY=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="llama-3.1-sonar-large-128k-online",
    base_url="https://api.perplexity.ai/"
)
.env 파일에 다음 환경 변수를 설정하십시오:
Code
HF_TOKEN=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="huggingface/meta-llama/Meta-Llama-3.1-8B-Instruct"
)
.env 파일에 다음 환경 변수를 설정하십시오:
Code
SAMBANOVA_API_KEY=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="sambanova/Meta-Llama-3.1-8B-Instruct",
    temperature=0.7
)
모델컨텍스트 윈도우최적 용도
Llama 3.1 70B/8B최대 131,072 토큰고성능, 대용량 문맥 작업
Llama 3.1 405B8,192 토큰고성능, 높은 출력 품질
Llama 3.2 Series8,192 토큰범용, 멀티모달 작업
Llama 3.3 70B최대 131,072 토큰고성능, 높은 출력 품질
Qwen2 familly8,192 토큰고성능, 높은 출력 품질
.env 파일에 다음 환경 변수를 설정하십시오:
Code
# Required
CEREBRAS_API_KEY=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="cerebras/llama3.1-70b",
    temperature=0.7,
    max_tokens=8192
)
Cerebras 특징:
  • 빠른 추론 속도
  • 경쟁력 있는 가격
  • 속도와 품질의 우수한 밸런스
  • 긴 컨텍스트 윈도우 지원
.env 파일에 다음 환경 변수를 설정하십시오:
Code
OPENROUTER_API_KEY=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="openrouter/deepseek/deepseek-r1",
    base_url="https://openrouter.ai/api/v1",
    api_key=OPENROUTER_API_KEY
)
Open Router 모델:
  • openrouter/deepseek/deepseek-r1
  • openrouter/deepseek/deepseek-chat
.env 파일에 다음 환경 변수를 설정하십시오:
Code
NEBIUS_API_KEY=<your-api-key>
CrewAI 프로젝트에서의 예시 사용법:
Code
llm = LLM(
    model="nebius/Qwen/Qwen3-30B-A3B"
)
Nebius AI Studio 특징:
  • 대규모 오픈소스 모델 보유
  • 높은 속도 제한
  • 경쟁력 있는 가격
  • 속도와 품질의 우수한 밸런스

스트리밍 응답

CrewAI는 LLM의 스트리밍 응답을 지원하여, 애플리케이션이 출력물을 생성되는 즉시 실시간으로 수신하고 처리할 수 있습니다.
  • 기본 설정
  • 이벤트 처리
  • 에이전트 & 태스크 추적
LLM을 초기화할 때 stream 파라미터를 True로 설정하여 스트리밍을 활성화합니다:
from crewai import LLM

# 스트리밍이 활성화된 LLM 생성
llm = LLM(
    model="openai/gpt-4o",
    stream=True  # 스트리밍 활성화
)
스트리밍이 활성화되면, 응답이 생성되는 대로 청크 단위로 전달되어 보다 반응성 있는 사용자 경험을 만듭니다.

구조화된 LLM 호출

CrewAI는 Pydantic 모델을 사용하여 response_format을 정의함으로써 LLM 호출에서 구조화된 응답을 지원합니다. 이를 통해 프레임워크가 출력을 자동으로 파싱하고 검증할 수 있어, 수동 후처리 없이도 응답을 애플리케이션에 쉽게 통합할 수 있습니다. 예를 들어, 예상되는 응답 구조를 나타내는 Pydantic 모델을 정의하고 LLM을 인스턴스화할 때 response_format으로 전달할 수 있습니다. 이 모델은 LLM 출력을 구조화된 Python 객체로 변환하는 데 사용됩니다.
Code
from crewai import LLM

class Dog(BaseModel):
    name: str
    age: int
    breed: str


llm = LLM(model="gpt-4o", response_format=Dog)

response = llm.call(
    "Analyze the following messages and return the name, age, and breed. "
    "Meet Kona! She is 3 years old and is a black german shepherd."
)
print(response)

# Output:
# Dog(name='Kona', age=3, breed='black german shepherd')

고급 기능 및 최적화

LLM 설정을 최대한 활용하는 방법을 알아보세요:
CrewAI는 스마트한 컨텍스트 관리 기능을 제공합니다:
from crewai import LLM

# CrewAI는 자동으로 다음을 처리합니다:
# 1. 토큰 계산 및 추적
# 2. 필요시 콘텐츠 요약
# 3. 큰 컨텍스트에 대한 작업 분할

llm = LLM(
    model="gpt-4",
    max_tokens=4000,  # 응답 길이 제한
)
컨텍스트 관리 모범 사례:
  1. 적절한 컨텍스트 윈도우를 가진 모델 선택
  2. 가능하면 긴 입력값을 사전 처리
  3. 큰 문서에는 청킹(chunking) 사용
  4. 비용 최적화를 위해 토큰 사용량 모니터링
1

토큰 사용 최적화

작업에 맞는 컨텍스트 윈도우를 선택하세요:
  • 작은 작업 (최대 4K 토큰): 표준 모델
  • 중간 작업 (4K~32K 사이): 확장 모델
  • 큰 작업 (32K 이상): 대형 컨텍스트 모델
# 모델을 적절한 설정으로 구성
llm = LLM(
    model="openai/gpt-4-turbo-preview",
    temperature=0.7,    # 작업에 따라 조정
    max_tokens=4096,    # 출력 요구 사항에 맞게 설정
    timeout=300        # 복잡한 작업을 위한 더 긴 타임아웃
)
  • 사실 기반 응답에는 낮은 temperature(0.1~0.3)
  • 창의적인 작업에는 높은 temperature(0.7~0.9)
2

모범 사례

  1. 토큰 사용량 모니터링
  2. 속도 제한(rate limiting) 구현
  3. 가능하면 캐싱 사용
  4. 적절한 max_tokens 제한 설정
비용 및 성능을 최적화하기 위해 토큰 사용량을 정기적으로 모니터링하고 필요에 따라 설정을 조정하세요.
CrewAI는 내부적으로 LLM 호출에 Litellm을 사용하며, 이를 통해 특정 사용 사례에 필요하지 않은 추가 파라미터를 제거할 수 있습니다. 이를 통해 코드가 간소화되며 LLM 구성의 복잡성을 줄일 수 있습니다. 예를 들어, stop 파라미터를 보낼 필요가 없다면 LLM 호출에서 제외할 수 있습니다:
from crewai import LLM
import os

os.environ["OPENAI_API_KEY"] = "<api-key>"

o3_llm = LLM(
    model="o3",
    drop_params=True,
    additional_drop_params=["stop"]
)

일반적인 문제 및 해결 방법

  • 인증
  • 모델 이름
  • 컨텍스트 길이
대부분의 인증 문제는 API 키 형식과 환경 변수 이름을 확인하여 해결할 수 있습니다.
# OpenAI
OPENAI_API_KEY=sk-...

# Anthropic
ANTHROPIC_API_KEY=sk-ant-...
I