메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://crewai-devin-1778040886-fix-hitl-pre-review-silent-fallback.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

소개

LangDB AI Gateway는 여러 대형 언어 모델과의 연결을 지원하는 OpenAI 호환 API를 제공하며, 350개 이상의 언어 모델에 접근할 수 있도록 해주는 관측 플랫폼입니다. 단 한 번의 init() 호출로 모든 에이전트 상호작용, 작업 실행 및 LLM 호출이 캡처되어, 애플리케이션을 위한 종합적인 관측성과 프로덕션 수준의 AI 인프라를 제공합니다.
LangDB CrewAI trace example
확인: 실시간 추적 예시 보기

기능

AI 게이트웨이 기능

  • 350개 이상의 LLM 접근: 단일 통합을 통해 모든 주요 언어 모델에 연결
  • 가상 모델: 특정 매개변수와 라우팅 규칙으로 맞춤형 모델 구성 생성
  • 가상 MCP: 에이전트 간 향상된 통신을 위해 MCP(Model Context Protocol) 시스템과의 호환성 및 통합 지원
  • 가드레일: 에이전트 행동에 대한 안전 조치 및 컴플라이언스 제어 구현

가시성 및 추적

  • 자동 추적: 단일 init() 호출로 모든 CrewAI 상호작용을 캡처
  • 엔드-투-엔드 가시성: 에이전트 워크플로우를 시작부터 끝까지 모니터링
  • 도구 사용 추적: 에이전트가 사용하는 도구와 그 결과를 추적
  • 모델 호출 모니터링: LLM 상호작용에 대한 상세한 인사이트 제공
  • 성능 분석: 지연 시간, 토큰 사용량 및 비용 모니터링
  • 디버깅 지원: 문제 해결을 위한 단계별 실행
  • 실시간 모니터링: 라이브 트레이스 및 메트릭 대시보드

설치 안내

1

LangDB 설치

CrewAI 기능 플래그와 함께 LangDB 클라이언트를 설치하세요:
pip install 'pylangdb[crewai]'
2

환경 변수 설정

LangDB 자격 증명을 구성하세요:
export LANGDB_API_KEY="<your_langdb_api_key>"
export LANGDB_PROJECT_ID="<your_langdb_project_id>"
export LANGDB_API_BASE_URL='https://api.us-east-1.langdb.ai'
3

추적(Tracing) 초기화

CrewAI 코드를 설정하기 전에 LangDB를 임포트하고 초기화하세요:
from pylangdb.crewai import init
# Initialize LangDB
init()
4

CrewAI와 LangDB 연동 설정

LangDB 헤더와 함께 LLM을 설정하세요:
from crewai import Agent, Task, Crew, LLM
import os

# Configure LLM with LangDB headers
llm = LLM(
    model="openai/gpt-4o", # Replace with the model you want to use
    api_key=os.getenv("LANGDB_API_KEY"),
    base_url=os.getenv("LANGDB_API_BASE_URL"),
    extra_headers={"x-project-id": os.getenv("LANGDB_PROJECT_ID")}
)

빠른 시작 예제

여기 LangDB와 CrewAI를 시작하는 간단한 예제가 있습니다:
import os
from pylangdb.crewai import init
from crewai import Agent, Task, Crew, LLM

# Initialize LangDB before any CrewAI imports
init()

def create_llm(model):
    return LLM(
        model=model,
        api_key=os.environ.get("LANGDB_API_KEY"),
        base_url=os.environ.get("LANGDB_API_BASE_URL"),
        extra_headers={"x-project-id": os.environ.get("LANGDB_PROJECT_ID")}
    )

# Define your agent
researcher = Agent(
    role="Research Specialist",
    goal="Research topics thoroughly",
    backstory="Expert researcher with skills in finding information",
    llm=create_llm("openai/gpt-4o"), # Replace with the model you want to use
    verbose=True
)

# Create a task
task = Task(
    description="Research the given topic and provide a comprehensive summary",
    agent=researcher,
    expected_output="Detailed research summary with key findings"
)

# Create and run the crew
crew = Crew(agents=[researcher], tasks=[task])
result = crew.kickoff()
print(result)

완성된 예제: Research and Planning Agent

이 포괄적인 예제는 연구 및 기획 기능을 갖춘 multi-agent 워크플로우를 보여줍니다.

사전 준비 사항

pip install crewai 'pylangdb[crewai]' crewai_tools setuptools python-dotenv

환경 설정

# LangDB credentials
export LANGDB_API_KEY="<your_langdb_api_key>"
export LANGDB_PROJECT_ID="<your_langdb_project_id>"
export LANGDB_API_BASE_URL='https://api.us-east-1.langdb.ai'

