Blog Post

Desenvolvedores BR
7 MIN READ

Use IA de Graça com GitHub Models e TypeScript! 💸💸💸

Glaucia_Lemos's avatar
Glaucia_Lemos
Icon for Microsoft rankMicrosoft
Mar 07, 2025

Quer experimentar IA de graça sem pagar por APIs ou baixar modelos pesados? Com GitHub Models, você pode testar modelos como GPT-4o e Llama 3 sem custo! Veja o passo a passo para integrar ao seu projeto TypeScript e descubra o poder da IA acessível! 🚀

A Inteligência Artificial está se tornando cada vez mais acessível para desenvolvedores. Porém, um dos maiores desafios ainda é o custo das APIs de modelos avançados, como GPT-4o e tantos outros. Felizmente, o GitHub Models veio para mudar esse cenário! Agora, você pode experimentar IA de graça, sem precisar de uma chave de API paga ou baixar modelos pesados em suas máquinas locais.

Neste artigo, vamos explicar em detalhes o que é o GitHub Models e como utilizar gratuitamente com TypeScript em um projeto prático. Escolhemos como exemplo o projeto Microblog AI Remix, um projeto open source de microblog com funcionalidades de IA.

Iremos abordar a estrutura desse projeto e demonstrar passo a passo como integrar com o GitHub Models, substituindo a necessidade de fazer uso de LLMs pagos, incluindo comparações de código antes e depois das modificações. Também veremos como configurar e executar o projeto localmente, e discutiremos as vantagens e limitações do GitHub Models para prototipagem de projetos em IA.

Pode ter certeza que, ao final deste artigo, você terá uma compreensão sólida do GitHub Models e como utilizá-lo em seus próprios projetos e começar a explorar o mundo da IA de forma acessível e gratuita.

Vamos lá!

O que é o GitHub Models?

GitHub Models é uma iniciativa do GitHub que disponibiliza uma coleção de modelos de IA prontos para uso, integrados à plataforma. Pense no GitHub Models como um Marketplace de Modelos de IA: onde os desenvolvedores podem descobrir modelos de linguagem grande (LLMs) de diferentes provedores, testar suas capacidades em um playground interativo e incorporar em suas aplicações de forma simplificada.

Há modelos de diversas origens e portes - por exemplo, o OpenAI GPT-4o, modelos Open Source como o Meta Llama 3.1, o Phi-3 da Microsoft, o Mistral Large 2, entre outros. Todos podem ser acessados gratuitamente para fins de experimentação.

Uma das grandes vantagens do GitHub Models é permitir o uso gratuito desses modelos durante a fase de prototipagem. Ou seja, você pode testar e construir um proof of concept (POC) sem custos, utilizando a infraestrutura fornecida pelo GitHub. Na prática, existem duas maneiras de interagir com os modelos:

  • Playground (interface web): nesse playground, você pode testar os modelos diretamente no navegador do GitHub. Nele, você pode fazer perguntas e obter respostas em tempo real com diferentes modelos, ajustar parâmetros (temperatura, número máximo de tokens e etc.) e até comparar lado a lado a saída de dois modelos diferentes.
  • Via API/SDK: agora, caso você necessite integrar algum modelo em um projeto, o GitHub Models também disponibiliza uma API REST e SDKs para diversas linguagens, como Python, JavaScript/TypeScript, Java, C#, e REST. Cada modelo possui um endpoint de inferência público. Você pode fazer chamadas HTTP para esses endpoints ou usar SDKs (como o SDK do Azure OpenAI ou o próprio SDK do GitHub Models) em diversas linguagens.

A autenticação é feita de forma simples com um token de acesso pessoal do GitHub (PAT), sem necessidade de chaves de API separadas. Basta gerar um PAT na sua conta do GitHub (sem escopos especiais, usando a opção Beta disponível)​, e usá-lo nas requisições. Em outras palavras, seu token do GitHub funciona como a credencial para chamar o modelo, dentro dos limites gratuitos de uso.

 

Vantagens e Limitações

Mas, tudo que é gratuito tem suas limitações, certo? Então, vamos explicar as limitações do GitHub Models.

Atualmente, há restrições de chamadas por minuto e por dia, quantidade de tokens por requisição e número de requisições simultâneas. Por exemplo, modelos de categoria low (menores) permitem algo em torno de 15 requisições por minuto e 150 por dia, enquanto modelos high (como o GPT-4o) possuem limites um pouco mais baixos por serem mais pesados​

Mas, e se curtiu o modelo e desejar colocar em produção? Bom, nesse caso, o GitHub Models sugere a migração para um endpoint pago do Azure – e o interessante é que basta trocar o token do GitHub por uma chave do Azure que o resto do código continuará funcionando, sem necessidade de alterações adicionais!

Resumindo: o GitHub Models é uma maneira prática de encontrar e experimentar modelos de IA de ponta gratuitamente​. Com ele, desenvolvedores podem incorporar funcionalidades de IA em projetos TypeScript (ou de outras linguagens) usando apenas uma conta GitHub. A seguir, conheceremos o exemplo do Microblog AI Remix e, depois, veremos na prática como usar o GitHub Models nesse projeto.

Microblog AI Remix com GitHub Models

