메인 콘텐츠로 건너뛰기

개요

CrewAI는 BaseLLM 추상 기반 클래스를 통해 커스텀 LLM 구현을 지원합니다. 이를 통해 LiteLLM에 내장 지원이 없는 모든 LLM 제공자를 통합하거나, 커스텀 인증 메커니즘을 구현할 수 있습니다.

빠른 시작

여기 최소한의 커스텀 LLM 구현 예시가 있습니다:

사용자 지정 LLM 사용하기

필수 메서드

생성자: __init__()

중요: 반드시 필수 매개변수와 함께 super().__init__(model, temperature)을 호출해야 합니다:

추상 메서드: call()

call() 메서드는 LLM 구현의 핵심입니다. 반드시 다음을 수행해야 합니다:
  • 메시지(문자열 또는 ‘role’과 ‘content’가 포함된 딕셔너리 리스트)를 받아들임
  • 문자열 응답을 반환함
  • 지원하는 경우 도구 및 함수 호출을 처리함
  • 오류 발생 시 적절한 예외를 발생시킴

선택적 메서드

공통 패턴

오류 처리

커스텀 인증

스톱 워드 지원

CrewAI는 에이전트의 동작을 제어하기 위해 "\nObservation:"를 스톱 워드로 자동 추가합니다. 만약 사용 중인 LLM이 스톱 워드를 지원한다면:
만약 사용 중인 LLM이 스톱 워드를 기본적으로 지원하지 않는다면:

함수 호출

LLM이 함수 호출을 지원하는 경우, 전체 플로우를 구현하세요:

문제 해결

일반적인 문제

생성자 오류
함수 호출이 작동하지 않음
  • supports_function_calling()True를 반환하는지 확인하세요
  • 응답에서 tool_calls를 처리하는지 확인하세요
  • available_functions 매개변수가 올바르게 사용되는지 검증하세요
인증 실패
  • API 키 형식과 권한을 확인하세요
  • 인증 헤더 형식을 점검하세요
  • 엔드포인트 URL이 올바른지 확인하세요
응답 파싱 오류
  • 중첩된 필드에 접근하기 전에 응답 구조를 검증하세요
  • content가 None일 수 있는 경우를 처리하세요
  • 잘못된 응답에 대한 적절한 오류 처리를 추가하세요

커스텀 LLM 테스트하기

이 가이드는 CrewAI에서 커스텀 LLM을 구현하는 주요 사항을 다룹니다.