Portkey 통합
Portkey는 CrewAI에 프로덕션 적합성을 위한 기능을 추가하여 실험적인 agent crew를 다음과 같이 견고한 시스템으로 전환합니다.
- 모든 agent 단계, 도구 사용, 상호작용에 대한 완전한 관찰 가능성
- 내장된 신뢰성: 폴백, 재시도, 로드 밸런싱 기능 제공
- AI 비용 관리를 위한 비용 추적 및 최적화
- 단일 통합을 통한 200개 이상의 LLM 접근
- agent의 행동을 안전하고 규정 준수로 유지하는 가드레일
- 일관된 agent 성능을 위한 버전 관리되는 prompt
설치 및 설정
섹션 제목: “설치 및 설정”- 필요한 패키지 설치하기
Terminal window pip install -U crewai portkey-ai - API 키 생성
Portkey 대시보드에서 예산/속도 제한을 선택적으로 설정하여 Portkey API 키를 생성하세요. 이 키에는 신뢰성, 캐싱 등 여러 가지 구성을 추가로 적용할 수 있습니다. 자세한 내용은 추후 설명합니다.
- Portkey로 CrewAI 구성하기
통합은 매우 간단합니다. CrewAI 설정의 LLM 구성을 다음과 같이 업데이트하기만 하면 됩니다:
from crewai import LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL# Portkey 통합으로 LLM 인스턴스 생성gpt_llm = LLM(model="gpt-4o",base_url=PORTKEY_GATEWAY_URL,api_key="dummy", # Virtual key를 사용하므로 이 값은 단순한 placeholder입니다.extra_headers=createHeaders(api_key="YOUR_PORTKEY_API_KEY",virtual_key="YOUR_LLM_VIRTUAL_KEY",trace_id="unique-trace-id", # 요청 추적을 위한 선택 사항))#Crew Agents에서 다음처럼 사용하세요:@agentdef lead_market_analyst(self) -> Agent:return Agent(config=self.agents_config['lead_market_analyst'],verbose=True,memory=False,llm=gpt_llm)
프로덕션 기능
섹션 제목: “프로덕션 기능”1. 향상된 가시성
섹션 제목: “1. 향상된 가시성”Portkey는 CrewAI agent에 대한 종합적인 가시성을 제공하여 각 실행 중에 어떤 일이 일어나고 있는지 정확히 이해할 수 있게 도와줍니다.
Traces는 crew의 실행을 계층적으로 보여주며, LLM 호출, 도구 호출, 상태 전환의 순서를 확인할 수 있습니다.
# Portkey에서 계층적 추적을 활성화하려면 trace_id를 추가하세요portkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY", trace_id="unique-session-id" # 고유한 trace ID 추가 ))
Portkey는 LLM과의 모든 상호작용을 로그로 남깁니다. 여기에는 다음이 포함됩니다:
- 전체 요청 및 응답 페이로드
- 지연 시간 및 토큰 사용량 지표
- 비용 계산
- 도구 호출 및 함수 실행
모든 로그는 메타데이터, trace ID, 모델 등으로 필터링할 수 있어 특정 crew 실행을 쉽게 디버깅할 수 있습니다.
Portkey는 사용자가 다음을 할 수 있도록 지원하는 내장 대시보드를 제공합니다:
- 모든 crew 실행에서 비용 및 토큰 사용량 추적
- 지연 시간, 성공률과 같은 성능 지표 분석
- agent workflow의 병목 지점 식별
- 서로 다른 crew 구성 및 LLM 비교
사용자는 모든 지표를 사용자 정의 메타데이터별로 필터링 및 세분화하여 특정 crew 유형, 사용자 그룹 또는 사용 사례를 분석할 수 있습니다.
CrewAI LLM 구성에 사용자 정의 메타데이터를 추가하여 강력한 필터링 및 세분화를 활성화할 수 있습니다:
portkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY", metadata={ "crew_type": "research_crew", "environment": "production", "_user": "user_123", # 사용자 분석을 위한 특수 _user 필드 "request_source": "mobile_app" } ))이 메타데이터는 Portkey 대시보드에서 로그, trace, 지표를 필터링하는 데 사용될 수 있으며, 특정 crew 실행, 사용자 또는 환경을 분석할 수 있습니다.
2. 신뢰성 - Crew를 원활하게 운영하세요
섹션 제목: “2. 신뢰성 - Crew를 원활하게 운영하세요”프로덕션에서 crew를 운영할 때, API 속도 제한, 네트워크 이슈 또는 공급자 장애와 같이 문제가 발생할 수 있습니다. Portkey의 신뢰성 기능은 문제가 발생해도 에이전트가 원활하게 동작하도록 보장합니다.
Portkey Config를 사용하여 CrewAI 설정에서 페일오버를 간단하게 활성화할 수 있습니다:
from crewai import LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL
# Create LLM with fallback configurationportkey_llm = LLM( model="gpt-4o", max_tokens=1000, base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", config={ "strategy": { "mode": "fallback" }, "targets": [ { "provider": "openai", "api_key": "YOUR_OPENAI_API_KEY", "override_params": {"model": "gpt-4o"} }, { "provider": "anthropic", "api_key": "YOUR_ANTHROPIC_API_KEY", "override_params": {"model": "claude-3-opus-20240229"} } ] } ))
# Use this LLM configuration with your agents이 설정은 GPT-4o 요청이 실패할 경우 자동으로 Claude를 시도하여 crew가 계속 운영될 수 있도록 보장합니다.
자동 재시도
일시적인 실패를 자동으로 처리합니다. LLM 호출에 실패하면 Portkey가 지정된 횟수만큼 동일한 요청을 재시도합니다. 속도 제한이나 네트워크 장애에서 완벽하게 사용할 수 있습니다.
요청 타임아웃
에이전트가 멈추는 것을 방지합니다. 타임아웃을 설정하여 요구되는 시간 내에 응답을 받거나(혹은 우아하게 실패할 수 있도록) 합니다.
조건부 라우팅
다양한 요청을 다양한 공급자에게 보낼 수 있습니다. 복잡한 reasoning은 GPT-4로, 창의적인 작업은 Claude로, 빠른 응답은 Gemini로 필요에 따라 라우팅하세요.
페일오버
기본 공급자가 실패해도 계속 운영됩니다. 백업 공급자로 자동으로 전환되어 가용성을 유지합니다.
로드 밸런싱
여러 API 키 또는 공급자에 요청을 분산시킵니다. 대량 crew 운영 및 속도 제한 내에서 작업할 때 유용합니다.
3. CrewAI에서의 프롬프트 사용
섹션 제목: “3. CrewAI에서의 프롬프트 사용”Portkey의 Prompt Engineering Studio는 CrewAI 에이전트에서 사용하는 프롬프트를 생성, 관리, 최적화하도록 도와줍니다. 프롬프트나 지시문을 하드코딩하는 대신 Portkey의 프롬프트 렌더링 API를 사용하여 버전 관리된 프롬프트를 동적으로 가져와 적용할 수 있습니다.

