메인 콘텐츠로 건너뛰기

개요

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 키)을 제공해야 합니다. 각 제공자에 맞는 제공자 설정 예제 섹션을 참고하세요.
가장 간단하게 시작할 수 있는 방법입니다. .env 파일이나 앱 코드에서 환경 변수로 직접 모델을 설정할 수 있습니다. crewai create를 사용해 프로젝트를 부트스트랩했다면 이미 설정되어 있을 수 있습니다.
.env
API 키를 절대 버전 관리 시스템에 커밋하지 마세요. 환경 파일(.env)이나 시스템의 비밀 관리 기능을 사용하세요.
CrewAI는 OpenAI, Anthropic, Google (Gemini API), Azure, AWS Bedrock에 대해 네이티브 SDK 통합을 제공합니다 — 제공자별 extras(예: uv add "crewai[openai]") 외에 추가 설치가 필요하지 않습니다.그 외 모든 제공자는 LiteLLM을 통해 지원됩니다. 이를 사용하려면 프로젝트에 의존성으로 추가하세요:

공급자 구성 예시

CrewAI는 고유한 기능, 인증 방법, 모델 역량을 제공하는 다양한 LLM 공급자를 지원합니다. 이 섹션에서는 프로젝트의 요구에 가장 적합한 LLM을 선택, 구성, 최적화하는 데 도움이 되는 자세한 예시를 제공합니다.
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
OpenAI는 다양한 모델과 기능을 제공하는 대표적인 LLM 공급자 중 하나입니다.Responses API:OpenAI는 Chat Completions(기본값)와 새로운 Responses API, 두 가지 API를 제공합니다. Responses API는 네이티브 멀티모달 지원을 기반으로 처음부터 설계되었으며, 텍스트, 이미지, 오디오, 함수 호출이 모두 일급 객체입니다. 추론 모델에서 더 나은 성능을 제공하고 자동 체이닝 및 내장 도구와 같은 추가 기능을 지원합니다.
Code
Responses API 파라미터:
  • api: Responses API를 사용하려면 "responses"로 설정 (기본값: "completions")
  • instructions: 시스템 레벨 지침 (Responses API 전용)
  • store: 멀티턴 대화를 위한 응답 저장 여부
  • previous_response_id: 멀티턴을 위한 이전 응답 ID
  • include: 응답에 포함할 추가 데이터 (예: ["reasoning.encrypted_content"])
  • builtin_tools: OpenAI 내장 도구 목록: "web_search", "file_search", "code_interpreter", "computer_use"
  • parse_tool_outputs: 파싱된 내장 도구 출력과 함께 구조화된 ResponsesAPIResult 반환
  • auto_chain: 멀티턴 대화를 위한 응답 ID 자동 추적 및 사용
  • auto_chain_reasoning: ZDR(제로 데이터 보존) 준수를 위한 암호화된 추론 항목 추적
새 프로젝트, 특히 추론 모델(o1, o3, o4)을 사용하거나 파일에 대한 네이티브 멀티모달 지원이 필요한 경우 Responses API를 사용하세요.
Meta의 Llama API는 Meta의 대형 언어 모델 패밀리 접근을 제공합니다. API는 Meta Llama API에서 사용할 수 있습니다. .env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
https://llama.developer.meta.com/docs/models/ 에 기재된 모든 모델이 지원됩니다.참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
.env 파일에 API 키를 설정하십시오. 키가 필요하거나 기존 키를 찾으려면 AI Studio를 확인하세요.
.env
기본 사용법:
Code
Vertex AI Express 모드 (API 키 인증):Vertex AI Express 모드를 사용하면 서비스 계정 자격 증명 대신 간단한 API 키 인증으로 Vertex AI를 사용할 수 있습니다. Vertex AI를 시작하는 가장 빠른 방법입니다.Express 모드를 활성화하려면 .env 파일에 두 환경 변수를 모두 설정하세요:
.env
그런 다음 평소처럼 LLM을 사용하세요:
Code
Express 모드 API 키를 받으려면:자세한 내용은 Vertex AI Express 모드 문서를 참조하세요.

Gemini 모델

Google은 다양한 용도에 최적화된 강력한 모델을 제공합니다.전체 모델 목록은 Gemini 모델 문서에서 확인할 수 있습니다.

