mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-09 08:08:32 +00:00
Add Korean translations (#3307)
This commit is contained in:
157
docs/ko/enterprise/features/agent-repositories.mdx
Normal file
157
docs/ko/enterprise/features/agent-repositories.mdx
Normal file
@@ -0,0 +1,157 @@
|
||||
---
|
||||
title: '에이전트 저장소'
|
||||
description: '에이전트 저장소를 사용하여 팀과 프로젝트 전반에 걸쳐 에이전트를 공유하고 재사용하는 방법을 알아보세요'
|
||||
icon: 'database'
|
||||
---
|
||||
|
||||
생각: 이제 훌륭한 답변을 드릴 수 있습니다.
|
||||
최종 답변:
|
||||
Agent Repositories는 엔터프라이즈 사용자가 팀과 프로젝트 전반에 걸쳐 agent 정의를 저장, 공유, 재사용할 수 있도록 합니다. 이 기능을 통해 조직은 표준화된 agent의 중앙 라이브러리를 유지할 수 있어 일관성을 높이고 중복 작업을 줄일 수 있습니다.
|
||||
|
||||
## 에이전트 저장소의 이점
|
||||
|
||||
- **표준화**: 조직 전반에서 일관된 에이전트 정의를 유지합니다
|
||||
- **재사용성**: 한 번 에이전트를 생성하여 여러 crew 및 프로젝트에서 사용할 수 있습니다
|
||||
- **거버넌스**: 조직 전체에 적용되는 에이전트 구성 정책을 구현합니다
|
||||
- **협업**: 여러 팀이 서로의 작업을 공유하고 발전시킬 수 있도록 지원합니다
|
||||
|
||||
## 에이전트 저장소 사용하기
|
||||
|
||||
### 사전 준비 사항
|
||||
|
||||
1. CrewAI 계정이 있어야 하며, [무료 플랜](https://app.crewai.com)을 이용해보세요.
|
||||
2. CrewAI CLI를 사용하여 인증되어 있어야 합니다.
|
||||
3. 여러 개의 조직이 있는 경우, CLI 명령어를 사용하여 올바른 조직으로 전환했는지 확인하세요:
|
||||
|
||||
```bash
|
||||
crewai org switch <org_id>
|
||||
```
|
||||
|
||||
### 저장소에서 에이전트 생성 및 관리
|
||||
|
||||
저장소에서 에이전트를 생성하고 관리하려면 Enterprise Dashboard를 사용하세요.
|
||||
|
||||
### 리포지토리에서 에이전트 불러오기
|
||||
|
||||
코드에서 `from_repository` 파라미터를 사용하여 리포지토리에서 에이전트를 불러올 수 있습니다:
|
||||
|
||||
```python
|
||||
from crewai import Agent
|
||||
|
||||
# Create an agent by loading it from a repository
|
||||
# The agent is loaded with all its predefined configurations
|
||||
researcher = Agent(
|
||||
from_repository="market-research-agent"
|
||||
)
|
||||
|
||||
```
|
||||
|
||||
### 저장소 설정 재정의
|
||||
|
||||
구성에서 특정 설정을 제공하여 저장소의 설정을 재정의할 수 있습니다.
|
||||
|
||||
```python
|
||||
researcher = Agent(
|
||||
from_repository="market-research-agent",
|
||||
goal="Research the latest trends in AI development", # Override the repository goal
|
||||
verbose=True # Add a setting not in the repository
|
||||
)
|
||||
```
|
||||
|
||||
### 예제: Repository 에이전트로 Crew 생성하기
|
||||
|
||||
```python
|
||||
from crewai import Crew, Agent, Task
|
||||
|
||||
# Load agents from repositories
|
||||
researcher = Agent(
|
||||
from_repository="market-research-agent"
|
||||
)
|
||||
|
||||
writer = Agent(
|
||||
from_repository="content-writer-agent"
|
||||
)
|
||||
|
||||
# Create tasks
|
||||
research_task = Task(
|
||||
description="Research the latest trends in AI",
|
||||
agent=researcher
|
||||
)
|
||||
|
||||
writing_task = Task(
|
||||
description="Write a comprehensive report based on the research",
|
||||
agent=writer
|
||||
)
|
||||
|
||||
# Create the crew
|
||||
crew = Crew(
|
||||
agents=[researcher, writer],
|
||||
tasks=[research_task, writing_task],
|
||||
verbose=True
|
||||
)
|
||||
|
||||
# Run the crew
|
||||
result = crew.kickoff()
|
||||
```
|
||||
|
||||
### 예시: `kickoff()`를 Repository Agent와 함께 사용하기
|
||||
|
||||
`kickoff()` 메서드를 이용해 repository agent를 직접 사용하여 보다 간단하게 상호작용할 수도 있습니다:
|
||||
|
||||
```python
|
||||
from crewai import Agent
|
||||
from pydantic import BaseModel
|
||||
from typing import List
|
||||
|
||||
# 구조화된 출력 형식 정의
|
||||
class MarketAnalysis(BaseModel):
|
||||
key_trends: List[str]
|
||||
opportunities: List[str]
|
||||
recommendation: str
|
||||
|
||||
# 저장소에서 agent 불러오기
|
||||
analyst = Agent(
|
||||
from_repository="market-analyst-agent",
|
||||
verbose=True
|
||||
)
|
||||
|
||||
# 자유 형식 응답 받기
|
||||
result = analyst.kickoff("Analyze the AI market in 2025")
|
||||
print(result.raw) # 원시 응답 접근
|
||||
|
||||
# 구조화된 출력 받기
|
||||
structured_result = analyst.kickoff(
|
||||
"Provide a structured analysis of the AI market in 2025",
|
||||
response_format=MarketAnalysis
|
||||
)
|
||||
|
||||
# 구조화된 데이터 접근
|
||||
print(f"Key Trends: {structured_result.pydantic.key_trends}")
|
||||
print(f"Recommendation: {structured_result.pydantic.recommendation}")
|
||||
```
|
||||
|
||||
## 모범 사례
|
||||
|
||||
1. **명명 규칙**: 리포지토리 에이전트에 대해 명확하고 설명적인 이름을 사용하세요.
|
||||
2. **문서화**: 각 에이전트에 대한 포괄적인 설명을 포함하세요.
|
||||
3. **도구 관리**: 리포지토리 에이전트가 참조하는 도구들이 환경에 제공되는지 확인하세요.
|
||||
4. **접근 제어**: 권한이 있는 팀원만 리포지토리 에이전트를 수정할 수 있도록 권한을 관리하세요.
|
||||
|
||||
## 조직 관리
|
||||
|
||||
조직을 전환하거나 현재 조직을 확인하려면 CrewAI CLI를 사용하세요:
|
||||
|
||||
```bash
|
||||
# 현재 조직 보기
|
||||
crewai org current
|
||||
|
||||
# 다른 조직으로 전환
|
||||
crewai org switch <org_id>
|
||||
|
||||
# 사용 가능한 모든 조직 목록 확인
|
||||
crewai org list
|
||||
```
|
||||
|
||||
<Note>
|
||||
리포지토리에서 agent를 불러올 때는 인증이 완료되어 있어야 하며, 올바른 조직으로 전환되어 있어야 합니다. 오류가 발생하면 위의 CLI 명령어를 사용하여 인증 상태와 조직 설정을 확인하세요.
|
||||
</Note>
|
||||
250
docs/ko/enterprise/features/hallucination-guardrail.mdx
Normal file
250
docs/ko/enterprise/features/hallucination-guardrail.mdx
Normal file
@@ -0,0 +1,250 @@
|
||||
---
|
||||
title: 환각 방어책
|
||||
description: "CrewAI 작업에서 AI 환각을 방지하고 감지합니다"
|
||||
icon: "shield-check"
|
||||
---
|
||||
|
||||
## 개요
|
||||
|
||||
Hallucination Guardrail은 AI가 생성한 콘텐츠가 사실에 기반하고 환각이 포함되어 있지 않은지 검증하는 엔터프라이즈 기능입니다. 이 기능은 작업 출력물을 참조 컨텍스트와 비교 분석하여, 잠재적으로 환각이 감지되었을 때 상세한 피드백을 제공합니다.
|
||||
|
||||
## 환각(Hallucinations)이란 무엇인가요?
|
||||
|
||||
AI 환각은 언어 모델이 그럴듯해 보이지만 사실과 다르거나 제공된 맥락에 의해 뒷받침되지 않는 내용을 생성할 때 발생합니다. Hallucination Guardrail은 다음과 같은 방법으로 이러한 문제를 방지합니다:
|
||||
|
||||
- 출력물을 참조 맥락과 비교
|
||||
- 원본 자료에 대한 충실도 평가
|
||||
- 문제 있는 콘텐츠에 대한 상세 피드백 제공
|
||||
- 검증 엄격성을 위한 사용자 정의 임계값 지원
|
||||
|
||||
## 기본 사용법
|
||||
|
||||
### 가드레일 설정하기
|
||||
|
||||
```python
|
||||
from crewai.tasks.hallucination_guardrail import HallucinationGuardrail
|
||||
from crewai import LLM
|
||||
|
||||
# Basic usage - will use task's expected_output as context
|
||||
guardrail = HallucinationGuardrail(
|
||||
llm=LLM(model="gpt-4o-mini")
|
||||
)
|
||||
|
||||
# With explicit reference context
|
||||
context_guardrail = HallucinationGuardrail(
|
||||
context="AI helps with various tasks including analysis and generation.",
|
||||
llm=LLM(model="gpt-4o-mini")
|
||||
)
|
||||
```
|
||||
|
||||
### 작업에 추가하기
|
||||
|
||||
```python
|
||||
from crewai import Task
|
||||
|
||||
# Create your task with the guardrail
|
||||
task = Task(
|
||||
description="Write a summary about AI capabilities",
|
||||
expected_output="A factual summary based on the provided context",
|
||||
agent=my_agent,
|
||||
guardrail=guardrail # Add the guardrail to validate output
|
||||
)
|
||||
```
|
||||
|
||||
## 고급 구성
|
||||
|
||||
### 사용자 지정 임계값 검증
|
||||
|
||||
보다 엄격한 검증을 위해 사용자 지정 신뢰성 임계값(0-10 범위)를 설정할 수 있습니다:
|
||||
|
||||
```python
|
||||
# Strict guardrail requiring high faithfulness score
|
||||
strict_guardrail = HallucinationGuardrail(
|
||||
context="Quantum computing uses qubits that exist in superposition states.",
|
||||
llm=LLM(model="gpt-4o-mini"),
|
||||
threshold=8.0 # Requires score >= 8 to pass validation
|
||||
)
|
||||
```
|
||||
|
||||
### 도구 응답 컨텍스트 포함하기
|
||||
|
||||
작업에서 도구를 사용할 때 더 정확한 검증을 위해 도구 응답을 포함할 수 있습니다:
|
||||
|
||||
```python
|
||||
# Guardrail with tool response context
|
||||
weather_guardrail = HallucinationGuardrail(
|
||||
context="Current weather information for the requested location",
|
||||
llm=LLM(model="gpt-4o-mini"),
|
||||
tool_response="Weather API returned: Temperature 22°C, Humidity 65%, Clear skies"
|
||||
)
|
||||
```
|
||||
|
||||
## 작동 원리
|
||||
|
||||
### 검증 프로세스
|
||||
|
||||
1. **컨텍스트 분석**: 가드레일은 작업 결과를 제공된 참조 컨텍스트와 비교합니다.
|
||||
2. **정확성 점수 부여**: 내부 평가자를 사용하여 정확성 점수(0-10)를 부여합니다.
|
||||
3. **판단 결정**: 콘텐츠가 정확한지 또는 환각이 포함되어 있는지 결정합니다.
|
||||
4. **임계값 확인**: 사용자 지정 임계값이 설정된 경우 해당 점수와 비교하여 검증합니다.
|
||||
5. **피드백 생성**: 검증에 실패할 때 상세한 사유를 제공합니다.
|
||||
|
||||
### 검증 논리
|
||||
|
||||
- **기본 모드**: 판정 기반 검증(FAITHFUL vs HALLUCINATED)을 사용함
|
||||
- **임계값 모드**: 신뢰성 점수가 지정된 임계값에 도달하거나 이를 초과해야 함
|
||||
- **오류 처리**: 평가 오류를 우아하게 처리하고 유익한 피드백을 제공함
|
||||
|
||||
## 가드레일 결과
|
||||
|
||||
가드레일은 검증 상태를 나타내는 구조화된 결과를 반환합니다:
|
||||
|
||||
```python
|
||||
# Example of guardrail result structure
|
||||
{
|
||||
"valid": False,
|
||||
"feedback": "Content appears to be hallucinated (score: 4.2/10, verdict: HALLUCINATED). The output contains information not supported by the provided context."
|
||||
}
|
||||
```
|
||||
|
||||
### 결과 속성
|
||||
|
||||
- **valid**: 출력이 검증을 통과했는지 여부를 나타내는 불리언 값
|
||||
- **feedback**: 검증 실패 시 상세 설명. 다음을 포함:
|
||||
- 신뢰도 점수
|
||||
- 판정 분류
|
||||
- 실패의 구체적인 이유
|
||||
|
||||
## 작업 시스템과의 통합
|
||||
|
||||
### 자동 검증
|
||||
|
||||
가드레일이 태스크에 추가되면, 태스크가 완료로 표시되기 전에 출력값이 자동으로 검증됩니다:
|
||||
|
||||
```python
|
||||
# Task output validation flow
|
||||
task_output = agent.execute_task(task)
|
||||
validation_result = guardrail(task_output)
|
||||
|
||||
if validation_result.valid:
|
||||
# Task completes successfully
|
||||
return task_output
|
||||
else:
|
||||
# Task fails with validation feedback
|
||||
raise ValidationError(validation_result.feedback)
|
||||
```
|
||||
|
||||
### 이벤트 추적
|
||||
|
||||
guardrail은 CrewAI의 이벤트 시스템과 통합되어 가시성을 제공합니다:
|
||||
|
||||
- **검증 시작됨**: guardrail 평가가 시작될 때
|
||||
- **검증 완료됨**: 평가가 결과와 함께 종료될 때
|
||||
- **검증 실패**: 평가 중 기술적 오류가 발생할 때
|
||||
|
||||
## 모범 사례
|
||||
|
||||
### 컨텍스트 가이드라인
|
||||
|
||||
<Steps>
|
||||
<Step title="포괄적인 컨텍스트 제공">
|
||||
AI가 출력할 때 기반이 되어야 할 모든 관련 사실 정보를 포함하세요:
|
||||
|
||||
```python
|
||||
context = """
|
||||
Company XYZ was founded in 2020 and specializes in renewable energy solutions.
|
||||
They have 150 employees and generated $50M revenue in 2023.
|
||||
Their main products include solar panels and wind turbines.
|
||||
"""
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="관련 있는 컨텍스트만 유지하기">
|
||||
혼란을 피하기 위해 작업과 직접적으로 관련된 정보만 포함하세요:
|
||||
|
||||
```python
|
||||
# Good: Focused context
|
||||
context = "The current weather in New York is 18°C with light rain."
|
||||
|
||||
# Avoid: Unrelated information
|
||||
context = "The weather is 18°C. The city has 8 million people. Traffic is heavy."
|
||||
```
|
||||
</Step>
|
||||
|
||||
<Step title="컨텍스트를 정기적으로 업데이트하기">
|
||||
참고하는 컨텍스트가 최신이고 정확한 정보를 반영하는지 확인하세요.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
### 임계값 선택
|
||||
|
||||
<Steps>
|
||||
<Step title="기본 검증으로 시작하기">
|
||||
맞춤 임계값 없이 시작하여 기준 성능을 파악합니다.
|
||||
</Step>
|
||||
|
||||
<Step title="요구사항에 따라 조정하기">
|
||||
- **중요 콘텐츠**: 최대 정확도를 위해 임계값 8-10 사용
|
||||
- **일반 콘텐츠**: 균형 잡힌 검증을 위해 임계값 6-7 사용
|
||||
- **창의적 콘텐츠**: 임계값 4-5 또는 기본 판정 기반 검증 사용
|
||||
</Step>
|
||||
|
||||
<Step title="모니터링 및 반복">
|
||||
검증 결과를 추적하고, 오탐/미탐을 기반으로 임계값을 조정합니다.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## 성능 고려사항
|
||||
|
||||
### 실행 시간에 미치는 영향
|
||||
|
||||
- **검증 오버헤드**: 각 가드레일마다 작업당 약 1~3초가 추가됩니다
|
||||
- **LLM 효율성**: 평가에는 효율적인 모델을 선택하세요 (예: gpt-4o-mini)
|
||||
|
||||
### 비용 최적화
|
||||
|
||||
- **모델 선택**: guardrail 평가에는 더 작고 효율적인 모델을 사용하세요
|
||||
- **컨텍스트 크기**: 참조 컨텍스트는 간결하면서도 포괄적으로 유지하세요
|
||||
- **캐싱**: 반복적인 콘텐츠의 검증 결과를 캐싱하는 것을 고려하세요
|
||||
|
||||
## 문제 해결
|
||||
|
||||
<Accordion title="검증이 항상 실패함">
|
||||
**가능한 원인:**
|
||||
- 컨텍스트가 너무 제한적이거나 작업 결과와 관련이 없음
|
||||
- 임계값이 콘텐츠 유형에 비해 너무 높게 설정됨
|
||||
- 참조 컨텍스트에 오래된 정보가 포함되어 있음
|
||||
|
||||
**해결 방법:**
|
||||
- 작업 요구사항에 맞게 컨텍스트를 검토하고 업데이트하세요
|
||||
- 임계값을 낮추거나 기본 판정 기반 검증을 사용하세요
|
||||
- 컨텍스트가 최신이며 정확한지 확인하세요
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="오탐 (유효한 콘텐츠가 무효로 판정됨)">
|
||||
**가능한 원인:**
|
||||
- 창의적이거나 해석적인 작업에 임계값이 너무 높음
|
||||
- 컨텍스트가 결과의 모든 유효한 측면을 포함하지 않음
|
||||
- 평가 모델이 과도하게 보수적임
|
||||
|
||||
**해결 방법:**
|
||||
- 임계값을 낮추거나 기본 검증을 사용하세요
|
||||
- 폭넓은 허용 가능한 콘텐츠를 포함하도록 컨텍스트를 확장하세요
|
||||
- 다른 평가 모델로 테스트하세요
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="평가 오류">
|
||||
**가능한 원인:**
|
||||
- 네트워크 연결 문제
|
||||
- LLM 모델 사용 불가 또는 속도 제한
|
||||
- 잘못된 형식의 작업 출력 또는 컨텍스트
|
||||
|
||||
**해결 방법:**
|
||||
- 네트워크 연결 및 LLM 서비스 상태를 확인하세요
|
||||
- 일시적 오류에 대해 재시도 로직을 구현하세요
|
||||
- guardrail 평가 전에 작업 출력 형식을 검증하세요
|
||||
</Accordion>
|
||||
|
||||
<Card title="도움이 필요하신가요?" icon="headset" href="mailto:support@crewai.com">
|
||||
환각 guardrail 구성 또는 문제 해결에 도움이 필요하시면 지원팀에 문의하세요.
|
||||
</Card>
|
||||
179
docs/ko/enterprise/features/integrations.mdx
Normal file
179
docs/ko/enterprise/features/integrations.mdx
Normal file
@@ -0,0 +1,179 @@
|
||||
---
|
||||
title: 통합
|
||||
description: "에이전트가 조치를 취할 수 있도록 연결된 애플리케이션입니다."
|
||||
icon: "plug"
|
||||
---
|
||||
|
||||
## 개요
|
||||
|
||||
에이전트가 OAuth를 지원하는 모든 공급자와 인증하고 작업을 수행할 수 있도록 지원합니다. Salesforce와 HubSpot부터 Google 및 GitHub까지, 16개 이상의 통합 서비스를 제공합니다.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
## 지원되는 통합
|
||||
|
||||
### **커뮤니케이션 & 협업**
|
||||
- **Gmail** - 이메일 및 임시 저장 관리
|
||||
- **Slack** - 워크스페이스 알림 및 경고
|
||||
- **Microsoft** - Office 365 및 Teams 통합
|
||||
|
||||
### **프로젝트 관리**
|
||||
- **Jira** - 이슈 추적 및 프로젝트 관리
|
||||
- **ClickUp** - 작업 및 생산성 관리
|
||||
- **Asana** - 팀 작업 및 프로젝트 조정
|
||||
- **Notion** - 페이지 및 데이터베이스 관리
|
||||
- **Linear** - 소프트웨어 프로젝트 및 버그 추적
|
||||
- **GitHub** - 저장소 및 이슈 관리
|
||||
|
||||
### **고객 관계 관리**
|
||||
- **Salesforce** - CRM 계정 및 기회 관리
|
||||
- **HubSpot** - 영업 파이프라인 및 연락처 관리
|
||||
- **Zendesk** - 고객 지원 티켓 관리
|
||||
|
||||
### **비즈니스 & 금융**
|
||||
- **Stripe** - 결제 처리 및 고객 관리
|
||||
- **Shopify** - 전자상거래 스토어 및 상품 관리
|
||||
|
||||
### **생산성 및 저장소**
|
||||
- **Google Sheets** - 스프레드시트 데이터 동기화
|
||||
- **Google Calendar** - 일정 및 스케줄 관리
|
||||
- **Box** - 파일 저장 및 문서 관리
|
||||
|
||||
추가 기능도 곧 제공됩니다!
|
||||
|
||||
## 사전 준비 사항
|
||||
|
||||
Authentication Integrations를 사용하기 전에 다음이 준비되어 있는지 확인하세요:
|
||||
|
||||
- [CrewAI Enterprise](https://app.crewai.com) 계정. 무료 체험으로 시작할 수 있습니다.
|
||||
|
||||
## 통합 설정
|
||||
|
||||
### 1. 계정 연결하기
|
||||
|
||||
1. [CrewAI Enterprise](https://app.crewai.com)로 이동합니다.
|
||||
2. **Integrations** 탭으로 이동합니다 - https://app.crewai.com/crewai_plus/connectors
|
||||
3. Authentication Integrations 섹션에서 원하는 서비스의 **Connect** 버튼을 클릭합니다.
|
||||
4. OAuth 인증 과정을 완료합니다.
|
||||
5. 사용 사례에 필요한 권한을 부여합니다.
|
||||
6. [CrewAI Enterprise](https://app.crewai.com) 계정 페이지 - https://app.crewai.com/crewai_plus/settings/account 에서 Enterprise Token을 받습니다.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 2. 통합 도구 설치
|
||||
|
||||
최신 버전의 `crewai-tools` 패키지만 있으면 됩니다.
|
||||
|
||||
```bash
|
||||
uv add crewai-tools
|
||||
```
|
||||
|
||||
## 사용 예시
|
||||
|
||||
### 기본 사용법
|
||||
<Tip>
|
||||
인증한 모든 서비스가 도구로 제공됩니다. 따라서 필요한 것은 `CrewaiEnterpriseTools`를 에이전트에 추가하는 것뿐이며, 바로 사용하실 수 있습니다.
|
||||
</Tip>
|
||||
|
||||
```python
|
||||
from crewai import Agent, Task, Crew
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
# Get enterprise tools (Gmail tool will be included)
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
enterprise_token="your_enterprise_token"
|
||||
)
|
||||
# print the tools
|
||||
print(enterprise_tools)
|
||||
|
||||
# Create an agent with Gmail capabilities
|
||||
email_agent = Agent(
|
||||
role="Email Manager",
|
||||
goal="Manage and organize email communications",
|
||||
backstory="An AI assistant specialized in email management and communication.",
|
||||
tools=enterprise_tools
|
||||
)
|
||||
|
||||
# Task to send an email
|
||||
email_task = Task(
|
||||
description="Draft and send a follow-up email to john@example.com about the project update",
|
||||
agent=email_agent,
|
||||
expected_output="Confirmation that email was sent successfully"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[email_agent],
|
||||
tasks=[email_task]
|
||||
)
|
||||
|
||||
# Run the crew
|
||||
crew.kickoff()
|
||||
```
|
||||
|
||||
### 필터링 도구
|
||||
|
||||
```python
|
||||
from crewai_tools import CrewaiEnterpriseTools
|
||||
|
||||
enterprise_tools = CrewaiEnterpriseTools(
|
||||
actions_list=["gmail_find_email"] # only gmail_find_email tool will be available
|
||||
)
|
||||
gmail_tool = enterprise_tools["gmail_find_email"]
|
||||
|
||||
gmail_agent = Agent(
|
||||
role="Gmail Manager",
|
||||
goal="Manage gmail communications and notifications",
|
||||
backstory="An AI assistant that helps coordinate gmail communications.",
|
||||
tools=[gmail_tool]
|
||||
)
|
||||
|
||||
notification_task = Task(
|
||||
description="Find the email from john@example.com",
|
||||
agent=gmail_agent,
|
||||
expected_output="Email found from john@example.com"
|
||||
)
|
||||
|
||||
# Run the task
|
||||
crew = Crew(
|
||||
agents=[slack_agent],
|
||||
tasks=[notification_task]
|
||||
)
|
||||
```
|
||||
|
||||
## 모범 사례
|
||||
|
||||
### 보안
|
||||
- **최소 권한 원칙**: 에이전트의 작업에 필요한 최소한의 권한만 부여하세요
|
||||
- **정기적인 감사**: 연결된 통합 및 해당 권한을 주기적으로 검토하세요
|
||||
- **자격 증명 보안**: 자격 증명을 하드코딩하지 말고, CrewAI의 안전한 인증 플로우를 사용하세요
|
||||
|
||||
### 필터링 도구
|
||||
배포된 crew에서 연결된 서비스의 설정 페이지에서 각 통합에 대해 사용할 수 있는 작업을 지정할 수 있습니다.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 다중 사용자 조직을 위한 Scoped Deployments
|
||||
crew를 배포하고 각 통합을 특정 사용자에게 범위 지정할 수 있습니다. 예를 들어, google에 연결하는 crew는 특정 사용자의 gmail 계정을 사용할 수 있습니다.
|
||||
|
||||
<Tip>
|
||||
이것은 통합을 특정 사용자에게 범위 지정하고자 하는 다중 사용자 조직에서 유용합니다.
|
||||
</Tip>
|
||||
|
||||
`user_bearer_token`을 사용하여 통합을 특정 사용자에 범위 지정하면 crew가 시작될 때 사용자의 bearer token을 사용해 통합에 인증합니다. 사용자가 로그인하지 않은 경우, crew는 연결된 통합을 사용하지 않습니다. 기본 bearer token을 사용하여 crew와 함께 배포된 통합에 인증할 수 있습니다.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 도움 받기
|
||||
|
||||
<Card title="도움이 필요하신가요?" icon="headset" href="mailto:support@crewai.com">
|
||||
통합 설정이나 문제 해결에 대한 지원이 필요하시면 저희 지원팀에 문의하세요.
|
||||
</Card>
|
||||
106
docs/ko/enterprise/features/tool-repository.mdx
Normal file
106
docs/ko/enterprise/features/tool-repository.mdx
Normal file
@@ -0,0 +1,106 @@
|
||||
---
|
||||
title: 도구 저장소
|
||||
description: "도구 저장소를 사용하여 도구를 관리하기"
|
||||
icon: "toolbox"
|
||||
---
|
||||
|
||||
## 개요
|
||||
|
||||
Tool Repository는 CrewAI 도구를 위한 패키지 관리자입니다. 사용자는 CrewAI crew와 flow에 통합되는 도구를 게시, 설치 및 관리할 수 있습니다.
|
||||
|
||||
도구는 다음과 같이 분류됩니다:
|
||||
|
||||
- **비공개**: 조직 내에서만 접근할 수 있습니다(기본값)
|
||||
- **공개**: `--public` 플래그로 게시하면 모든 CrewAI 사용자가 접근할 수 있습니다
|
||||
|
||||
이 저장소는 버전 관리 시스템이 아닙니다. 코드 변경 사항을 추적하고 협업을 활성화하려면 Git을 사용하십시오.
|
||||
|
||||
## 사전 요구 사항
|
||||
|
||||
Tool Repository를 사용하기 전에 다음이 준비되어 있어야 합니다:
|
||||
|
||||
- [CrewAI Enterprise](https://app.crewai.com) 계정
|
||||
- [CrewAI CLI](https://docs.crewai.com/concepts/cli#cli) 설치됨
|
||||
- uv>=0.5.0 이 설치되어 있어야 합니다. [업그레이드 방법](https://docs.astral.sh/uv/getting-started/installation/#upgrading-uv)을 참고하세요.
|
||||
- [Git](https://git-scm.com) 설치 및 구성 완료
|
||||
- CrewAI Enterprise 조직에서 도구를 게시하거나 설치할 수 있는 액세스 권한
|
||||
|
||||
## 도구 설치
|
||||
|
||||
도구를 설치하려면:
|
||||
|
||||
```bash
|
||||
crewai tool install <tool-name>
|
||||
```
|
||||
|
||||
이 명령은 도구를 설치하고 `pyproject.toml`에 추가합니다.
|
||||
|
||||
## 도구 생성 및 게시
|
||||
|
||||
새 도구 프로젝트를 생성하려면:
|
||||
|
||||
```bash
|
||||
crewai tool create <tool-name>
|
||||
```
|
||||
|
||||
이 명령은 로컬에 스캐폴딩된 도구 프로젝트를 생성합니다.
|
||||
|
||||
변경 사항을 적용한 후, Git 저장소를 초기화하고 코드를 커밋합니다:
|
||||
|
||||
```bash
|
||||
git init
|
||||
git add .
|
||||
git commit -m "Initial version"
|
||||
```
|
||||
|
||||
도구를 게시하려면:
|
||||
|
||||
```bash
|
||||
crewai tool publish
|
||||
```
|
||||
|
||||
기본적으로 도구는 비공개로 게시됩니다. 도구를 공개로 설정하려면:
|
||||
|
||||
```bash
|
||||
crewai tool publish --public
|
||||
```
|
||||
|
||||
도구 빌드에 대한 자세한 내용은 [나만의 도구 만들기](https://docs.crewai.com/concepts/tools#creating-your-own-tools)를 참고하세요.
|
||||
|
||||
## 도구 업데이트
|
||||
|
||||
공개된 도구를 업데이트하려면:
|
||||
|
||||
1. 로컬에서 도구를 수정합니다.
|
||||
2. `pyproject.toml`에서 버전을 업데이트합니다(예: `0.1.0`에서 `0.1.1`로).
|
||||
3. 변경 사항을 커밋하고 배포합니다.
|
||||
|
||||
```bash
|
||||
git commit -m "Update version to 0.1.1"
|
||||
crewai tool publish
|
||||
```
|
||||
|
||||
## 도구 삭제
|
||||
|
||||
도구를 삭제하려면:
|
||||
|
||||
1. [CrewAI Enterprise](https://app.crewai.com)로 이동합니다.
|
||||
2. **Tools**로 이동합니다.
|
||||
3. 도구를 선택합니다.
|
||||
4. **Delete**를 클릭합니다.
|
||||
|
||||
<Warning>
|
||||
삭제는 영구적입니다. 삭제된 도구는 복구하거나 다시 설치할 수 없습니다.
|
||||
</Warning>
|
||||
|
||||
## 보안 점검
|
||||
|
||||
모든 공개된 버전은 자동화된 보안 점검을 거치며, 통과한 후에만 설치할 수 있습니다.
|
||||
|
||||
도구의 보안 점검 상태는 다음에서 확인할 수 있습니다:
|
||||
|
||||
`CrewAI Enterprise > Tools > Your Tool > Versions`
|
||||
|
||||
<Card title="도움이 필요하신가요?" icon="headset" href="mailto:support@crewai.com">
|
||||
API 통합 또는 문제 해결에 대한 지원이 필요하시면 지원팀에 문의해 주세요.
|
||||
</Card>
|
||||
145
docs/ko/enterprise/features/traces.mdx
Normal file
145
docs/ko/enterprise/features/traces.mdx
Normal file
@@ -0,0 +1,145 @@
|
||||
---
|
||||
title: 트레이스
|
||||
description: "Traces를 사용하여 내 크루 모니터링하기"
|
||||
icon: "timeline"
|
||||
---
|
||||
|
||||
## 개요
|
||||
|
||||
Trace는 crew 실행에 대한 포괄적인 가시성을 제공하여 성능 모니터링, 문제 디버깅, AI agent workflow 최적화에 도움을 줍니다.
|
||||
|
||||
## Traces란 무엇인가요?
|
||||
|
||||
CrewAI Enterprise의 Traces는 crew의 작동 과정을 처음 입력에서 최종 출력까지 모든 측면에서 포착하는 상세 실행 기록입니다. Traces에는 다음 내용이 기록됩니다:
|
||||
|
||||
- Agent의 생각 및 추론
|
||||
- 작업 실행 세부 정보
|
||||
- 도구 사용 및 출력
|
||||
- 토큰 소모 메트릭
|
||||
- 실행 시간
|
||||
- 비용 추정치
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
## 트레이스(Traces) 접근하기
|
||||
|
||||
<Steps>
|
||||
<Step title="트레이스 탭으로 이동">
|
||||
CrewAI Enterprise 대시보드에 들어가면, **트레이스**를 클릭하여 모든 실행 기록을 볼 수 있습니다.
|
||||
</Step>
|
||||
|
||||
<Step title="실행 선택하기">
|
||||
모든 crew 실행 목록이 날짜별로 정렬되어 표시됩니다. 상세 트레이스를 보려면 원하는 실행을 클릭하세요.
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
## 트레이스 인터페이스 이해하기
|
||||
|
||||
트레이스 인터페이스는 여러 섹션으로 나뉘어 있으며, 각 섹션은 crew의 실행에 대한 다양한 인사이트를 제공합니다.
|
||||
|
||||
### 1. 실행 요약
|
||||
|
||||
상단 섹션에서는 실행에 대한 고수준 메트릭을 표시합니다:
|
||||
|
||||
- **총 토큰**: 모든 작업에서 소모된 토큰 수
|
||||
- **프롬프트 토큰**: LLM에 프롬프트로 사용된 토큰
|
||||
- **컴플리션 토큰**: LLM 응답에서 생성된 토큰
|
||||
- **요청 수**: 수행된 API 호출 수
|
||||
- **실행 시간**: crew 런의 전체 소요 시간
|
||||
- **예상 비용**: 토큰 사용량을 기반으로 한 대략적인 비용
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 2. Tasks & Agents
|
||||
|
||||
이 섹션에서는 crew 실행에 포함된 모든 task와 agent를 보여줍니다:
|
||||
|
||||
- task 이름 및 agent 할당
|
||||
- 각 task에 사용된 agent 및 LLM
|
||||
- 상태 (완료/실패)
|
||||
- task의 개별 실행 시간
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 3. 최종 결과
|
||||
|
||||
모든 작업이 완료된 후 crew가 생성한 최종 결과를 표시합니다.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 4. 실행 타임라인
|
||||
|
||||
각 작업이 시작되고 종료된 시점을 시각적으로 표현하여 병목 현상이나 병렬 실행 패턴을 파악하는 데 도움이 됩니다.
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
### 5. 상세 작업 보기
|
||||
|
||||
타임라인이나 작업 목록에서 특정 작업을 클릭하면 다음을 볼 수 있습니다:
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
|
||||
- **작업 키**: 작업의 고유 식별자
|
||||
- **작업 ID**: 시스템 내의 기술적 식별자
|
||||
- **상태**: 현재 상태 (완료/진행 중/실패)
|
||||
- **에이전트**: 해당 작업을 수행한 에이전트
|
||||
- **LLM**: 이 작업에 사용된 언어 모델
|
||||
- **시작/종료 시간**: 작업이 시작되고 완료된 시간
|
||||
- **실행 시간**: 이 특정 작업의 소요 시간
|
||||
- **작업 설명**: 에이전트에게 지시된 작업 내용
|
||||
- **예상 출력**: 요청된 출력 형식
|
||||
- **입력**: 이전 작업에서 이 작업에 제공된 입력값
|
||||
- **출력**: 에이전트가 실제로 생성한 결과
|
||||
|
||||
## 디버깅을 위한 트레이스 사용
|
||||
|
||||
트레이스는 crew 문제 해결에 매우 유용합니다:
|
||||
|
||||
<Steps>
|
||||
<Step title="실패 지점 식별">
|
||||
crew 실행이 예상한 결과를 내지 못할 때, 트레이스를 확인하여 어디에서 문제가 발생했는지 찾으세요. 다음을 확인하세요:
|
||||
|
||||
- 실패한 작업
|
||||
- 에이전트의 예상 밖 결정
|
||||
- 도구 사용 오류
|
||||
- 잘못 해석된 지침
|
||||
|
||||
<Frame>
|
||||

|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
<Step title="성능 최적화">
|
||||
실행 메트릭을 사용하여 성능 병목 현상을 파악하세요:
|
||||
|
||||
- 예상보다 오래 걸린 작업
|
||||
- 과도한 토큰 사용
|
||||
- 중복된 도구 작업
|
||||
- 불필요한 API 호출
|
||||
</Step>
|
||||
|
||||
<Step title="비용 효율성 향상">
|
||||
토큰 사용량 및 비용 추정치를 분석해 crew의 효율성을 최적화하세요:
|
||||
|
||||
- 더 간단한 작업에는 더 작은 모델을 사용 고려
|
||||
- 프롬프트를 더 간결하게 다듬기
|
||||
- 자주 액세스하는 정보 캐싱
|
||||
- 중복 작업을 최소화하도록 작업 구조화하기
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
<Card title="도움이 필요하신가요?" icon="headset" href="mailto:support@crewai.com">
|
||||
트레이스 분석이나 기타 CrewAI 엔터프라이즈 기능에 대한 지원이 필요하시면 저희 지원팀에 문의하세요.
|
||||
</Card>
|
||||
81
docs/ko/enterprise/features/webhook-streaming.mdx
Normal file
81
docs/ko/enterprise/features/webhook-streaming.mdx
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
title: 웹훅 스트리밍
|
||||
description: "웹훅 스트리밍을 사용하여 이벤트를 웹훅으로 스트리밍하기"
|
||||
icon: "webhook"
|
||||
---
|
||||
|
||||
## 개요
|
||||
|
||||
Enterprise Event Streaming을 사용하면 CrewAI Enterprise에 배포된 crew 및 flow에 대한 실시간 웹훅 업데이트(예: 모델 호출, 도구 사용, flow 단계)를 받을 수 있습니다.
|
||||
|
||||
## 사용법
|
||||
|
||||
Kickoff API를 사용할 때, 요청에 `webhooks` 객체를 포함시키세요. 예를 들면 아래와 같습니다:
|
||||
|
||||
```json
|
||||
{
|
||||
"inputs": {"foo": "bar"},
|
||||
"webhooks": {
|
||||
"events": ["crew_kickoff_started", "llm_call_started"],
|
||||
"url": "https://your.endpoint/webhook",
|
||||
"realtime": false,
|
||||
"authentication": {
|
||||
"strategy": "bearer",
|
||||
"token": "my-secret-token"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`realtime`이 `true`로 설정되면, 각 이벤트가 개별적으로 그리고 즉시 전달되지만 crew/flow 성능에 영향을 미칠 수 있습니다.
|
||||
|
||||
## Webhook 형식
|
||||
|
||||
각 webhook은 이벤트 목록을 전송합니다:
|
||||
|
||||
```json
|
||||
{
|
||||
"events": [
|
||||
{
|
||||
"id": "event-id",
|
||||
"execution_id": "crew-run-id",
|
||||
"timestamp": "2025-02-16T10:58:44.965Z",
|
||||
"type": "llm_call_started",
|
||||
"data": {
|
||||
"model": "gpt-4",
|
||||
"messages": [
|
||||
{"role": "system", "content": "You are an assistant."},
|
||||
{"role": "user", "content": "Summarize this article."}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
`data` 객체의 구조는 이벤트 타입에 따라 다릅니다. 자세한 내용은 GitHub의 [이벤트 목록](https://github.com/crewAIInc/crewAI/tree/main/src/crewai/utilities/events)을 참조하세요.
|
||||
|
||||
요청이 HTTP를 통해 전송되므로, 이벤트의 순서가 보장되지 않습니다. 순서가 필요하다면 `timestamp` 필드를 사용하세요.
|
||||
|
||||
## 지원되는 이벤트
|
||||
|
||||
CrewAI는 Enterprise Event Streaming에서 시스템 이벤트와 사용자 지정 이벤트 둘 다를 지원합니다. 이러한 이벤트는 crew 및 flow 실행 중에 구성한 웹훅 엔드포인트로 전송됩니다.
|
||||
|
||||
- `crew_kickoff_started`
|
||||
- `crew_step_started`
|
||||
- `crew_step_completed`
|
||||
- `crew_execution_completed`
|
||||
- `llm_call_started`
|
||||
- `llm_call_completed`
|
||||
- `tool_usage_started`
|
||||
- `tool_usage_completed`
|
||||
- `crew_test_failed`
|
||||
- *...그리고 기타 여러 가지*
|
||||
|
||||
이벤트 이름은 내부 이벤트 버스와 일치합니다. 전체 목록은 [GitHub 소스](https://github.com/crewAIInc/crewAI/tree/main/src/crewai/utilities/events)에서 확인할 수 있습니다.
|
||||
|
||||
사용자 지정 이벤트도 직접 발생시킬 수 있으며, 시스템 이벤트와 함께 웹훅 스트림을 통해 전달됩니다.
|
||||
|
||||
<Card title="도움이 필요하신가요?" icon="headset" href="mailto:support@crewai.com">
|
||||
웹훅 통합 또는 문제 해결에 대한 지원이 필요하다면 저희 지원팀에 문의해 주세요.
|
||||
</Card>
|
||||
Reference in New Issue
Block a user