GitHub Models | Valchan

GitHub Models

Recebi o acesso à versão beta pública e limitada do GitHub Models

Octocat

Introdução

O GitHub Models é a nova plataforma que permite que devs treinem, testem e implantem os modelos de IA diretamente no GitHub. A plataforma foi projetada para ser fácil de usar e acessível a todas as pessoas desenvolvedoras, independentemente de sua experiência em IA.

Modelos disponíveis no GitHub Marketplace e Playground

O playground está em beta público limitado e sujeito a alterações.

O GitHub Marketplace: Models fornece um playground gratuito onde você pode ajustar os parâmetros do modelo e enviar prompts para ver como o modelo responde.

Passo a passo:

  • Dentro do GitHub Marketplace
  • Clique em “Models” no menu lateral
  • Selecione um modelo
  • Acesse o Playground, botão superior direito

Na imagem: Verificando modelo Meta-Llama-3-8B-Instruct

Github Models: Verificando modelo Meta-Llama-3-8B-Instruct

Na imagem: Utilizando o playground do modelo Meta-Llama-3-8B-Instruct

Github Models: Utilizando o playground do modelo Meta-Llama-3-8B-Instruct

  • Para ajustar os parâmetros do modelo, selecione a guia “Parameters” disponível no lado direito.
  • Para ver o código que corresponde aos parâmetros selecionados, alterne da guia “Chat” para a guia “Code”. Exemplo de código:
/*
Run this model in Javascript

> npm install @azure-rest/ai-inference @azure/core-auth @azure/core-sse
*/
import ModelClient from "@azure-rest/ai-inference";
import { AzureKeyCredential } from "@azure/core-auth";

// To authenticate with the model you will need to generate a personal access token (PAT) in your GitHub settings. 
// Create your PAT token by following instructions here: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens
const token = process.env["GITHUB_TOKEN"];

export async function main() {
    const client = new ModelClient(
        "https://models.inference.ai.azure.com",
        new AzureKeyCredential(token)
    );

    const response = await client.path("/chat/completions").post({
        body: {
            messages: [
                { role: "user", content: "Can you explain the basics of machine learning?" }
            ],
            model: "Meta-Llama-3-8B-Instruct",
            temperature: 0.8,
            max_tokens: 4096,
            top_p: 0.1
        }
    });

    if (response.status !== "200") {
        throw response.body.error;
    }
    console.log(response.body.choices[0].message.content);
}

main().catch((err) => {
    console.error("The sample encountered an error:", err);
});

Chamada de modelos via GitHub Codespace

Os modelos de IA disponíveis no GitHub podem ser chamados diretamente do Codespace.

  • Clique em “Get started”
  • Você verá o passo a passo para configurar e executar o modelo via código ou você pode clicar em “Run in Codespace” para executar o modelo diretamente no Codespace.

Na imagem: Executando modelo via Codespace

Github Models: Codespace

Uso de modelos via GitHub CLI

Também é possível chamar modelos de IA diretamente do GitHub CLI. Exemplos:

# gh models run <model-id> <prompt>
gh models run phi-3-mini-4k-instruct "Create 5 questions to help me understand the basics of machine learning"

# Combinando com outros comandos:
git log -n 10 | gh models run phi-3-mini-4k-instruct "Summarize this commit history. Use max 1 line per commit"

Na imagem: comando executado

Github Models: Comandos combinados

A imagem foi retirada do vídeo de demonstração do GitHub Models: GitHub Models DEMO | AI models for developers on GitHub

Rate limit

O playground e o uso gratuito da API possuem rate limit (limite de requisições) por minuto, por dia, por tokens e por requisições simultâneas. Se você chegar ao limite, precisará aguardar ele atualizar antes de fazer novas requisições.

Os modelos Low, High e Embedding possuem limites diferentes. Para ver qual tipo de modelo você está usando, consulte as informações do modelo no GitHub Marketplace.

Além disso, por estar em beta público limitado, esses limites estão sujeitos a alterações sem aviso prévio.

Fontes:

Comentários