Microblog AI Remix (ou simplesmente Microblog AI) é um projeto de exemplo que combina um aplicativo web de microblog com recursos de Inteligência Artificial. Ele foi criado para demonstrar como construir aplicações web modernas e escaláveis utilizando a stack da Microsoft Azure juntamente com técnicas de Server-Side Rendering (SSR) e IA generativa. Em alto nível, o Microblog AI permite que usuários criem e visualizem pequenos posts de blog (microblogs), contando com a ajuda de um modelo de IA avançado para gerar conteúdo a partir de sugestões do usuário.

Aproveito para pedir a testarem o projeto, dando um fork e contribuindo com melhorias. O projeto é open source e pode ser testado no GitHub Codespaces. Deixa a sua estrela ⭐️ e contribua com melhorias!

Originalmente o projeto utiliza o Azure OpenAI como provedor de IA, mas vamos substituí-lo pelo GitHub Models para proporcionar uma alternativa gratuita e acessível.

Passo a Passo para Configurar o Microblog AI

Eu gravei um vídeo mostrando o passo a passo em como migrar o projeto para o GitHub Models. O vídeo está disponível no meu canal do YouTube (em português) e você pode assisti-lo aqui:

Antes de tudo precisamos clonar o projeto e configurar as dependências. Siga os passos abaixo:

  1. Clone o repositório oficial do Microblog AI Remix:

 

git clone https://github.com/Azure-Samples/microblog-ai-remix.git
cd microblog-ai-remix

 

2. Instale as dependências do projeto:

 

npm install
cd server 
npm install

 

3. Crie um arquivo .env na raiz do projeto e adicione as seguintes variáveis de ambiente:

 

GITHUB_MODELS_ENDPOINT=https://models.inference.ai.azure.com
GITHUB_MODELS_TOKEN=SEU_TOKEN

Esse token você pode gerar na sua conta do GitHub em Settings > Developer Settings > Personal Access Tokens > Generate new token (beta).

 

4. No diretório /server, crie o arquivo local.settings.json com o seguinte conteúdo:

 

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "GITHUB_MODELS_ENDPOINT": "https://models.inference.ai.azure.com",
    "GITHUB_MODELS_TOKEN": "SEU_TOKEN"
  },
  "Host": {
    "LocalHttpPort": 7071,
    "CORS": "*",
    "CORSCredential": true
  }
}

 

5. Agora, vá até o arquivo: app/services/openaiService.ts e faça as seguintes alterações:

  • Importação do Cliente OpenAI: substitua a importação do AzureOpenAI para OpenAI:

 

import { OpenAI } from "openai";

 

  • Renomeação da Classe e Cliente: Substituição da importação do AzureOpenAIService foi renomeada para GitHubModelsService. E, a instância do cliente AzureOpenAI foi renomeada para OpenAI. Adição de um modelName padrão (gpt-4o) para ser usado nas requisições de criação de completions. Porém aqui poderia ser quaisquer outro modelName de sua escolha, como o Llama 3.1 ou o Mistral 7B.

 

class GitHubModelsService {
  private client: OpenAI;
  private readonly toneGuidelines: ToneGuidelines;
  private readonly modelName: string = "gpt-4o";

(...)

 

  • Configuração do Cliente: As variáveis de ambiente específicas do Azure (AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, etc.) foram substituídas por variáveis de ambiente do GitHub (GITHUB_TOKEN e GITHUB_MODELS_ENDPOINT).

 

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

 

  • Exportação da Instância da Classe: A instância exportada da classe foi renomeada de azureOpenAIService para GitHubModelsService.

 

export const azureOpenAIService = new GitHubModelsService();

 

E pronto! Agora você já pode executar o projeto localmente e testar as funcionalidades de IA com o GitHub Models. Se desejar saber mais detalhes do que foi alterado deixei disponível uma branch chamada feat/github-models-usage com todas as alterações feitas. Você pode comparar com a branch main para ver o que foi modificado.

6. Por fim, para executar o projeto, basta rodar o seguinte comando na raiz do projeto:

 

npm run build:all
npm run dev

Agora, você pode acessar a aplicação na URL: http://localhost:5173/ e começar a criar seus microblogs com a ajuda do GitHub Models!

 

Conclusão

GitHub Models é uma excelente alternativa para quem quer experimentar IA sem custos. Ele permite testar modelos avançados como GPT-4o sem precisar pagar por APIs ou configurar infraestrutura complexa. No caso do Microblog AI Remix, conseguimos substituir a API paga do Azure OpenAI pelo GitHub Models com mínimas alterações no código, tornando a aplicação acessível para qualquer desenvolvedor.

Claro que, novamente, caso você queira colocar em produção, o GitHub Models sugere a migração para um endpoint pago do Azure. Mas, para fins de prototipagem e aprendizado, ele é uma ferramenta poderosa e gratuita.

Se você gostou deste artigo, não esqueça de testar o Microblog AI Remix e dar uma ⭐ no repositório! Queremos saber sua opinião sobre essa abordagem e como você pretende utilizar IA nos seus projetos.

Agora é sua vez: clone o repositório, teste as mudanças e explore o GitHub Models gratuitamente. Bora codar com IA sem gastar nada! 💸💸💸

Updated Mar 07, 2025
Version 1.0
No CommentsBe the first to comment