이 빠른 시작은 개발 환경으로 로컬 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 애플리케이션의 컨테이너입니다. 실험 및 데이터 모델 섹션에 포함된 내용에 대해 자세히 알아봅니다.
- Databricks 작업 영역 열기
- Machine Learning의 왼쪽 사이드바에서 실험으로 이동
- 실험 페이지의 맨 위에서 새 GenAI 실험을 클릭합니다.
3단계: MLflow에 환경 연결
비고
이 빠른 시작에서는 Databricks 개인용 액세스 토큰을 사용하는 방법을 설명합니다. MLflow는 다른 Databricks 지원 인증 방법에서도 작동합니다.
환경 변수 사용
API 키 생성 클릭
터미널에서 생성된 코드를 복사하고 실행합니다.
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 파일 사용
API 키 생성 클릭
생성된 코드를 프로젝트 루트의
.env
파일에 복사DATABRICKS_TOKEN=<databricks-personal-access-token> DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com MLFLOW_TRACKING_URI=databricks MLFLOW_EXPERIMENT_ID=<experiment-id>
python-dotenv
패키지 설치pip install python-dotenv
코드에서 환경 변수 로드
# At the beginning of your Python script from dotenv import load_dotenv # Load environment variables from .env file load_dotenv()
4단계: 애플리케이션 만들기 및 계측
팁 (조언)
Databricks는 인기 있는 최신 및 오픈 소스 기반 LLM에 대한 즉시 사용 가능한 액세스를 제공합니다. 이 빠른 시작을 실행하려면 다음을 수행할 수 있습니다.
- Databricks가 호스팅하는 LLM 사용
- LLM 공급자에서 사용자 고유의 API 키 직접 사용
- LLM 공급자의 API 키에 대한 제어된 액세스를 사용하도록 설정하는 외부 모델 만들기
아래 예제 빠른 시작에서는 OpenAI SDK를 사용하여 Databricks 호스팅 LLM에 연결합니다. 고유한 OpenAI 키를 사용하려면 줄을 업데이트합니다 client = OpenAI(...)
.
MLflow에서 지원하는 다른 20개 이상의 LLM SDK(Anthropic, Bedrock 등) 또는 GenAI 제작 프레임워크(LangGraph 등) 중 하나를 사용하려는 경우 이전 단계의 MLflow 실험 UI의 지침을 따릅니다.
프로젝트 디렉터리에 명명된
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)
애플리케이션 실행
python app.py
5단계: MLflow에서 추적 보기
- MLflow 실험 UI로 다시 이동
- 이제 추적 탭에 생성된 추적이 표시됩니다.
- 추적을 클릭하여 세부 정보 보기
추적에 대한 이해
방금 만든 추적은 다음을 보여줍니다.
-
루트 범위: 함수에 대한 입력을
my_app(...)
나타냅니다.- 자식 범위: OpenAI 완료 요청을 나타냅니다.
- 특성: 모델 이름, 토큰 수 및 타이밍 정보와 같은 메타데이터를 포함합니다.
- 입력: 모델로 전송된 메시지
- 출력: 모델에서 받은 응답
이 간단한 추적은 다음과 같은 애플리케이션의 동작에 대한 유용한 인사이트를 이미 제공합니다.
- 무엇이 요청되었는가?
- 어떤 응답이 생성되었습니까?
- 요청이 걸린 시간
- 사용된 토큰 수(비용에 영향을 미치는)
팁 (조언)
RAG 시스템 또는 다단계 에이전트와 같은 더 복잡한 애플리케이션의 경우 MLflow 추적은 각 구성 요소 및 단계의 내부 작동을 표시하여 더 많은 가치를 제공합니다.
다음 단계
이러한 권장 작업 및 자습서를 사용하여 여행을 계속합니다.
- 앱 품질 평가 - MLflow의 평가 기능을 사용하여 GenAI 앱의 품질 측정 및 개선
- 사용자 피드백 수집 - 사용자 및 도메인 전문가로부터 피드백을 수집하는 방법 알아보기
- 사용자 및 세션 추적 - 추적에 사용자 및 대화 컨텍스트 추가
참조 가이드
이 가이드에 언급된 개념 및 기능에 대한 자세한 설명서를 살펴보세요.