본문 바로가기
github

GitHub Models, 토큰 하나로 GPT-4o·Llama·Mistral 다 쓸 수 있다

by bamsik 2026. 4. 2.
반응형

혹시 GitHub에서 LLM API 바로 호출할 수 있다는 거 알고 있었나? GitHub Models라는 기능인데, OpenAI API 키 없어도 GitHub 토큰만 있으면 GPT-4o, Claude, Llama 같은 모델을 바로 쓸 수 있다. 작년에 나왔는데 생각보다 모르는 사람이 많더라.

GitHub Models가 뭔지 한 줄로

GitHub이 Marketplace에 AI 모델들을 등록해두고, 개발자가 GitHub 개인 토큰(PAT)으로 인증해서 API를 호출할 수 있게 한 서비스다. 엔드포인트는 https://models.inference.ai.azure.com이고, OpenAI 호환 API 형식을 쓴다.

무료 플랜에서도 rate limit 안에서 사용 가능하고, GitHub Copilot 구독자는 더 높은 한도를 쓸 수 있다. 프로토타입 만들거나 내부 툴 만들 때 API 키 따로 관리할 필요 없이 GitHub 토큰 하나로 쓸 수 있다는 게 편하다.

실제로 어떻게 쓰나

Python으로 호출하는 기본 형태는 이렇다:

from openai import OpenAI

client = OpenAI(
    base_url="https://models.inference.ai.azure.com",
    api_key="GITHUB_TOKEN",  # 환경변수로 주입
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "코드 리뷰해줘"}],
)

print(response.choices[0].message.content)

OpenAI SDK 그대로 쓰는 거라 기존에 OpenAI 코드 있으면 base_url이랑 api_key만 바꾸면 된다. 이게 제일 편한 부분이다.

JavaScript도 비슷하다:

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://models.inference.ai.azure.com",
  apiKey: process.env.GITHUB_TOKEN,
});

const response = await client.chat.completions.create({
  model: "meta-llama-3.1-70b-instruct",
  messages: [{ role: "user", content: "안녕" }],
});

모델 이름을 바꾸는 것만으로 GPT-4o에서 Llama로, Claude Haiku로 전환할 수 있다. 멀티 모델 비교 테스트할 때 특히 편하다.

어떤 모델 쓸 수 있나

2026년 현재 GitHub Models에서 쓸 수 있는 주요 모델들:

  • OpenAI: GPT-4o, GPT-4o mini, o1 시리즈
  • Meta: Llama 3.1 8B / 70B / 405B Instruct
  • Microsoft: Phi-3 시리즈
  • Mistral: Mistral Large, Nemo
  • AI21: Jamba Instruct

Claude는 현재 직접 지원하지 않는다. Anthropic이 별도 파트너십이 있어서인지는 모르겠는데, GitHub Models에는 없다. 그 점은 좀 아쉽다.

GitHub Actions에서도 쓸 수 있다

CI 파이프라인에서 LLM 호출이 필요한 경우에 외부 API 키 없이 GITHUB_TOKEN으로 해결할 수 있다는 게 실용적이다. PR이 올라오면 자동으로 요약을 붙이거나, 특정 파일 변경 시 관련 문서를 자동 업데이트하는 식의 워크플로우를 만들 수 있다.

# .github/workflows/pr-summary.yml
- name: Generate PR Summary
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  run: python3 scripts/pr_summary.py

GITHUB_TOKEN은 액션에서 자동으로 주입되니까 별도 시크릿 설정도 필요 없다. 이 부분이 외부 API 쓸 때와 확실히 다르다.

솔직히 아쉬운 점

무료 tier rate limit이 생각보다 빡빡하다. 프로토타입이나 가벼운 내부 툴이라면 문제없는데, 트래픽이 좀 있는 서비스에서 쓰기엔 금방 한도에 걸린다. 그 이상이 필요하면 결국 직접 API 키를 쓰는 게 낫다.

그리고 가용 모델 목록이 Azure OpenAI Service 기반이라 직접 OpenAI API나 Anthropic API에서 지원하는 최신 기능을 즉시 쓰기 어려울 수 있다. 신규 모델 지원 타이밍이 조금 느린 편이다.

쓸 만한 상황 정리

팀 내부 도구 빠르게 만들 때, API 키 관리 신경 쓰기 싫을 때, GitHub Actions에서 LLM 호출이 필요할 때는 진짜 편하다. 반대로 프로덕션에서 안정적인 고가용성이 필요하거나, rate limit 넘어서 쓸 상황이면 직접 API를 쓰는 게 맞다.

GitHub 토큰 하나로 멀티 모델 돌려볼 수 있다는 건 꽤 실용적인 기능이다. 아직 모르는 사람이 많은 것 같아서 한 번쯤 써보면 좋을 것 같다.


📎 참고 자료

반응형