Gemma

Gemini API를 통해 Google 인프라에서 호스팅되는 Gemma 모델도 API 키를 이용해 사용할 수 있습니다.
Google Cloud Console에서 자격증명을 받아 JSON 파일로 저장한 후, 다음 코드로 로드하세요:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
Google은 다양한 용도에 최적화된 강력한 모델들을 제공합니다:참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
Amazon Bedrock을 사용하기 전에, 환경에 boto3가 설치되어 있는지 확인하십시오.Amazon Bedrock은 대표적인 AI 회사들의 여러 파운데이션 모델에 통합 API를 통해 접근할 수 있는 매니지드 서비스로, 안전하고 책임감 있는 AI 응용프로그램 개발을 가능하게 해줍니다.
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
Nvidia NIM은 일반 목적 작업부터 특수 목적 응용까지 다양한 용도를 위한 모델 제품군을 제공합니다.참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
NVIDIA NIM을 이용하면 Windows 기기에서 WSL2(Windows Subsystem for Linux)를 통해 강력한 LLM을 로컬로 실행할 수 있습니다. 이 방식은 Nvidia GPU를 활용하여 프라이빗하고, 안전하며, 비용 효율적인 AI 추론을 클라우드 서비스에 의존하지 않고 구현할 수 있습니다. 데이터 프라이버시, 오프라인 기능이 필요한 개발, 테스트, 또는 프로덕션 환경에 최적입니다.로컬 NVIDIA NIM 모델 설치 단계별 가이드는 다음과 같습니다:
  1. NVIDIA 홈페이지의 설치 안내를 따르세요.
  2. 로컬 모델을 설치합니다. Llama 3.1-8b는 여기 안내를 참조하세요.
  3. crewai 로컬 모델을 구성하세요:
Code
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
  1. Ollama 설치: ollama.ai
  2. 모델 실행: ollama run llama3
  3. 구성:
Code
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
Cerebras 특징:
  • 빠른 추론 속도
  • 경쟁력 있는 가격
  • 속도와 품질의 우수한 밸런스
  • 긴 컨텍스트 윈도우 지원
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
Open Router 모델:
  • openrouter/deepseek/deepseek-r1
  • openrouter/deepseek/deepseek-chat
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:
.env 파일에 다음 환경 변수를 설정하십시오:
Code
CrewAI 프로젝트에서의 예시 사용법:
Code
Nebius AI Studio 특징:
  • 대규모 오픈소스 모델 보유
  • 높은 속도 제한
  • 경쟁력 있는 가격
  • 속도와 품질의 우수한 밸런스
참고: 이 제공자는 LiteLLM을 사용합니다. 프로젝트에 의존성으로 추가하세요:

스트리밍 응답

CrewAI는 LLM의 스트리밍 응답을 지원하여, 애플리케이션이 출력물을 생성되는 즉시 실시간으로 수신하고 처리할 수 있습니다.
LLM을 초기화할 때 stream 파라미터를 True로 설정하여 스트리밍을 활성화합니다:
스트리밍이 활성화되면, 응답이 생성되는 대로 청크 단위로 전달되어 보다 반응성 있는 사용자 경험을 만듭니다.

구조화된 LLM 호출

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

고급 기능 및 최적화

LLM 설정을 최대한 활용하는 방법을 알아보세요:
CrewAI는 스마트한 컨텍스트 관리 기능을 제공합니다:
컨텍스트 관리 모범 사례:
  1. 적절한 컨텍스트 윈도우를 가진 모델 선택
  2. 가능하면 긴 입력값을 사전 처리
  3. 큰 문서에는 청킹(chunking) 사용
  4. 비용 최적화를 위해 토큰 사용량 모니터링
1

토큰 사용 최적화

작업에 맞는 컨텍스트 윈도우를 선택하세요:
  • 작은 작업 (최대 4K 토큰): 표준 모델
  • 중간 작업 (4K~32K 사이): 확장 모델
  • 큰 작업 (32K 이상): 대형 컨텍스트 모델
  • 사실 기반 응답에는 낮은 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 호출에서 제외할 수 있습니다:

일반적인 문제 및 해결 방법

대부분의 인증 문제는 API 키 형식과 환경 변수 이름을 확인하여 해결할 수 있습니다.