생성 AI 애플리케이션용 에이전트 배포
Important
이 기능은 공개 미리 보기 상태입니다.
이 문서에서는 .에서 API를 사용하여 에이전트를 배포하는 deploy()
방법을 보여 줍니다 databricks.agents
.
요구 사항
- 에이전트를 배포하려면 먼저 Unity 카탈로그에 등록해야 합니다. Unity 카탈로그에 등록된 에이전트만 .를 사용하여
deploy()
배포할 수 있습니다. AI 에이전트 만들기 및 로그를 참조 하세요. Unity 카탈로그에 에이전트를 등록하면 모델 형식으로 패키지됩니다. - MLflow 2.13.1 이상에서
databricks.agents
API를 사용하여 에이전트를deploy()
배포합니다.
를 사용하여 에이전트 배포 deploy()
API는 deploy()
다음을 수행합니다.
- 사용자 연결 애플리케이션에 통합할 수 있는 에이전트에 대한 엔드포인트를 제공하는 CPU 모델을 만듭니다.
- 에이전트에 대해 검토 앱을 사용하도록 설정합니다. 검토 앱을 사용하면 관련자가 에이전트와 채팅하고 앱 검토 UI를 사용하여 피드백을 제공할 수 있습니다.
- 검토 앱 또는 REST API에 대한 모든 요청을 유추 테이블에 기록합니다. 기록된 데이터에는 MLflow 추적의 쿼리 요청, 응답 및 중간 추적 데이터가 포함됩니다.
- 배포하려는 에이전트와 동일한 카탈로그 및 스키마를 사용하여 피드백 모델을 만듭니다. 이 피드백 모델은 검토 앱의 피드백을 수락하고 유추 테이블에 기록할 수 있도록 하는 메커니즘입니다. 이 모델은 배포된 에이전트와 엔드포인트를 제공하는 동일한 CPU 모델에서 제공됩니다. 이 서비스 엔드포인트에는 유추 테이블이 활성화되어 있으므로 검토 앱의 피드백을 유추 테이블로 기록할 수 있습니다.
참고 항목
배포를 완료하는 데 최대 15분이 걸릴 수 있습니다. 원시 JSON 페이로드가 도착하는 데 10~30분이 걸리며 형식이 지정된 로그는 약 1시간마다 원시 페이로드에서 처리됩니다.
from databricks.agents import deploy
from mlflow.utils import databricks_utils as du
deployment = deploy(model_fqn, uc_model_info.version)
# query_endpoint is the URL that can be used to make queries to the app
deployment.query_endpoint
# Copy deployment.rag_app_url to browser and start interacting with your RAG application.
deployment.rag_app_url
에이전트 향상 유추 테이블
각 deploy()
배포에 대한 세 개의 유추 테이블을 만들어 엔드포인트를 제공하는 에이전트에 대한 요청 및 응답을 기록합니다.
참고 항목
Azure Storage 방화벽을 사용하도록 설정한 경우 Databricks 계정 팀에 문의하여 엔드포인트에 대한 유추 테이블을 사용하도록 설정합니다.
테이블 | Unity 카탈로그 테이블 이름 예제 | 각 테이블의 내용 |
---|---|---|
페이로드 | {catalog_name}.{schema_name}.{model_name}_payload |
원시 JSON 페이로드 |
페이로드 요청 로그 | {catalog_name}.{schema_name}.{model_name}_payload_request_logs |
형식이 지정된 요청 및 응답, MLflow 추적 |
페이로드 평가 로그 | {catalog_name}.{schema_name}.{model_name}_payload_assessment_logs |
각 요청에 대해 검토 앱에 제공된 형식이 지정된 피드백 |
요청 로그 및 평가 로그 테이블
위의 페이로드 유추 테이블에서 요청 로그 및 평가 로그라는 두 개의 추가 테이블이 자동으로 생성됩니다. 사용자는 배포와 상호 작용한 후 1시간 이내에 데이터가 이러한 테이블에 있을 것으로 예상할 수 있습니다.
다음은 요청 로그 테이블에 대한 스키마를 보여 줍니다.
열 이름 | Type | 설명 |
---|---|---|
client_request_id |
문자열 | 클라이언트 요청 ID(일반적으로 null . |
databricks_request_id |
문자열 | Databricks 요청 ID입니다. |
date |
날짜 | 요청 날짜입니다. |
timestamp_ms |
Long | 타임스탬프(밀리초)입니다. |
timestamp |
타임스탬프 | 요청의 타임스탬프입니다. |
status_code |
정수 | 엔드포인트의 상태 코드입니다. |
execution_time_ms |
Long | 총 실행 시간(밀리초)입니다. |
conversation_id |
문자열 | 요청 로그에서 추출된 대화 ID입니다. |
request |
문자열 | 사용자 대화의 마지막 사용자 쿼리입니다. RAG 요청에서 추출됩니다. |
response |
문자열 | 사용자에 대한 마지막 응답입니다. RAG 요청에서 추출됩니다. |
request_raw |
문자열 | 요청의 문자열 표현입니다. |
response_raw |
문자열 | 응답의 문자열 표현입니다. |
trace |
문자열 | 응답 구조체에서 databricks_options 추출된 추적의 문자열 표현입니다. |
sampling_fraction |
두 배 | 샘플링 분수입니다. |
request_metadata |
Map[String, String] | 요청과 연결된 엔드포인트를 제공하는 모델과 관련된 메타데이터의 맵입니다. 이 맵에는 엔드포인트에 사용되는 엔드포인트 이름, 모델 이름 및 모델 버전이 포함됩니다. |
schema_version |
문자열 | 스키마 버전의 정수입니다. |
다음은 평가 로그에 대한 스키마입니다.
열 이름 | Type | 설명 |
---|---|---|
request_id |
문자열 | Databricks 요청 ID입니다. |
step_id |
문자열 | 검색 평가에서 파생됩니다. |
source |
구조체 | 평가를 만든 사람에 대한 정보를 포함하는 구조체 필드입니다. |
timestamp |
타임스탬프 | 요청의 타임스탬프입니다. |
text_assessment |
구조체 | 검토 앱에서 에이전트의 응답에 대한 피드백에 대한 데이터를 포함하는 구조체 필드입니다. |
retrieval_assessment |
구조체 | 응답을 위해 검색된 문서에 대한 피드백에 대한 데이터가 포함된 구조체 필드입니다. |
배포된 애플리케이션 가져오기
다음은 배포된 에이전트를 가져오는 방법을 보여 줍니다.
from databricks.agents import list_deployments, get_deployments
# Get the deployment for specific model_fqn and version
deployment = get_deployments(model_name=model_fqn, model_version=model_version.version)
deployments = list_deployments()
# Print all the current deployments
deployments
추가 리소스
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기