Prompt Playground는 여러분의 AI 애플리케이션을 위해 완벽한 프롬프트를 비교, 테스트, 배포할 수 있는 공간입니다. 이곳은 다양한 모델을 실험하고, 변수들을 테스트하며, 출력값을 비교하고, 배포 전에 프롬프트 엔지니어링 전략을 다듬을 수 있는 곳입니다. 이를 통해 다음과 같은 작업이 가능합니다:
- 에이전트에서 사용하기 전에 프롬프트를 반복적으로 개발
- 다양한 변수와 모델로 프롬프트 테스트
- 서로 다른 프롬프트 버전의 출력값 비교
- 팀원들과 프롬프트 개발 협업
이 시각적 환경을 통해 CrewAI 에이전트 워크플로우의 각 단계에 효과적인 프롬프트를 쉽게 작성할 수 있습니다.
Prompt Render API를 통해 모든 파라미터가 구성된 프롬프트 템플릿을 가져올 수 있습니다:
from crewai import Agent, LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL, Portkey
# Initialize Portkey admin clientportkey_admin = Portkey(api_key="YOUR_PORTKEY_API_KEY")
# Retrieve prompt using the render APIprompt_data = portkey_client.prompts.render( prompt_id="YOUR_PROMPT_ID", variables={ "agent_role": "Senior Research Scientist", })
backstory_agent_prompt=prompt_data.data.messages[0]["content"]
# Set up LLM with Portkey integrationportkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY" ))
# Create agent using the rendered promptresearcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory=backstory_agent, # Use the rendered prompt verbose=True, llm=portkey_llm)다음과 같은 작업을 수행할 수 있습니다:
- 동일한 프롬프트의 여러 버전을 생성
- 버전 간의 성능 비교
- 필요시 이전 버전으로 롤백
- 코드에서 사용할 버전을 지정:
# Use a specific prompt versionprompt_data = portkey_admin.prompts.render( prompt_id="YOUR_PROMPT_ID@version_number", variables={ "agent_role": "Senior Research Scientist", "agent_goal": "Discover groundbreaking insights" })Portkey 프롬프트는 손쉬운 변수 치환을 위해 머스태시(Mustache) 스타일의 템플릿을 사용합니다:
You are a {{agent_role}} with expertise in {{domain}}.
Your mission is to {{agent_goal}} by leveraging your knowledgeand experience in the field.
Always maintain a {{tone}} tone and focus on providing {{focus_area}}.렌더링할 때는 변수를 간단하게 전달하면 됩니다:
prompt_data = portkey_admin.prompts.render( prompt_id="YOUR_PROMPT_ID", variables={ "agent_role": "Senior Research Scientist", "domain": "artificial intelligence", "agent_goal": "discover groundbreaking insights", "tone": "professional", "focus_area": "practical applications" })Prompt Engineering Studio
Portkey의 프롬프트 관리 기능에 대해 더 알아보기
4. 안전한 Crew를 위한 가드레일
섹션 제목: “4. 안전한 Crew를 위한 가드레일”가드레일은 CrewAI agent가 모든 상황에서 안전하게 작동하고 적절하게 응답하도록 보장합니다.
가드레일을 사용하는 이유는 무엇인가요?
CrewAI agent는 다양한 실패 모드를 경험할 수 있습니다:
- 유해하거나 부적절한 콘텐츠 생성
- PII와 같은 민감 정보 유출
- 잘못된 정보의 환각
- 잘못된 형식의 출력 생성
Portkey의 가드레일은 입력과 출력 모두에 대한 보호를 추가합니다.
가드레일 구현하기
from crewai import Agent, LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL
# Create LLM with guardrailsportkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY", config={ "input_guardrails": ["guardrails-id-xxx", "guardrails-id-yyy"], "output_guardrails": ["guardrails-id-zzz"] } ))
# Create agent with guardrailed LLMresearcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory="You are an expert researcher with deep domain knowledge.", verbose=True, llm=portkey_llm)Portkey의 가드레일은 다음을 수행할 수 있습니다:
- 입력 및 출력의 PII 감지 및 마스킹
- 유해하거나 부적절한 콘텐츠 필터링
- 응답 형식을 스키마에 따라 검증
- 근거 자료와 비교하여 환각 여부 확인
- 맞춤형 비즈니스 로직 및 규칙 적용
가드레일에 대해 더 알아보기
Portkey의 가드레일 기능을 탐색하여 agent의 안전성을 높여보세요
5. 메타데이터로 사용자 추적
섹션 제목: “5. 메타데이터로 사용자 추적”Portkey의 메타데이터 시스템을 사용하여 CrewAI 에이전트를 통해 개별 사용자를 추적할 수 있습니다.
Portkey에서의 메타데이터란?
메타데이터를 사용하면 각 요청에 사용자 지정 데이터를 연결할 수 있어 필터링, 세분화, 분석이 가능합니다. 특별한 _user 필드는 사용자 추적을 위해 특별히 설계되었습니다.
from crewai import Agent, LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL
# 사용자 추적이 설정된 LLM 구성portkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY", metadata={ "_user": "user_123", # 사용자 분석을 위한 특별 _user 필드 "user_tier": "premium", "user_company": "Acme Corp", "session_id": "abc-123" } ))
# 추적된 LLM으로 에이전트 생성researcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory="You are an expert researcher with deep domain knowledge.", verbose=True, llm=portkey_llm)사용자별로 분석 필터링
메타데이터가 설정되어 있으면, 사용자별로 분석을 필터링하고 사용자 단위의 성능 지표를 분석할 수 있습니다:
이를 통해 다음이 가능합니다:
- 사용자별 비용 추적 및 예산 관리
- 개인화된 사용자 분석
- 팀 또는 조직 단위의 지표
- 환경별 모니터링(스테이징 vs. 프로덕션)
메타데이터에 대해 더 알아보기
맞춤형 메타데이터를 활용하여 분석 기능을 향상시키는 방법을 살펴보세요
6. 효율적인 Crews를 위한 캐싱
섹션 제목: “6. 효율적인 Crews를 위한 캐싱”캐싱을 구현하여 CrewAI agent를 보다 효율적이고 비용 효율적으로 만드세요:
from crewai import Agent, LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL
# Configure LLM with simple cachingportkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY", config={ "cache": { "mode": "simple" } } ))
# Create agent with cached LLMresearcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory="You are an expert researcher with deep domain knowledge.", verbose=True, llm=portkey_llm)Simple 캐싱은 입력 프롬프트에 대한 정확한 일치 항목을 수행하며, 동일한 요청을 캐시에 저장하여 중복된 모델 실행을 방지합니다.
from crewai import Agent, LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL
# Configure LLM with semantic cachingportkey_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY", config={ "cache": { "mode": "semantic" } } ))
# Create agent with semantically cached LLMresearcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory="You are an expert researcher with deep domain knowledge.", verbose=True, llm=portkey_llm)Semantic 캐싱은 입력 요청 간의 맥락적 유사성을 고려하여, 의미적으로 유사한 입력에 대한 응답을 캐시에 저장합니다.
7. 모델 상호 운용성
섹션 제목: “7. 모델 상호 운용성”CrewAI는 여러 LLM 제공업체를 지원하며, Portkey는 통합 인터페이스를 통해 200개 이상의 LLM에 대한 액세스를 제공함으로써 이 기능을 확장합니다. 코어 에이전트 로직을 변경하지 않고도 다양한 모델 간에 쉽게 전환할 수 있습니다:
from crewai import Agent, LLMfrom portkey_ai import createHeaders, PORTKEY_GATEWAY_URL
# Set up LLMs with different providersopenai_llm = LLM( model="gpt-4o", base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_OPENAI_VIRTUAL_KEY" ))
anthropic_llm = LLM( model="claude-3-5-sonnet-latest", max_tokens=1000, base_url=PORTKEY_GATEWAY_URL, api_key="dummy", extra_headers=createHeaders( api_key="YOUR_PORTKEY_API_KEY", virtual_key="YOUR_ANTHROPIC_VIRTUAL_KEY" ))
# Choose which LLM to use for each agent based on your needsresearcher = Agent( role="Senior Research Scientist", goal="Discover groundbreaking insights about the assigned topic", backstory="You are an expert researcher with deep domain knowledge.", verbose=True, llm=openai_llm # Use anthropic_llm for Anthropic)Portkey는 다음을 포함한 제공업체의 LLM에 액세스를 제공합니다:
- OpenAI (GPT-4o, GPT-4 Turbo 등)
- Anthropic (Claude 3.5 Sonnet, Claude 3 Opus 등)
- Mistral AI (Mistral Large, Mistral Medium 등)
- Google Vertex AI (Gemini 1.5 Pro 등)
- Cohere (Command, Command-R 등)
- AWS Bedrock (Claude, Titan 등)
- 로컬/프라이빗 모델
지원되는 제공업체
Portkey에서 지원하는 전체 LLM 제공업체 목록 보기
CrewAI를 위한 엔터프라이즈 거버넌스 설정
섹션 제목: “CrewAI를 위한 엔터프라이즈 거버넌스 설정”엔터프라이즈 거버넌스가 필요한 이유 조직 내에서 CrewAI를 사용하는 경우, 여러 거버넌스 측면을 고려해야 합니다:
- 비용 관리: 팀별 AI 사용 비용 통제 및 추적
- 접근 제어: 특정 팀이 특정 모델을 사용할 수 있도록 관리
- 사용 분석: 조직 전반에서 AI 사용 현황 파악
- 보안 및 컴플라이언스: 엔터프라이즈 수준의 보안 기준 유지
- 신뢰성: 모든 사용자에게 일관된 서비스 제공 보장
Portkey는 이러한 엔터프라이즈 요구를 해결하는 종합적인 거버넌스 계층을 추가합니다. 이제 이러한 컨트롤을 단계별로 구현해보겠습니다.
- Virtual Key 생성
Virtual Key는 Portkey의 안전한 LLM 공급자 API 키 관리 방식입니다. 주요 제어 기능을 제공합니다:
- API 사용에 대한 예산 제한
- 속도 제한(Rate limiting) 기능
- 안전한 API 키 저장
Virtual Key를 생성하려면: Portkey 앱에서 Virtual Keys로 이동하세요. Virtual Key ID를 저장하고 복사하세요.
- 기본 Config 생성
Portkey에서 Config는 요청 라우팅 방식을 정의하며, 고급 라우팅·폴백·재시도 등 기능을 제공합니다.
Config를 생성하려면:
- Portkey 대시보드의 Configs로 이동
- 아래와 같은 새 config 생성:
{"virtual_key": "YOUR_VIRTUAL_KEY_FROM_STEP1","override_params": {"model": "gpt-4o" // 선호하는 모델명}}
- Config 이름을 저장하고 다음 단계에 사용하세요.
- Portkey API Key 설정
이제 Portkey API 키를 생성하고, 2단계에서 만든 config에 연결하세요:
- Portkey의 API Keys로 이동해 새 API 키 생성
2단계에서 만든 config 선택- API 키를 생성 및 저장
- CrewAI에 연결
Portkey API 키와 config를 설정한 후, 이를 CrewAI agent에 연결하세요:
from crewai import Agent, LLMfrom portkey_ai import PORTKEY_GATEWAY_URL# API 키로 LLM 구성portkey_llm = LLM(model="gpt-4o",base_url=PORTKEY_GATEWAY_URL,api_key="YOUR_PORTKEY_API_KEY")# Portkey가 적용된 LLM으로 agent 생성researcher = Agent(role="Senior Research Scientist",goal="Discover groundbreaking insights about the assigned topic",backstory="You are an expert researcher with deep domain knowledge.",verbose=True,llm=portkey_llm)
1단계: 예산 제어 및 속도 제한 구현
1단계: 예산 통제 및 속도 제한 구현
섹션 제목: “1단계: 예산 통제 및 속도 제한 구현”Virtual Keys를 사용하면 팀/부서 수준에서 LLM 접근을 세밀하게 제어할 수 있습니다. 이를 통해 다음과 같은 이점이 있습니다:
- 예산 한도 설정
- 속도 제한을 통해 예기치 않은 사용량 급증 방지
- 부서별 지출 추적
부서별 제어 설정하기:
섹션 제목: “부서별 제어 설정하기:”- Portkey 대시보드에서 Virtual Keys로 이동하세요.
- 각 부서마다 예산 한도와 속도 제한이 포함된 새로운 Virtual Key를 생성하세요.
- 부서별 한도를 구성하세요.
2단계: 모델 접근 규칙 정의
단계 2: 모델 접근 규칙 정의
섹션 제목: “단계 2: 모델 접근 규칙 정의”AI 사용이 확장됨에 따라, 각 팀이 특정 모델에 접근할 수 있도록 제어하는 것이 중요해집니다. Portkey Configs는 다음과 같은 기능을 제공하여 이러한 제어 계층을 지원합니다:
접근 제어 기능:
섹션 제목: “접근 제어 기능:”- 모델 제한: 특정 모델에 대한 액세스 제한
- 데이터 보호: 민감한 데이터에 대한 가드레일 구현
- 신뢰성 제어: 폴백 및 재시도 로직 추가
예시 구성:
섹션 제목: “예시 구성:”다음은 OpenAI, 특히 GPT-4o로 요청을 라우팅하는 기본 구성입니다:
{ "strategy": { "mode": "single" }, "targets": [ { "virtual_key": "YOUR_OPENAI_VIRTUAL_KEY", "override_params": { "model": "gpt-4o" } } ]}Portkey 대시보드에서 구성 페이지에서 자신의 구성을 생성하세요.
3단계: 액세스 제어 구현
3단계: 액세스 제어 구현
섹션 제목: “3단계: 액세스 제어 구현”사용자별 API 키를 생성하면 자동으로 다음을 수행합니다:
- 가상 키를 활용하여 사용자/팀별 사용량 추적
- 요청 라우팅을 위한 적절한 구성 적용
- 로그를 필터링하기 위한 관련 메타데이터 수집
- 액세스 권한 적용
Portkey App를 통해 API 키를 생성하세요
Python SDK를 사용한 예시:
from portkey_ai import Portkey
portkey = Portkey(api_key="YOUR_ADMIN_API_KEY")
api_key = portkey.api_keys.create( name="engineering-team", type="organisation", workspace_id="YOUR_WORKSPACE_ID", defaults={ "config_id": "your-config-id", "metadata": { "environment": "production", "department": "engineering" } }, scopes=["logs.view", "configs.read"])자세한 키 관리 방법은 Portkey 문서를 참조하세요.
4단계: 배포 및 모니터링
4단계: 배포 및 모니터링
섹션 제목: “4단계: 배포 및 모니터링”팀원들에게 API 키를 배포한 후, 엔터프라이즈 준비가 완료된 CrewAI 설정이 준비됩니다. 이제 각 팀원은 지정된 API 키로 적절한 액세스 수준 및 예산 제어와 함께 사용할 수 있습니다.
Portkey 대시보드에서 사용량 모니터링:
- 부서별 비용 추적
- 모델 사용 패턴
- 요청량
- 오류율
자주 묻는 질문
섹션 제목: “자주 묻는 질문”Portkey는 CrewAI를 어떻게 향상시키나요?
Portkey는 종합적인 가시성(트레이스, 로그, 메트릭), 신뢰성 기능(폴백, 재시도, 캐싱) 및 통합 인터페이스를 통한 200개 이상의 LLM 접속을 통해 CrewAI에 프로덕션 환경에 적합한 기능을 추가합니다. 이를 통해 에이전트 애플리케이션을 더 쉽게 디버깅, 최적화, 확장할 수 있습니다.
Portkey를 기존 CrewAI 애플리케이션과 함께 사용할 수 있나요?
네! Portkey는 기존 CrewAI 애플리케이션과 매끄럽게 통합됩니다. LLM 구성 코드를 Portkey가 적용된 버전으로 업데이트하기만 하면 됩니다. 나머지 에이전트 및 crew 코드는 변경하지 않아도 됩니다.
Portkey는 모든 CrewAI 기능과 호환되나요?
Portkey는 에이전트, 도구, human-in-the-loop 워크플로우, 모든 태스크 프로세스 유형(순차적, 계층적 등)을 포함하여 모든 CrewAI 기능을 지원합니다. 프레임워크의 기능에 제한을 두지 않으면서 가시성과 신뢰성을 추가합니다.
Crew 내 여러 에이전트의 사용 내역을 추적할 수 있나요?
네, Portkey를 사용하면 crew 내 여러 에이전트에 일관된 trace_id를 적용하여 전체 워크플로우를 추적할 수 있습니다. 특히 여러 에이전트가 포함된 복잡한 crew에서 전체 실행 경로를 파악할 때 유용합니다.
특정 crew 실행에 대한 로그와 트레이스를 어떻게 필터링하나요?
Portkey를 통해 LLM 구성에 사용자 지정 메타데이터를 추가할 수 있으며, 이를 필터링에 활용할 수 있습니다. crew_name, crew_type, session_id와 같은 필드를 추가해 손쉽게 특정 crew 실행을 찾아 분석할 수 있습니다.
내 API 키를 Portkey에서 사용할 수 있나요?
네! Portkey는 다양한 LLM 제공업체에 대해 사용자의 API 키를 사용합니다. API 키를 가상 키로 안전하게 저장하여, 코드 변경 없이 쉽게 키를 관리하고 교체할 수 있습니다.