Skip to content
This page has been auto-translated and may contain errors.View in English

Executando projetos de modelos open-source localmente

Use esta página para executar qualquer um dos projetos de modelos open-source extraído. Um carrega um modelo Transformers.js no seu navegador; o outro executa um servidor Express que chama o Ollama no seu computador. Identifique qual projeto você tem e siga apenas a configuração dele.

O que você precisa primeiro

Instale uma versão LTS compatível do Node.js. Node 24 é recomendado e inclui npm. Se Node e npm são novidade para você, Running the code locally mostra como instalar e verificar ambos.

O projeto Transformers.js precisa de um navegador atual, uma conexão com a internet para seu primeiro download de biblioteca e modelo, e espaço de armazenamento e memória do navegador suficientes para o modelo. Ele não precisa de uma chave de API.

O projeto Ollama também precisa do Ollama, espaço em disco e memória suficientes para o modelo mistral, e seu serviço Ollama local em execução. Ele não precisa de uma conta de provedor ou chave de API.

JunoO que você precisa primeiro Instale Node.js LTS primeiro, depois escolha a configuração do seu projeto: um navegador atual e uma conexão com a internet para Transformers.js, ou o app Ollama com seu serviço deixado executando para a aula do Ollama.

Nenhuma configuração precisa de uma chave de API, então não há chave para criar aqui.

JunoO que você precisa primeiro Ambos os projetos executam o modelo no seu próprio hardware, então não há chave de provedor para configurar. Transformers.js baixa o modelo na aba do navegador; a aula do Ollama precisa do serviço Ollama separado instalado e executando antes de seu servidor conseguir alcançá-lo.

Instale Node LTS de qualquer forma, porque npm impulsiona ambas as configurações.

JunoO que você precisa primeiro Duas formas de computar localmente significam dois orçamentos de recursos. A configuração do navegador depende de arquivos de biblioteca e modelo remotos mais cache, armazenamento e memória do navegador; a configuração do Ollama precisa do serviço nativo, pesos de modelo baixados e memória livre e capacidade de processador suficientes para inferência.

Verifique se sua máquina consegue guardar o modelo antes de começar.

Identifique o projeto que você extraiu

Abra um terminal na pasta extraída contendo package.json:

bash
$ cd path-to-your-downloaded-project

Se o nome da pasta não disser qual aula você extraiu, abra index.js. Uma importação express significa a aula do Ollama, que precisa do reparo de pacote abaixo. Uma importação de @xenova/transformers do jsDelivr significa o app do navegador, que executa sem mudanças.

JunoIdentifique o projeto que você extraiu Abra seu terminal na pasta que contém package.json e verifique onde você está antes de executar qualquer coisa.

Depois olhe para o topo de index.js: express o leva à seção do Ollama, Transformers.js o leva à seção do navegador.

JunoIdentifique o projeto que você extraiu Os dois downloads parecem iguais por fora, mas funcionam de forma diferente: o projeto de modelo do navegador começa com Vite, enquanto o projeto do Ollama é um servidor Node que também precisa do serviço Ollama separado.

Escolha a seção que corresponde à sua e siga apenas aquela, porque as etapas de configuração não se misturam.

JunoIdentifique o projeto que você extraiu Identifique o projeto por suas importações, não pelo nome da pasta. Ambos os ZIPs enviam um package.json em forma de Vite, então apenas index.js os diferencia.

Aplicar o reparo do Ollama ao projeto do navegador substituiria um script de início do Vite funcionando por um Node que não consegue servir a página.

Execute o projeto Transformers.js

Use estas instruções para AI Models In The Browser With Transformers.js. Este projeto precisa de Node e npm para o Vite.

Instale e inicie-o:

bash
$ npm install
$ npm start

Abra a URL Local que o Vite imprime, geralmente http://localhost:5173/. A página primeiro importa Transformers.js do jsDelivr e depois baixa o modelo de detecção de objetos Xenova/yolos-tiny. Aguarde até que seu status mude de Loading model... para Ready antes de selecionar Detect Objects; o botão fica desabilitado até então.

O primeiro carregamento precisa de uma conexão com a internet e pode levar mais tempo que uma página frontend comum. O cache do navegador pode tornar carregamentos posteriores mais rápidos. Se o status nunca chegar a Ready, abra a aba DevTools Network: uma solicitação jsDelivr bloqueada aponta para um problema de CDN ou bloqueador de conteúdo, enquanto um arquivo de modelo crescendo lentamente significa que o download de pesos ainda está em andamento. Pare o Vite com Ctrl+C.

Nenhuma credencial de provedor é necessária

O modelo executa no seu navegador em vez de através de uma API de inferência hospedada. Não há arquivo .env ou chave de API para configurar para esta aula.

JunoExecute o projeto Transformers.js Execute npm install, depois npm start, abra a URL Local e aguarde o status ler Ready antes de selecionar qualquer coisa.

O primeiro download de modelo é o lento. Se Ready nunca chegar, verifique a aba Network no DevTools.

JunoExecute o projeto Transformers.js Três coisas carregam em ordem: o Vite serve a página, jsDelivr fornece a biblioteca e os pesos do modelo baixam para o navegador executar lá.

Esse primeiro carregamento é limitado pela sua velocidade de download, então um status lento geralmente significa um download ainda em andamento em vez de um bug.

