Skip to main content

GitHub Models를 사용하여 엔터프라이즈에서 AI 기반 애플리케이션 개발

기업에서 AI 개발을 간소화합니다.

누가 이 기능을 사용할 수 있나요?

Organization owners and enterprise owners

참고 항목

GitHub Models for organizations and repositories is in 공개 미리 보기 and subject to change.

GitHub Models를 통해 개발자는 엔터프라이즈에서 제어, 규정 준수 및 비용 효율성을 유지하면서 AI 기반 애플리케이션을 대규모로 빌드할 수 있습니다.

GitHub Models를 사용하는 이유는 무엇인가요?

  • 중앙 집중식 모델 관리: 조직 전체의 개발자가 사용할 수 있는 AI 모델 및 공급자를 제어합니다.
  • 빠른 AI 개발: 프롬프트 및 모델의 프로토타입을 신속하게 생성하고, 평가 및 최적화합니다.
  • 거버넌스 및 규정 준수 제어: 조직의 표준을 적용하고 모델 사용을 모니터링합니다.
  • 비용 최적화: 고가 모델로 인한 예기치 않은 비용을 방지합니다.
  • 공동 작업: 표준 GitHub 개발 사례를 사용하여 프롬프트 및 결과를 공유합니다.
  • 보안 중심 아키텍처: 데이터가 GitHub 및 Azure 내에 남아 있고, 모델 공급자와 공유되지 않는다는 점을 안심하세요.
  • 시각적 인터페이스: 비기술 팀 구성원이 개발자와 함께 참가할 수 있도록 허용합니다.
  • API 액세스: GitHub Models REST API를 사용하여 엔터프라이즈 워크플로를 자동화하고 통합합니다.
  • 버전 제어: 모든 프롬프트 및 모델 변경 내용은 표준 GitHub 커밋 및 끌어오기 요청 흐름을 거치므로 프롬프트가 변경된 시기와 이유를 알 수 있습니다.

About GitHub Models을(를) 참조하세요.

대규모 GitHub Models 사용에 대한 모범 사례

거버넌스 및 규정 준수를 위한 AI 모델 비교 및 평가

