소개
GitHub Models는 GitHub에서 제공하는 AI 추론 API로, GitHub 자격 증명만으로 다양한 AI 모델을 실행할 수 있게 해줍니다. OpenAI, Meta, DeepSeek 등 다양한 모델을 선택할 수 있으며, 별도의 인증 과정 없이 스크립트, 앱 또는 GitHub Actions 내에서 바로 사용할 수 있습니다.
이 가이드는 플레이그라운드에서 모델을 빠르게 체험하는 방법을 안내한 후, API 또는 워크플로를 통해 첫 번째 모델을 실행하는 방법을 보여 줍니다.
1단계: 플레이그라운드에서 모델 사용해 보기
-
https://github.com/marketplace/models(으)로 이동합니다.
-
플레이그라운드의 드롭다운 메뉴에서 하나 이상의 모델을 선택합니다.
-
Chat을 사용해 다양한 프롬프트를 테스트하고, 서로 다른 모델 간 응답을 비교해 보세요.
-
Parameters 보기를 사용하여 테스트 중인 모델의 매개 변수를 사용자 지정한 다음, 이를 통해 응답에 어떤 영향을 주는지 확인할 수 있습니다.
참고 항목
GitHub에 로그인되어 있으면 플레이그라운드는 별도 설정 없이 바로 사용할 수 있습니다. GitHub 계정을 통해 액세스하며, 별도의 설정이나 API 키가 필요하지 않습니다.
2단계: API 호출하기
사용 가능한 필드, 헤더, 요청 형식에 대한 자세한 내용은 API reference for GitHub Models를 참조하세요.
프로그래밍 방식으로 모델을 호출하려면 다음이 필요합니다.
- GitHub 계정
- 설정에서 생성할 수 있는
models
범위가 포함된 PAT(personal access token)
-
다음
curl
명령을 실행하되,YOUR_GITHUB_PAT
를 자신의 토큰으로 바꾸어 사용하세요.Bash curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer YOUR_GITHUB_PAT" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d '{"model":"openai/gpt-4.1","messages":[{"role":"user","content":"What is the capital of France?"}]}'
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer YOUR_GITHUB_PAT" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d '{"model":"openai/gpt-4.1","messages":[{"role":"user","content":"What is the capital of France?"}]}'
-
다음과 같은 응답을 받게 됩니다.
{ "choices": [ { "message": { "role": "assistant", "content": "The capital of France is **Paris**." } } ], ...other fields omitted }
-
다른 모델을 시도하려면 JSON 페이로드의
model
필드 값을 marketplace에서 가져온 값으로 변경하세요.
3단계: GitHub Actions에서 모델 실행
-
리포지토리에서
.github/workflows/models-demo.yml
에 워크플로 파일을 만듭니다. -
방금 만든 파일에 다음 워크플로를 붙여넣습니다.
name: GitHub Models Demo on: [push] permissions: contents: read models: read jobs: summarize-repo: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Summarize the repository README run: | SUMMARY_INPUT=$(head -c 4000 README.md) PROMPT="Summarize this repository in one sentence. Here is the README:\n$SUMMARY_INPUT" PAYLOAD=$(jq -n --arg prompt "$PROMPT" '{ model: "openai/gpt-4.1", messages: [ {role: "user", content: $prompt} ] }') RESPONSE=$(curl -sL \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer $" \ -H "X-GitHub-Api-Version: 2022-11-28" \ -H "Content-Type: application/json" \ https://models.github.ai/inference/chat/completions \ -d "$PAYLOAD") echo "$RESPONSE" | jq -r '.choices[0].message.content'
참고 항목
GitHub Models를 호출하는 워크플로는 사용 권한 블록에
models: read
권한을 포함해야 합니다. GitHub 호스팅 실행기는GITHUB_TOKEN
을 자동으로 제공합니다. -
워크플로를 트리거하기 위해 커밋 및 푸시하세요.
이 예제에서는 프롬프트를 모델에 전송하고 그 응답을 CI(연속 통합) 워크플로에서 활용하는 방법을 보여 줍니다. 이슈 요약, 버그 보고서에서 재현 단계 누락 감지 또는 끌어오기 요청에 응답하는 등과 같은 고급 사용 사례는 개발 워크플로에 AI 모델 통합을(를) 참조하세요.
4단계: 첫 번째 프롬프트 파일 저장
GitHub Models는 .prompt.yml
파일에 정의된 재사용 가능한 프롬프트를 지원합니다. 이 파일을 리포지토리에 추가하면, 리포지토리의 Models 페이지에 표시되며 프롬프트 편집기 및 평가 도구에서 직접 실행할 수 있습니다. Storing prompts in GitHub repositories에 대해 자세히 알아보세요.
-
리포지토리에서
summarize.prompt.yml
이라는 이름의 파일을 만들어 보세요. 저장할 디렉터리는 자유롭게 선택할 수 있습니다. -
방금 만든 파일에 아래의 프롬프트 예제를 붙여넣으세요.
name: One-line summary description: Ask the model to summarize a paragraph in one sentence. messages: - role: user content: 'Summarize the following text in one sentence: ' model: openai/gpt-4o
-
파일을 리포지토리에 커밋하고 푸시하세요.
-
리포지토리의 Models 탭으로 이동합니다.
-
탐색 메뉴에서 Prompts를 클릭한 다음, 프롬프트 파일을 클릭하세요.
-
프롬프트 편집기에서 프롬프트가 열립니다. 실행을 클릭합니다. 오른쪽 사이드바가 나타나서 입력 텍스트를 입력하라는 메시지가 표시됩니다. 입력 텍스트를 입력한 다음, 오른쪽 하단에 있는 Run을 다시 클릭하여 테스트해 보세요.
참고 항목
프롬프트 편집기는 리포지토리 콘텐츠를 자동으로 프롬프트에 전달하지 않습니다. 입력은 직접 수동으로 입력해야 합니다.
5단계: 첫 번째 평가 설정
평가를 통해 다양한 모델이 동일한 입력에 어떻게 반응하는지 비교하여 사용 사례에 가장 적합한 모델을 선택할 수 있도록 도와줍니다.
-
이전 단계에서 만든
summarize.prompt.yml
파일로 돌아갑니다. -
다음 예와 일치하도록 파일을 업데이트하세요.
name: One-line summary description: Ask the model to summarize a paragraph in one sentence. messages: - role: user content: 'Summarize the following text in one sentence: ' model: openai/gpt-4o testData: - input: >- The museum opened a new dinosaur exhibit this weekend. Families from all over the city came to see the life-sized fossils and interactive displays. expected: >- The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. - input: >- Lucy baked cookies for the school fundraiser. She spent the entire evening in the kitchen to make sure there were enough for everyone. expected: Lucy baked cookies all evening to support the school fundraiser. evaluators: - name: Similarity uses: github/similarity
-
파일을 리포지토리에 커밋하고 푸시하세요.
-
리포지토리에서 Models 탭을 클릭합니다. 그런 다음, Prompts를 클릭하고 프롬프트 편집기에서 동일한 프롬프트를 다시 엽니다.
-
왼쪽 위 모서리에서 Edit 뷰와 Compare 뷰를 전환할 수 있습니다. 비교를 클릭합니다.
-
평가가 자동으로 설정됩니다. Run을 클릭하여 결과를 확인하세요.
팁
Add prompt를 클릭하면 동일한 프롬프트를 여러 모델에서 실행하거나, 프롬프트 문구를 변경하여 다양한 방식으로 추론 결과를 얻을 수 있고, 평가를 확인하고, 여러 결과를 나란히 비교하면서 데이터 기반의 모델 선택이 가능해 집니다.