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_PATpelo 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 modelno 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. YAML name: Use GitHub Models on: [push] permissions: models: read jobs: call-model: runs-on: ubuntu-latest steps: - name: Call AI model env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | curl "https://models.github.ai/inference/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -d '{ "messages": [ { "role": "user", "content": "Explain the concept of recursion." } ], "model": "openai/gpt-4o" }'name: Use GitHub Models on: [push] permissions: models: read jobs: call-model: runs-on: ubuntu-latest steps: - name: Call AI model env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | curl "https://models.github.ai/inference/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -d '{ "messages": [ { "role": "user", "content": "Explain the concept of recursion." } ], "model": "openai/gpt-4o" }'Observação Fluxos de trabalho que chamam GitHub Models devem incluir models: readno bloco de permissões. Executores hospedados no GitHub fornecem umGITHUB_TOKENautomaticamente.
- 
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 Como armazenar prompts em repositórios do GitHub.
- 
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. YAML name: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text>name: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text>
- 
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.ymlque você criou na etapa anterior.
- 
Atualize o arquivo para que ele corresponda ao exemplo a seguir. YAML name: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text> testData: - input: | The quick brown fox jumped over the lazy dog. The dog was too tired to react. expected: Summary - A fox jumped over a lazy, unresponsive dog. - 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: Summary - The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. evaluators: - name: Output should start with 'Summary -' string: startsWith: 'Summary -' - name: Similarity uses: github/similarityname: Text Summarizer description: Summarizes input text concisely model: openai/gpt-4o-mini modelParameters: temperature: 0.5 messages: - role: system content: You are a text summarizer. Your only job is to summarize text given to you. - role: user content: | Summarize the given text, beginning with "Summary -": <text> {{input}} </text> testData: - input: | The quick brown fox jumped over the lazy dog. The dog was too tired to react. expected: Summary - A fox jumped over a lazy, unresponsive dog. - 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: Summary - The museum's new dinosaur exhibit attracted many families with its fossils and interactive displays. evaluators: - name: Output should start with 'Summary -' string: startsWith: 'Summary -' - 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.