JunoExecute o projeto Transformers.js A página pode abrir antes do modelo estar pronto, porque index.js aguarda o pipeline no nível superior antes de ativar o botão.

Quando Ready nunca chega, a aba Network nomeia a solicitação com falha: uma solicitação jsDelivr bloqueada aponta para um CDN ou bloqueador de conteúdo, um arquivo de modelo crescendo lentamente aponta para um download de pesos lento.

Repare e execute o projeto Ollama

Use estas instruções para Download and Run AI Models on Your Computer with Ollama. O ZIP exportado contém o código Node da aula, mas seu package.json gerado ainda descreve um projeto Vite. Ele não consegue executar localmente sem um pequeno reparo de pacote.

Depois de instalar o Ollama, verifique se seu serviço local está em execução. Baixe o modelo nomeado pelo código da aula:

bash
$ ollama pull mistral
$ ollama ls

O segundo comando deve listar mistral. Dependendo do seu sistema operacional, abrir o aplicativo Ollama inicia o serviço automaticamente. Se não o fizer, execute ollama serve em um terminal separado e deixe executando.

No projeto extraído, adicione "type": "module" como uma propriedade de nível superior de package.json, um irmão de "scripts":

json
{
  "type": "module",
  "scripts": {
    "start": "vite"
  }
}

Depois altere o script de início de:

json
"start": "vite"

para:

json
"start": "node index.js"

Instale as duas dependências importadas por index.js:

bash
$ npm install express ollama
$ npm start

O servidor imprime:

text
Server is running on port 3000

Teste a rota sem invocar um modelo:

text
http://localhost:3000/

Ela deve pedir que você forneça um parâmetro question. Depois tente uma solicitação de modelo local real:

text
http://localhost:3000/?question=Why%20is%20the%20sky%20blue%3F

O servidor Express aguarda enquanto o Ollama carrega o modelo e gera sua resposta. A primeira resposta pode ser notavelmente mais lenta. Pare o Express com Ctrl+C. Pare um processo ollama serve iniciado separadamente com Ctrl+C quando você não precisar mais dele.

Nenhuma chave de API de provedor ou arquivo .env é necessário. Os pesos do modelo e a inferência permanecem na máquina executando o Ollama.

JunoRepare e execute o projeto Ollama Baixe o modelo mistral e mantenha o Ollama executando, depois corrija package.json: adicione o tipo de módulo e aponte o script de início para node index.js.

Instale express e ollama, inicie o servidor e faça uma pergunta a ele na porta 3000. Uma primeira resposta lenta significa que o modelo está carregando, não que algo quebrou.

JunoRepare e execute o projeto Ollama Dois processos cooperam aqui: Ollama serve o modelo e Express expõe a rota da aula. Os metadados de pacote do ZIP foram escritos para um projeto Vite, então o reparo o aponta para o ponto de entrada Node e instala os dois pacotes importados.

Se uma solicitação travar, verifique qual dos dois processos parou.

JunoRepare e execute o projeto Ollama A exportação descreve o tipo errado de app, então ambas as edições de pacote são necessárias: o tipo de módulo permite que Node carregue as importações ESM, e o script de início executa index.js em vez do Vite.

Mesmo após o reparo, o Express só responde se o Ollama executar separadamente com mistral já baixado; o servidor nunca inicia o serviço de modelo para você.

Solução de problemas

A página Transformers.js fica em Loading model...: Verifique o console do navegador e a aba DevTools Network. Bloqueadores de conteúdo ou uma rede restrita podem bloquear jsDelivr ou o download do modelo. Tente um navegador atual com armazenamento e memória livres suficientes.

O projeto Ollama diz Cannot find package 'express' ou 'ollama': Execute npm install express ollama na pasta contendo package.json.

Node diz Cannot use import statement outside a module: Adicione "type": "module" a package.json.

npm start inicia o Vite ou reclama de um index.html faltando: Altere o script de início para node index.js. A aula do Ollama é um servidor Node, não uma página Vite.

A rota não consegue se conectar ao Ollama: Confirme que o aplicativo Ollama ou ollama serve está executando, depois use ollama ls para confirmar que o modelo mistral está instalado.

A porta 3000 já está em uso: Pare o outro processo ou altere a constante port em index.js, reinicie o Express e abra a URL correspondente.

JunoSolução de problemas Combine o conserto ao projeto: para Transformers.js, olhe para a aba Network e Console do navegador; para Ollama, verifique o reparo de pacote, o modelo instalado, o serviço em execução e a porta.

A maioria dos erros aqui vem de um passo perdido.

JunoSolução de problemas Descubra qual runtime falhou antes de mudar qualquer coisa: Vite e ativos do navegador pertencem ao projeto Transformers.js, enquanto Node, Express e o serviço Ollama pertencem ao outro.

Um conserto aplicado ao projeto errado geralmente cria novos erros.

JunoSolução de problemas Para Transformers.js, a falha está em downloads ou memória do navegador. Para Ollama, verifique a cadeia em ordem: Node aceita a sintaxe de módulo, Express aguarda a porta 3000, o serviço está executando e mistral aparece em ollama ls.

Um sintoma posterior é frequentemente a mesma falha anterior de uma forma diferente.