다음을 통해 공유


GenAI 앱(IDE) 추적

이 빠른 시작은 개발 환경으로 로컬 IDE를 사용하는 경우 GenAI 앱을 MLflow 추적 과 통합하는 데 도움이 됩니다. Databricks Notebook을 사용하는 경우 Databricks Notebook 빠른 시작을 대신 사용하세요.

달성할 내용

이 자습서를 마치면 다음을 수행할 수 있습니다.

  • GenAI 앱에 대한 MLflow 실험
  • MLflow에 연결된 로컬 개발 환경
  • MLflow 추적을 사용하여 계측된 간단한 GenAI 애플리케이션
  • MLflow 실험에서 해당 앱의 추적

추적

필수 조건

  • Databricks 작업 영역: Databricks 작업 영역에 액세스합니다.

1단계: MLflow 설치

로컬 IDE에서 작업할 때 Databricks 연결을 사용하여 MLflow를 설치해야 합니다.

pip install --upgrade "mlflow[databricks]>=3.1" openai

2단계: 새 MLflow 실험 만들기

MLflow 실험은 GenAI 애플리케이션의 컨테이너입니다. 실험 및 데이터 모델 섹션에 포함된 내용에 대해 자세히 알아봅니다.

  1. Databricks 작업 영역 열기
  2. Machine Learning의 왼쪽 사이드바에서 실험으로 이동
  3. 실험 페이지의 맨 위에서 새 GenAI 실험을 클릭합니다.

실험 만들기

3단계: MLflow에 환경 연결

비고

이 빠른 시작에서는 Databricks 개인용 액세스 토큰을 사용하는 방법을 설명합니다. MLflow는 다른 Databricks 지원 인증 방법에서도 작동합니다.

환경 변수 사용

  1. API 키 생성 클릭

  2. 터미널에서 생성된 코드를 복사하고 실행합니다.

    export DATABRICKS_TOKEN=<databricks-personal-access-token>
    export DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com
    export MLFLOW_TRACKING_URI=databricks
    export MLFLOW_EXPERIMENT_ID=<experiment-id>
    

.env 파일 사용

  1. API 키 생성 클릭

  2. 생성된 코드를 프로젝트 루트의 .env 파일에 복사

    DATABRICKS_TOKEN=<databricks-personal-access-token>
    DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com
    MLFLOW_TRACKING_URI=databricks
    MLFLOW_EXPERIMENT_ID=<experiment-id>
    
  3. python-dotenv 패키지 설치

    pip install python-dotenv
    
  4. 코드에서 환경 변수 로드

    # At the beginning of your Python script
    from dotenv import load_dotenv
    
    # Load environment variables from .env file
    load_dotenv()
    

4단계: 애플리케이션 만들기 및 계측

팁 (조언)

Databricks는 인기 있는 최신 및 오픈 소스 기반 LLM에 대한 즉시 사용 가능한 액세스를 제공합니다. 이 빠른 시작을 실행하려면 다음을 수행할 수 있습니다.

  1. Databricks가 호스팅하는 LLM 사용
  2. LLM 공급자에서 사용자 고유의 API 키 직접 사용
  3. LLM 공급자의 API 키에 대한 제어된 액세스를 사용하도록 설정하는 외부 모델 만들기

아래 예제 빠른 시작에서는 OpenAI SDK를 사용하여 Databricks 호스팅 LLM에 연결합니다. 고유한 OpenAI 키를 사용하려면 줄을 업데이트합니다 client = OpenAI(...) .

MLflow에서 지원하는 다른 20개 이상의 LLM SDK(Anthropic, Bedrock 등) 또는 GenAI 제작 프레임워크(LangGraph 등) 중 하나를 사용하려는 경우 이전 단계의 MLflow 실험 UI의 지침을 따릅니다.

  1. 프로젝트 디렉터리에 명명된 app.py Python 파일을 만듭니다.

    여기서는 @mlflow.trace과 결합된 Python 애플리케이션을 쉽게 추적할 수 있는 데코레이터를 사용하여 OpenAI SDK 호출의 세부 정보를 캡처합니다.

    아래 코드 조각은 인류의 클로드 소네트 LLM을 사용합니다. 지원되는 기본 모델 목록에서 다른 LLM을 선택할 수 있습니다.

    import mlflow
    from openai import OpenAI
    
    # Enable MLflow's autologging to instrument your application with Tracing
    mlflow.openai.autolog()
    
    # Connect to a Databricks LLM via OpenAI using the same credentials as MLflow
    # Alternatively, you can use your own OpenAI credentials here
    mlflow_creds = mlflow.utils.databricks_utils.get_databricks_host_creds()
    client = OpenAI(
        api_key=mlflow_creds.token,
        base_url=f"{mlflow_creds.host}/serving-endpoints"
    )
    
    # Use the trace decorator to capture the application's entry point
    @mlflow.trace
    def my_app(input: str):
      # This call is automatically instrumented by `mlflow.openai.autolog()`
      response = client.chat.completions.create(
        model="databricks-claude-sonnet-4",  # This example uses a Databricks hosted LLM - you can replace this with any AI Gateway or Model Serving endpoint. If you provide your own OpenAI credentials, replace with a valid OpenAI model e.g., gpt-4o, etc.
        messages=[
          {
            "role": "system",
            "content": "You are a helpful assistant.",
          },
          {
            "role": "user",
            "content": input,
          },
        ],
      )
      return response.choices[0].message.content
    
    result = my_app(input="What is MLflow?")
    print(result)
    
  2. 애플리케이션 실행

    python app.py
    

5단계: MLflow에서 추적 보기

  1. MLflow 실험 UI로 다시 이동
  2. 이제 추적 탭에 생성된 추적이 표시됩니다.
  3. 추적을 클릭하여 세부 정보 보기

추적 세부 정보

추적에 대한 이해

방금 만든 추적은 다음을 보여줍니다.

  • 루트 범위: 함수에 대한 입력을 my_app(...) 나타냅니다.
    • 자식 범위: OpenAI 완료 요청을 나타냅니다.
  • 특성: 모델 이름, 토큰 수 및 타이밍 정보와 같은 메타데이터를 포함합니다.
  • 입력: 모델로 전송된 메시지
  • 출력: 모델에서 받은 응답

이 간단한 추적은 다음과 같은 애플리케이션의 동작에 대한 유용한 인사이트를 이미 제공합니다.

  • 무엇이 요청되었는가?
  • 어떤 응답이 생성되었습니까?
  • 요청이 걸린 시간
  • 사용된 토큰 수(비용에 영향을 미치는)

팁 (조언)

RAG 시스템 또는 다단계 에이전트와 같은 더 복잡한 애플리케이션의 경우 MLflow 추적은 각 구성 요소 및 단계의 내부 작동을 표시하여 더 많은 가치를 제공합니다.

다음 단계

이러한 권장 작업 및 자습서를 사용하여 여행을 계속합니다.

참조 가이드

이 가이드에 언급된 개념 및 기능에 대한 자세한 설명서를 살펴보세요.

  • 추적 개념 - MLflow 추적의 기본 사항 이해
  • 추적 데이터 모델 - 트레이스, 스팬, 그리고 MLflow가 관찰성 데이터를 구조화하는 방법에 대한 자세한 정보
  • 수동 추적 API - 사용자 지정 계측을 위한 고급 추적 기술 살펴보기