다음을 통해 공유


2단계. 이해 관계자 피드백 수집을 위한 POC 배포

이 단계가 끝나면 이해 관계자가 POC에 대한 피드백을 테스트하고 제공할 수 있는 에이전트 평가 검토 앱을 배포하게 됩니다. 이해 관계자의 사용 현황 및 피드백의 자세한 로그는 레이크하우스의 Delta Tables로 전달됩니다.

RAG 애플리케이션 개념 증명

요구 사항

이 섹션의 샘플 코드는 GitHub 리포지토리에서 확인하세요.

개념 증명 RAG 애플리케이션

평가 기반 개발의 첫 번째 단계는 POC(개념 증명)를 빌드하는 것입니다. POC는 다음과 같은 이점을 제공합니다.

  • RAG를 사용하여 사용 사례의 타당성에 대한 방향 보기를 제공합니다.
  • 이해 관계자로부터 초기 피드백을 수집할 수 있으므로 평가 집합의 첫 번째 버전을 만들 수 있습니다.
  • 반복을 시작할 품질 기준 측정을 설정합니다.

Databricks는 가장 간단한 RAG 아키텍처를 사용하여 POC를 빌드하고 각 매개 변수에 대해 Databricks 권장 기본값을 사용하는 것이 좋습니다.

이 권장 사항은 RAG 애플리케이션 내에서 조정할 수 있는 수백 가지 가능한 매개 변수 조합이 있기 때문입니다. 이러한 튜닝을 몇 주 동안 쉽게 수행할 수 있지만 RAG를 체계적으로 평가하기 전에 설정에서 POC doom 루프라고 하는 항목을 반복하지만 개선이 있었는지 객관적으로 알 수 있는 방법은 없지만 이해 관계자가 참을성 있게 검토하기를 기다리는 동안 모든 작업을 수행합니다.

이 자습서의 POC 템플릿은 품질 반복을 염두에 두고 설계되었습니다. DATAbricks 연구 팀이 RAG 품질을 개선하기 위해 조정하는 것이 중요하다고 보여 준 내용에 따라 매개 변수화됩니다. 이러한 템플릿은 "마술처럼 RAG를 만드는 3개의 코드 줄"이 아니라 평가 기반 개발 워크플로의 다음 단계에서 품질을 위해 조정할 수 있는 잘 구성된 RAG 애플리케이션입니다.

이를 통해 POC를 신속하게 배포할 수 있지만 코드를 다시 작성할 필요 없이 신속하게 품질 반복으로 전환할 수 있습니다.

다음은 POC 애플리케이션의 기술 아키텍처입니다.

POC 애플리케이션 아키텍처

참고 항목

기본적으로 POC는 Mosaic AI 파운데이션 모델 서빙에서 사용할 수 있는 오픈 소스 모델을 사용합니다. 그러나 POC는 파운데이션 모델을 지원하는 Mosaic AI 모델 서빙을 사용하기 때문에 다른 모델을 사용하는 것은 쉽습니다. 모델 서빙에서 해당 모델을 구성한 다음 00_config Notebook에서 embedding_endpoint_namellm_endpoint_name을(를) 교체하기만 하면 됩니다.

피드백을 수집하기 위해 POC를 배포하는 단계