# Additional API keys (optional)
export SERPER_API_KEY="<your_serper_api_key>"  # For web search capabilities

전체 구현

#!/usr/bin/env python3

import os
import sys
from pylangdb.crewai import init
init()  # Initialize LangDB before any CrewAI imports
from dotenv import load_dotenv
from crewai import Agent, Task, Crew, Process, LLM
from crewai_tools import SerperDevTool

load_dotenv()

def create_llm(model):
    return LLM(
        model=model,
        api_key=os.environ.get("LANGDB_API_KEY"),
        base_url=os.environ.get("LANGDB_API_BASE_URL"),
        extra_headers={"x-project-id": os.environ.get("LANGDB_PROJECT_ID")}
    )

class ResearchPlanningCrew:
    def researcher(self) -> Agent:
        return Agent(
            role="Research Specialist",
            goal="Research topics thoroughly and compile comprehensive information",
            backstory="Expert researcher with skills in finding and analyzing information from various sources",
            tools=[SerperDevTool()],
            llm=create_llm("openai/gpt-4o"),
            verbose=True
        )
    
    def planner(self) -> Agent:
        return Agent(
            role="Strategic Planner",
            goal="Create actionable plans based on research findings",
            backstory="Strategic planner who breaks down complex challenges into executable plans",
            reasoning=True,
            max_reasoning_attempts=3,
            llm=create_llm("openai/anthropic/claude-3.7-sonnet"),
            verbose=True
        )
    
    def research_task(self) -> Task:
        return Task(
            description="Research the topic thoroughly and compile comprehensive information",
            agent=self.researcher(),
            expected_output="Comprehensive research report with key findings and insights"
        )
    
    def planning_task(self) -> Task:
        return Task(
            description="Create a strategic plan based on the research findings",
            agent=self.planner(),
            expected_output="Strategic execution plan with phases, goals, and actionable steps",
            context=[self.research_task()]
        )
    
    def crew(self) -> Crew:
        return Crew(
            agents=[self.researcher(), self.planner()],
            tasks=[self.research_task(), self.planning_task()],
            verbose=True,
            process=Process.sequential
        )

def main():
        topic = sys.argv[1] if len(sys.argv) > 1 else "Artificial Intelligence in Healthcare"
        
        crew_instance = ResearchPlanningCrew()
        
        # Update task descriptions with the specific topic
        crew_instance.research_task().description = f"Research {topic} thoroughly and compile comprehensive information"
    crew_instance.planning_task().description = f"Create a strategic plan for {topic} based on the research findings"
    
    result = crew_instance.crew().kickoff()
    print(result)

if __name__ == "__main__":
    main()

예제 실행하기

python main.py "Sustainable Energy Solutions"

LangDB에서 트레이스 보기

CrewAI 애플리케이션을 실행한 후, LangDB 대시보드에서 자세한 트레이스를 확인할 수 있습니다:
LangDB 트레이스 대시보드에서 CrewAI 워크플로우 표시

볼 수 있는 내용

  • 에이전트 상호작용: 에이전트 대화 및 작업 인계의 전체 흐름
  • 도구 사용: 호출된 도구, 입력값 및 출력값
  • 모델 호출: 프롬프트 및 응답과 함께하는 상세 LLM 상호작용
  • 성능 지표: 지연 시간, 토큰 사용량, 비용 추적
  • 실행 타임라인: 전체 워크플로우의 단계별 보기

문제 해결

일반적인 문제

  • 추적이 나타나지 않음: init()이 CrewAI 임포트 이전에 호출되었는지 확인하세요
  • 인증 오류: LangDB API 키와 프로젝트 ID를 확인하세요

리소스

LangDB 문서

공식 LangDB 문서 및 가이드

LangDB 가이드

AI 에이전트 구축을 위한 단계별 튜토리얼

GitHub 예제

CrewAI 통합 전체 예제

LangDB 대시보드

트레이스 및 분석 액세스

모델 카탈로그

350개 이상의 사용 가능한 언어 모델 살펴보기

엔터프라이즈 기능

셀프 호스팅 옵션 및 엔터프라이즈 기능

다음 단계

이 가이드에서는 LangDB AI Gateway를 CrewAI와 통합하는 기본 사항을 다루었습니다. AI 워크플로우를 더욱 강화하려면 다음을 탐색해보세요:
  • Virtual Models: 라우팅 전략을 사용한 맞춤형 모델 구성 만들기
  • Guardrails & Safety: 콘텐츠 필터링 및 컴플라이언스 제어 구현
  • Production Deployment: 폴백, 재시도, 로드 밸런싱 구성
보다 고급 기능 및 사용 사례에 대해서는 LangDB Documentation을 방문하거나, Model Catalog를 탐색하여 사용 가능한 모든 모델을 확인해 보세요.