Introdução
O GitHub Models é uma API de inferência de IA do GitHub que permite executar modelos de IA usando apenas suas credenciais do GitHub. Você pode escolher entre vários modelos diferentes – incluindo OpenAI, Meta e DeepSeek – e usá-los em scripts, aplicativos ou até mesmo GitHub Actions, sem nenhum processo de autenticação separado.
Este guia ajuda você a experimentar os modelos rapidamente no playground e mostra como executar seu primeiro modelo usando uma API ou um fluxo de trabalho.
Etapa 1: experimentar modelos no playground
-
No playground, selecione pelo menos um modelo no menu suspenso.
-
Teste prompts diferentes usando a exibição de Chat e compare respostas de modelos diferentes.
-
Use a exibição Parameters para personalizar os parâmetros dos modelos que está testando e, em seguida, veja como eles afetam as respostas.
Observação
O playground é fornecido pronto para uso se você está conectado ao GitHub. Ele usa sua conta do GitHub para o acesso – não são necessárias configurações nem chaves de API.
Etapa 2: fazer uma chamada à API
Para obter detalhes sobre os campos, cabeçalhos e formatos de solicitação disponíveis, consulte a referência da API para GitHub Models.
Para chamar modelos programaticamente, você precisará de:
- Uma conta do GitHub.
- Um personal access token (PAT) com o escopo
models
, que você pode criar nas configurações.
-
Execute o seguinte comando
curl
, substituindoYOUR_GITHUB_PAT
pelo seu token.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?"}]}'
-
Você receberá uma resposta como esta:
{ "choices": [ { "message": { "role": "assistant", "content": "The capital of France is **Paris**." } } ], ...other fields omitted }
-
Para experimentar outros modelos, altere o valor do campo
model
no conteúdo JSON para um do marketplace.
Etapa 3: executar modelos no GitHub Actions
-
Em seu repositório, crie um arquivo de fluxo de trabalho em
.github/workflows/models-demo.yml
. -
Cole o fluxo de trabalho a seguir no arquivo que você criou.
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'
Observação
Fluxos de trabalho que chamam GitHub Models devem incluir
models: read
no bloco de permissões. Executores hospedados no GitHub fornecem umGITHUB_TOKEN
automaticamente. -
Confirme e efetue push para disparar o fluxo de trabalho.
Este exemplo mostra como enviar um prompt a um modelo e usar a resposta em seus fluxos de trabalho de CI (integração contínua). Para casos de uso mais avançados, como resumir issues, detectar etapas de reprodução ausentes para relatórios de bugs ou responder a pull requests, consulte Como integrar modelos de IA ao fluxo de trabalho de desenvolvimento.
Etapa 4: salvar o primeiro arquivo de prompt
O GitHub Models dá suporte a prompts reutilizáveis definidos em arquivos .prompt.yml
. Após você adicionar esse arquivo ao repositório, ele aparecerá na página Models do repositório e poderá ser executado diretamente no Editor de Prompt e nas ferramentas de avaliação. Saiba mais sobre Storing prompts in GitHub repositories.
-
No repositório, crie um arquivo chamado
summarize.prompt.yml
. Você pode salvá-lo em qualquer diretório. -
Cole o prompt de exemplo a seguir no arquivo que você criou.
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
-
Confirme e efetue push do arquivo para o repositório.
-
Vá para a guia Models no repositório.
-
No menu de navegação, clique em Prompts e clique no arquivo de prompt.
-
O prompt será aberto no editor de prompt. Clique em Executar. Será exibida uma barra lateral direita solicitando que você insira o texto de entrada. Insira qualquer texto de entrada e clique em Run novamente no canto inferior direito para testá-lo.
Observação
O editor de prompt não passa automaticamente o conteúdo do repositório para prompts. Você fornece a entrada manualmente.
Etapa 5: configurar sua primeira avaliação
As avaliações ajudam a medir como modelos diferentes respondem às mesmas entradas para que você possa escolher o melhor para seu caso de uso.
-
Volte ao arquivo
summarize.prompt.yml
que você criou na etapa anterior. -
Atualize o arquivo para que ele corresponda ao exemplo a seguir.
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
-
Confirme e efetue push do arquivo para o repositório.
-
Em seu repositório. clique na guia Models. Em seguida, clique em Prompts e reabra o mesmo prompt no editor de prompts.
-
No canto superior esquerdo, você pode alternar a exibição de Edit para Compare. Clique em Comparar.
-
Sua avaliação será configurada automaticamente. Clique em Run para ver os resultados.
Dica
Clicando em Add prompt, você pode executar o mesmo prompt com modelos diferentes ou alterar o texto do prompt para obter respostas de inferência com diversas variações ao mesmo tempo, ver avaliações e exibi-las lado a lado para tomar decisões de modelo controladas por dados.