CrewAI는 LiteLLM을 통해 여러 LLM 프로바이더와 통합된다. 이를 통해 특정 사용 사례에 적합한 모델을 유연하게 선택할 수 있다. 이 가이드는 CrewAI 프로젝트에서 다양한 LLM 프로바이더를 설정하고 사용하는 방법을 이해하는 데 도움을 준다.
LLM이란 무엇인가?
대규모 언어 모델(LLM)은 CrewAI 에이전트의 핵심 지능을 담당한다. 에이전트가 문맥을 이해하고 결정을 내리며 인간과 유사한 응답을 생성할 수 있게 한다. 다음은 LLM에 대해 알아야 할 핵심 사항이다:LLM 기본 개념
대규모 언어 모델은 방대한 텍스트 데이터로 학습된 AI 시스템이다. CrewAI 에이전트의 지능을 구동하여 인간과 유사한 텍스트를 이해하고 생성할 수 있게 한다.
컨텍스트 윈도우
컨텍스트 윈도우는 LLM이 한 번에 처리할 수 있는 텍스트의 양을 결정한다. 더 큰 윈도우(예: 128K 토큰)는 더 많은 컨텍스트를 허용하지만, 비용이 더 들고 속도가 느려질 수 있다.
온도
온도(0.0에서 1.0 사이)는 응답의 무작위성을 조절한다. 낮은 값(예: 0.2)은 더 집중적이고 결정론적인 출력을 생성하며, 높은 값(예: 0.8)은 창의성과 다양성을 증가시킨다.
프로바이더 선택
각 LLM 프로바이더(예: OpenAI, Anthropic, Google)는 다양한 기능, 가격, 특징을 가진 모델을 제공한다. 정확도, 속도, 비용에 대한 요구 사항에 따라 선택한다.
지원 모델과 기능
지원되는 모델과 각각의 기능을 상세히 정리했다. lmarena.ai와 artificialanalysis.ai에서 성능을 비교할 수 있다.모델 | 컨텍스트 윈도우 | 주요 용도 |
---|---|---|
GPT-4 | 8,192 토큰 | 고정확도 작업, 복잡한 추론 |
GPT-4 Turbo | 128,000 토큰 | 장문 콘텐츠, 문서 분석 |
GPT-4o & GPT-4o-mini | 128,000 토큰 | 비용 효율적인 대용량 컨텍스트 처리 |
o3-mini | 200,000 토큰 | 빠른 추론, 복잡한 추론 |
1 토큰 ≈ 영어 4 문자. 예를 들어, 8,192 토큰 ≈ 32,768 문자 또는 약 6,000 단어.
LLM 설정하기
CrewAI에서 LLM을 설정하는 방법은 세 가지다. 여러분의 작업 흐름에 가장 적합한 방법을 선택하면 된다:가장 간단한 시작 방법이다. 환경 변수를 다음과 같이 설정한다:
API 키를 버전 관리 시스템에 커밋하지 말자. 환경 파일(.env)이나 시스템의 비밀 관리 기능을 사용한다.
고급 기능과 최적화
LLM 설정을 최대한 활용하는 방법을 알아본다:컨텍스트 윈도우 관리
컨텍스트 윈도우 관리
CrewAI는 스마트 컨텍스트 관리 기능을 제공한다:
컨텍스트 관리의 모범 사례:
- 적절한 컨텍스트 윈도우를 가진 모델 선택
- 가능한 경우 긴 입력 사전 처리
- 큰 문서에 대해 청킹 사용
- 토큰 사용량 모니터링하여 비용 최적화
성능 최적화
성능 최적화
1
토큰 사용 최적화
작업에 맞는 적절한 컨텍스트 윈도우 선택:
- 소규모 작업 (최대 4K 토큰): 표준 모델
- 중간 규모 작업 (4K-32K 사이): 향상된 모델
- 대규모 작업 (32K 이상): 큰 컨텍스트 모델
- 사실적인 응답을 위해 낮은 온도 (0.1 ~ 0.3) 설정
- 창의적인 작업을 위해 높은 온도 (0.7 ~ 0.9) 설정
2
모범 사례
- 토큰 사용량 모니터링
- 속도 제한 구현
- 가능한 경우 캐싱 사용
- 적절한 max_tokens 제한 설정
비용과 성능을 최적화하기 위해 토큰 사용량을 정기적으로 모니터링하고 필요에 따라 설정을 조정한다.
프로바이더 설정 예제
OpenAI
OpenAI
Anthropic
Anthropic
Google
Azure
Azure
AWS Bedrock
AWS Bedrock
Amazon SageMaker
Amazon SageMaker
Mistral
Mistral
Nvidia NIM
Nvidia NIM
Groq
Groq
IBM watsonx.ai
IBM watsonx.ai
Ollama (로컬 LLMs)
Ollama (로컬 LLMs)
- Ollama 설치: ollama.ai
- 모델 실행:
ollama run llama2
- 설정:
Fireworks AI
Fireworks AI
Perplexity AI
Perplexity AI
Hugging Face
Hugging Face
SambaNova
SambaNova
Cerebras
Cerebras
Cerebras 특징:
- 빠른 추론 속도
- 경쟁력 있는 가격
- 속도와 품질의 균형
- 긴 컨텍스트 윈도우 지원
Open Router
Open Router
Open Router 모델:
- openrouter/deepseek/deepseek-r1
- openrouter/deepseek/deepseek-chat
구조화된 LLM 호출
CrewAI는 Pydantic 모델을 사용해response_format
을 정의할 수 있도록 지원한다. 이를 통해 프레임워크가 자동으로 출력을 파싱하고 검증할 수 있어, 응답을 수동으로 후처리하지 않고도 애플리케이션에 쉽게 통합할 수 있다.
예를 들어, 예상되는 응답 구조를 나타내는 Pydantic 모델을 정의하고, LLM을 인스턴스화할 때 response_format
으로 전달할 수 있다. 이 모델은 LLM 출력을 구조화된 파이썬 객체로 변환하는 데 사용된다.
일반적인 문제와 해결 방법
대부분의 인증 문제는 API 키 형식과 환경 변수 이름을 확인하면 해결할 수 있다.
도움 받기
도움이 필요하다면 다음 리소스를 활용할 수 있다:LiteLLM 문서
LiteLLM 통합과 일반적인 문제 해결을 위한 포괄적인 문서
GitHub Issues
버그를 보고하거나 기능을 요청하고, 기존 이슈에서 해결책을 찾을 수 있다.
커뮤니티 포럼
다른 CrewAI 사용자와 소통하고 경험을 공유하며 커뮤니티에서 도움을 받을 수 있다.
API 키 보안을 위한 모범 사례:
- 환경 변수나 보안 볼트를 사용한다
- 버전 관리 시스템에 키를 절대 커밋하지 않는다
- 키를 정기적으로 교체한다
- 개발과 프로덕션 환경에서 별도의 키를 사용한다
- 키 사용 패턴에서 비정상적인 활동을 모니터링한다