다음 단계에서는 POC 생성형 AI 애플리케이션을 실행하고 배포하는 방법을 보여줍니다. 배포 후에는 이해 관계자와 공유하여 피드백을 수집할 수 있는 URL을 검토 앱에 가져옵니다.

  1. 데이터 형식에 따라 A_POC_app 내에서 POC 코드 폴더를 엽니다.

    • PDF 파일의 경우 pdf_uc_volume을 사용합니다.
    • Powerpoint 파일의 경우 pptx_uc_volume을 사용합니다.
    • DOCX 파일의 경우 docx_uc_volume을 사용합니다.
    • 텍스트, markdown, HTML 콘텐츠 및 메타데이터가 있는 JSON 파일은 json_uc_volume을 사용합니다.

    데이터가 위의 요구 사항 중 하나를 충족하지 않는 경우 위의 POC 디렉터리의 02_poc_data_pipeline 내에서 구문 분석 함수(parser_udf)를 사용자 지정하여 파일 형식으로 작업할 수 있습니다.

    POC 폴더 내에 다음 Notebooks가 표시됩니다.

    Notebooks 파일

    참고 항목

    이러한Notebooks는 선택한 특정 POC를 기준으로 합니다. 예를 들어 참조를 00_config에 표시되고 pdf_uc_volume을 선택한 경우 A_POC_app/pdf_uc_volume/00_config에서 관련 00_config Notebook을 찾을 수 있습니다.

  2. 필요에 따라 기본 매개 변수를 검토합니다.

    위에서 선택한 POC 디렉터리 내에서 00_config Notebook을 열어 데이터 파이프라인 및 RAG 체인에 대한 POC의 애플리케이션 기본 매개 변수를 봅니다.

    Important

    Databricks 권장 기본 매개 변수는 완벽하지는 않지만 시작할 위치입니다. 이 워크플로의 다음 단계에서는 이러한 매개 변수를 반복하는 단계를 안내합니다.

  3. 구성의 유효성을 검사합니다.

    01_validate_config를 실행하여 구성이 유효하고 모든 리소스를 사용할 수 있는지 확인합니다. rag_chain_config.yaml 파일이 애플리케이션을 배포하는 데 사용되는 디렉터리에 나타납니다.

  4. 데이터 파이프라인을 실행합니다.

    POC 데이터 파이프라인은 Apache Spark를 기반으로 하는 Databricks Notebook입니다. 02_poc_data_pipeline Notebook을 열고 모두 실행을 눌러 파이프라인을 실행합니다. 파이프라인은 다음을 수행합니다.

    • UC 볼륨에서 원시 문서 로드
    • 각 문서를 구문 분석하여 결과를 Delta Table에 저장
    • 각 문서를 청크하여 결과를 Delta Table에 저장
    • Mosaic AI 벡터 검색을 사용하여 문서 포함 및 벡터 인덱스 만들기

    출력 테이블 및 구성과 같은 데이터 파이프라인에 대한 메타데이터는 MLflow에 기록됩니다.

    데이터 파이프라인을 표시하기 위한 GIF

    Notebook 아래쪽에 있는 Delta Tables 또는 벡터 인덱스 출력에 대한 링크를 찾아 출력을 검사할 수 있습니다.

    Vector index: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>_poc_chunked_docs_gold_index
    
    Output tables:
    
    Bronze Delta Table w/ raw files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_raw_files_bronze
    Silver Delta Table w/ parsed files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_parsed_docs_silver
    Gold Delta Table w/ chunked files: https://<your-workspace-url>.databricks.com/explore/data/<uc-catalog>/<uc-schema>/<app-name>__poc_chunked_docs_gold
    
  5. 검토 앱에 POC 체인을 배포합니다.

    기본 POC 체인은 LangChain을 사용하여 빌드된 멀티 턴 RAG 체인입니다.

    참고 항목

    POC 체인은 MLflow 코드 기반 로깅을 사용합니다. 코드 기반 로깅에 대한 자세한 내용은 로그 및 등록 AI 에이전트를 참조하세요.

    1. 03_deploy_poc_to_review_app Notebook 열기

    2. Notebook의 각 셀을 실행합니다.

    3. MLflow 추적은 POC 애플리케이션의 작동 방식을 보여 줍니다. 입력 질문을 사용 사례와 관련된 질문으로 조정하고 셀을 다시 실행하여 애플리케이션을 "바이브 확인"합니다.

      MLflow 추적을 보여 주는 GIF

    4. 사용 사례와 관련되도록 기본 지침을 수정합니다. 이는 검토 앱에 표시됩니다.

         instructions_to_reviewer = f"""## Instructions for Testing the {RAG_APP_NAME}'s Initial Proof of Concept (PoC)
      
         Your inputs are invaluable for the development team. By providing detailed feedback and corrections, you help us fix issues and improve the overall quality of the application. We rely on your expertise to identify any gaps or areas needing enhancement.
      
         1. **Variety of Questions**:
            - Please try a wide range of questions that you anticipate the end users of the application will ask. This helps us ensure the application can handle the expected queries effectively.
      
         2. **Feedback on Answers**:
            - After asking each question, use the feedback widgets provided to review the answer given by the application.
            - If you think the answer is incorrect or could be improved, please use "Edit Answer" to correct it. Your corrections will enable our team to refine the application's accuracy.
      
         3. **Review of Returned Documents**:
            - Carefully review each document that the system returns in response to your question.
            - Use the thumbs up/down feature to indicate whether the document was relevant to the question asked. A thumbs up signifies relevance, while a thumbs down indicates the document was not useful.
      
         Thank you for your time and effort in testing {RAG_APP_NAME}. Your contributions are essential to delivering a high-quality product to our end users."""
      
         print(instructions_to_reviewer)
      
    5. 배포 셀을 실행하여 검토 앱에 대한 링크를 가져옵니다.

      Review App URL: https://<your-workspace-url>.databricks.com/ml/review/<uc-catalog>.<uc-schema>.<uc-model-name>/<uc-model-version>
      
  6. 개별 사용자에게 검토 앱에 액세스할 수 있는 권한을 부여합니다.

    검토 앱을 사용하도록 권한 설정의 단계에 따라 Databricks가 아닌 사용자에게 액세스 권한을 부여할 수 있습니다.

  7. 몇 가지 질문을 직접 하고 피드백을 제공하여 검토 앱을 테스트합니다.

    참고 항목

    검토 앱의 MLflow 추적 및 사용자의 피드백은 구성한 카탈로그 스키마의 Delta Tables에 표시됩니다. 이러한 Delta Tables에 로그를 표시하는 데에는 최대 2시간이 걸릴 수 있습니다.

  8. 이해 관계자와 검토 앱 공유

    이제 POC RAG 애플리케이션을 이해 관계자와 공유하여 피드백을 얻을 수 있습니다.

    Important

    Databricks는 POC를 3개 이상의 이해 관계자에게 배포하고 각각 10~20개의 질문을 하도록 제안합니다. 평가 집합에 포함할 다양한 관점을 가질 수 있도록 여러 이해 관계자가 POC를 테스트하도록 하는 것이 중요합니다.

다음 단계

3단계. 이해 관계자 피드백에서 평가 집합 큐레이팅을 계속 진행합니다.

< 이전: 1단계. 리포지토리 복제 및 컴퓨팅 만들기

다음: 3단계. 평가 집합 큐레이팅 >