사용 가능한 AI 모델을 검토하고 회사의 거버넌스, 데이터 보안 및 규정 준수 요구 사항과 비교합니다. 이 작업은 모델이 지원하는 GitHub 리포지토리 또는 GitHub Marketplace(https://github.com/marketplace?type=models)의 GitHub Models 카탈로그에서 수행할 수 있습니다. 고려 사항에는 다음이 포함될 수 있습니다.

  • 거버넌스 및 보안: 각 모델이 GDPR, SOC 2 및 ISO 27001과 같은 표준 및 규정을 준수하는지 검토하고, 명시적으로 동의하에 기록되지 않는 한, 데이터가 조직 외부에서 유지되지 않도록 합니다.
  • 모델 성능: 내부 데이터 세트에 대한 벤치마크 평가를 실행하여 추론, 컨텍스트 보존 및 환영 발생 속도를 평가합니다.
  • API 제어 및 가시성: 팀 또는 조직 수준에서 사용 할당량, 프롬프트 검사 및 속도 제한을 미세하게 제어해야 합니다.
  • 비용 최적화: 토큰 가격 책정, 추론 속도 및 계층화된 사용을 위한 모델 변형 가용성을 포함합니다. 예를 들어 테스트 사례 생성의 경우 아키텍처 토론을 위한 고급 모델보다 더 저렴한 모델을 사용할 수 있습니다.

사용하려는 모델을 결정했으면 조직의 액세스를 해당 모델로만 제한할 수 있습니다. 팀의 모델 사용 관리을(를) 참조하세요.

팀 전체에서 프롬프트 최적화 및 공유

개발자는 GitHub Models의 프롬프트 편집기를 사용하여 프롬프트를 만들고 구체화할 수 있습니다. 팀은 GitHub 개발 워크플로와 통합되는 안정적인 비프로덕션 환경에서 다양한 프롬프트 변형 및 모델을 실험해볼 수 있습니다. 시각적 인터페이스를 사용하면 비기술 관련자가 개발자와 함께 참여할 수 있습니다. 프롬프트 편집기 사용을 참조하세요.

간단한 평가 도구를 사용하여 팀은 대기 시간, 관련성 및 근거와 같은 일반적인 메트릭 간에 결과를 비교하거나 사용자 지정 평가기를 만들 수 있습니다. 코드 생성, 테스트, 문서 작성 또는 코드 검토 제안 등과 같은 특정 생성형 AI 사용 사례에 대한 프롬프트 및 모델 성능을 비교합니다.

팀은 효과적인 프롬프트를 만들 때 YAML 파일로 저장하고 GitHub 끌어오기 요청을 사용하여 검토용으로 공유할 수 있습니다. 커밋된 프롬프트는 다른 팀 및 워크플로에서 액세스할 수 있으며 회사의 표준에 맞게 유지할 수 있습니다. 신속한 관리를 위한 중앙 집중식 공동 작업 접근 방식은 개발을 가속화하고 조직 전체에서 모범 사례를 적용하는 데 도움이 될 수 있습니다.

모델 사용 비용 평가 및 최적화

AI 기반 애플리케이션의 채택이 증가하고 AI 모델이 개선됨에 따라 GitHub Models를 사용하여 다양한 모델 및 모델 업데이트의 비용과 성능을 평가할 수 있습니다. 조직의 요구 사항을 고려해서 가장 비용 효율적인 옵션을 선택하고 여러 팀으로 사용이 확장됨에 따라 비용을 관리할 필요가 있습니다.

프로그래밍 방식 관리를 위해 GitHub Models REST API 또는 확장 사용

모든 팀에서 리소스를 보다 효율적으로 관리하기 위해 GitHub Models REST API를 활용하여 다음을 수행할 수 있습니다.

  • 조직 설정 관리 및 업데이트: 일관성과 규정 준수를 보장하기 위해 프로그래밍 방식으로 여러 팀 간의 모델 액세스 권한 및 거버넌스 설정을 한 번에 업데이트합니다.
  • 프롬프트 나열 및 검색: 다른 팀에서 사용하는 프롬프트를 나열, 검색 및 감사하고, 사용량을 모니터링하고, 성공적인 프롬프트를 공유하고, 모범 사례의 중앙 리포지토리를 유지 관리합니다.
  • 모델 유추 요청 실행: 빈도 페널티, 최대 토큰, 응답 형식 및 현재 상태 페널티와 같은 특정 모델 및 매개 변수에 대한 유추 요청을 실행합니다.

이러한 확장을 사용하여 유추 요청을 실행하고 프롬프트를 관리할 수도 있습니다.

  • GitHub CLI용 GitHub Models 확장
  • GitHub Copilot 채팅용 GitHub Models 확장
  • GitHub Models VS Code 확장

모니터링, 반복 및 통합

기본 제공 거버넌스 기능을 사용하면 모델 사용량을 모니터링하고 회사 정책을 지속적으로 준수할 수 있습니다. 감사 로그는 누가 모델 및 프롬프트를 액세스하거나 수정했는지에 대한 가시성을 제공합니다. GitHub Models 리포지토리 통합을 통해 모든 이해 관계자가 AI 기반 애플리케이션에서 공동 작업을 수행하고 지속적으로 반복할 수 있습니다.

예: GitHub Models와 GitHub Actions를 사용하여 이슈 요약

대규모 소프트웨어 개발 프로젝트에는 기술 세부 정보로 가득 찬 이슈가 포함되어 있는 경우가 많습니다. GitHub Models 및 GitHub Actions를 사용하여 AI 기반 이슈 요약을 배포할 수 있습니다.

필수 구성 요소: 조직에서 GitHub Models를 사용하도록 설정하고 개별 리포지토리에서 사용할 모델 및 게시자를 설정합니다.

  1. 리포지토리에서 프롬프트 만들기

    리포지토리의 "Models" 탭에서 프롬프트 편집기를 사용하여 프롬프트를 만듭니다.

    시스템 프롬프트 예제:

    여러분은 GitHub 이슈의 요약 담당자입니다. 주요 기술 사항 또는 중요한 질문을 강조합니다.

    사용자 프롬프트 예제:

    이 이슈 요약 - {{input}}

  2. 프롬프트 실행 및 반복

    프롬프트를 실행합니다. "Variables" 창에서 몇 가지 샘플 이슈 콘텐츠를 {{input}} 값으로 제공합니다.

    다른 모델(예: OpenAI GPT-4o)을 시도하고 결과를 비교합니다. 최대 토큰 및 온도와 같은 매개 변수를 조정합니다. 결과가 만족스러울 때까지 반복합니다.

  3. 필요에 따라 더 광범위한 테스트 실행

    "Compare" 보기를 사용하면 여러 모델에 대해 프롬프트를 여러 번 동시에 실행하고 그리드 보기에서 결과가 어떻게 비교되는지 확인할 수 있습니다. 평가기를 정의하고 사용하여 결과에 특정 키워드가 포함되거나 다른 표준을 충족하는지 확인할 수도 있습니다.

  4. 프롬프트 커밋

    프롬프트의 이름을 지정하고 변경 내용을 커밋하여 끌어오기 요청 흐름을 따라 진행합니다. 예를 들어 프롬프트의 이름을 summarize로 지정하면 다음과 같은 리포지토리의 루트 수준에 summarize.prompt.yaml 파일이 생성됩니다.

    messages:
      - role: system
        content: >-
          You are a summarizer of GitHub issues. Emphasize key technical points or
          important questions.
      - role: user
        content: 'Summarize this issue, please - {{input}}'
    model: gpt-4o
    modelParameters:
      max_tokens: 4096
    

    끌어오기 요청을 검토하고 병합하면 누구나 리포지토리에서 사용할 수 있도록 프롬프트가 표시됩니다.

  5. 워크플로에서 프롬프트 호출

    워크플로를 만드는 방법에 대한 내용은 워크플로 작성을(를) 참조하세요.

    워크플로에서 프롬프트를 호출할 수 있도록 models: read 권한을 설정해야 합니다.

    다음은 AI 생성 요약을 새로 만든 이슈에 대한 댓글으로 추가하는 예제 워크플로입니다.

    YAML
    name: Summarize New Issue
    
    on:
      issues:
        types: [opened]
    
    permissions:
      issues: write
      contents: read
      models: read
    
    jobs:
      summarize_issue:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout repository
            uses: actions/checkout@v4
    
          - name: Install gh-models extension
            run: gh extension install https://github.com/github/gh-models
            env:
              GH_TOKEN: ${{ github.token }}
    
          - name: Create issue body file
            run: |
              cat > issue_body.txt << 'EOT'
              ${{ github.event.issue.body }}
              EOT
    
          - name: Summarize new issue
            run: |
              cat issue_body.txt | gh models run --file summarize.prompt.yml > summary.txt
            env:
              GH_TOKEN: ${{ github.token }}
    
          - name: Update issue with summary
            run: |
              SUMMARY=$(cat summary.txt)
              gh issue comment ${{ github.event.issue.number }} --body "### Issue Summary
              ${SUMMARY}"
            env:
              GH_TOKEN: ${{ github.token }}
    
  6. 모니터링 및 반복

    GitHub Models 프롬프트 편집기를 사용하여 작업의 성능을 모니터링하고 프롬프트 및 모델 선택을 반복할 수 있습니다. CLI 확장을 사용하여 로컬로 테스트하거나 GitHub Models REST API를 사용하여 프롬프트 및 모델 설정을 프로그래밍 방식으로 업데이트할 수도 있습니다.

    또한 시간이 지남에 따라 모델의 성능을 검토하고 반복할 수 있도록 모델 응답을 리포지토리에 파일로 저장하는 것을 고려할 수도 있습니다. 이를 통해 요약의 품질을 지속적으로 개선하고 팀의 요구 사항을 충족하도록 할 수 있습니다.