Experimentando o QWEN3 Coder Flash usando o LM Studio e o Open Webui e o LLM

Experimentando o QWEN3 Coder Flash usando o LM Studio e o Open Webui e o LLM


Experimentando o QWEN3 Coder Flash usando o LM Studio e o Open Webui e o LLM

31 de julho de 2025

A QWEN acaba de lançar seu sexto modelo (!) De julho, chamado QWEN3-CODER-30B-A3B-INSTRUCT-listado como QWEN3-CODER-FLASH em sua interface Chat.qwen.ai.

São 30,5b parâmetros totais com 3,3b ativos a qualquer momento. Isso significa que ele se encaixará em um Mac de 64 GB – e até um Mac de 32 GB se você quantizá -lo – e pode ser executado realmente rápido graças a esse conjunto menor de parâmetros ativos.

É um modelo sem pensamento que é especialmente treinado para tarefas de codificação.

Esta é uma combinação emocionante de propriedades: otimizada para o desempenho e velocidade de codificação e pequena o suficiente para ser executado em um laptop de desenvolvedor de nível intermediário.

Experimentando com o LM Studio e o Open Webui

Gosto de executar modelos como esse usando a estrutura MLX da Apple. Eu corri o Air GLM-4.5 outro dia usando a biblioteca MLX-LM Python diretamente, mas desta vez decidi experimentar a combinação do LM Studio e do Open Webui.

(O LM Studio tem uma interface decente incorporada, mas eu gosto do Open Webui um um pouco mais.)

Instalei o modelo clicando no botão “Use Model in LM Studio” na página QWEN/QWEN3-CODER-30B do LM Studio. Isso me deu várias opções:

Captura de tela de um menu de download de modelo para "QWEN/QWEN3-CODER-30B," Um modelo de codificação de 30b MOE da Alibaba Qwen usando o mecanismo MLX-LLM. A seção "Baixar opções" Mostra opções diferentes com tamanhos de arquivo. As opções incluem: GGUF QWEN3 codificador 30B A3B Instruct Q3_K_L (14,58 GB), Q4_K_M (18,63 GB), Q6_K (25,10 GB), Q8_0 (32,48 GB). As versões MLX também estão disponíveis: 4bits (17,19 GB, selecionadas), 6 bits (24,82 GB, marcadas como baixadas), 8 bits (32,46 GB).

Eu escolhi o modelo MLX de 6 bits, que é um download de 24,82 GB. Outras opções incluem 4bit (17,19 GB) e 8 bits (32,46 GB). Os tamanhos de download são aproximadamente os mesmos que a quantidade de RAM necessária para executar o modelo – escolhendo que 24 GB deixa 40 GB livre na minha máquina de 64 GB para outras aplicações.

Então eu abri as configurações do desenvolvedor no LM Studio (o ícone da pasta verde) e liguei “Ativar cors” para que eu pudesse acessá -lo a partir de uma instância aberta WebUI aberta.

Captura de tela do aplicativo LM Studio mostra as configurações de tempo de execução. O status é "Correndo" com um interruptor de alternância ativado. Um suspensão de configurações está aberto com opções, incluindo: "Porta do servidor 1234"Assim, "Ativar cors" (habilitado), "Servir na rede local" (desabilitado)

Agora eu mudei para abrir o webui. Eu instalei e o executei usando UV assim:

uvx --python 3.11 open-webui serve

Então navegou para http://localhost:8080/ Para acessar a interface. Abri as configurações deles e configurei uma nova “conexão” ao LM Studio:

Captura de tela das configurações abertas da Webui mostrando a janela Editar conexão. O URL está definido como http: // localhost: 1234/v1 e o prefixo ID está definido como LM.

Que precisa de um URL base de http://localhost:1234/v1 E uma chave de tudo o que você quiser. Eu também defino o prefixo opcional para lm Apenas caso minha instalação do Ollama – que a webui aberta detecte automaticamente – vá com qualquer nome de modelo duplicado.

Depois de fazer tudo isso, eu poderia selecionar qualquer um dos meus modelos de estúdio LM na interface Open Webui e começar a executar os prompts.

Um recurso interessante do Open Webui é que ele inclui um painel de visualização automática, que inicia blocos de código cercados que incluem SVG ou HTML:

Experimentando o QWEN3 Coder Flash usando o LM Studio e o Open Webui e o LLM

Aqui está a transcrição exportada para “gerar um SVG de um pelicano andando de bicicleta”. Ele correu em quase 60 tokens por segundo!

Implementando invasores de espaço

Eu tentei meu outro prompt de benchmark simples recente também:

Write an HTML and JavaScript page implementing space invaders

Eu gosto deste, porque é um aviso muito curto que atua como abreviação de um conjunto bastante complexo de recursos. Provavelmente, há muito material nos dados de treinamento para ajudar o modelo a atingir esse objetivo, mas ainda é interessante ver se eles conseguem cuspir algo que funciona pela primeira vez.

A primeira versão que me deu trabalhou fora da caixa, mas foi um pouco difícil demais – as balas inimigas se movem tão rápido que é quase impossível evitá -las:

Você pode tentar isso aqui.

Eu tentei um prompt de acompanhamento de “tornar as balas inimigas um pouco mais lentamente”. Um sistema como artefatos Claude ou Claude Code implementa a ferramenta que exige modificar arquivos no local, mas o sistema Webui aberto que eu estava usando não tinha um equivalente padrão, o que significa que o modelo teve que gerar o arquivo completo pela segunda vez.

Fiz isso e desacelerou as balas, mas também fez várias outras mudanças, mostradas nesse diferencial. Não estou muito surpreso com isso – arcar com um modelo local de 25 GB para gerar um arquivo longo com apenas uma alteração é um alongamento.

Aqui está a transcrição exportada para esses dois avisos.

Executando modelos de estúdio LM com MLX-LM

LM Studio armazena seus modelos no ~/.cache/lm-studio/models diretório. Isso significa que você pode usar a biblioteca MLX-LM Python para executar instruções através do mesmo modelo como este:

uv run --isolated --with mlx-lm mlx_lm.generate \
  --model ~/.cache/lm-studio/models/lmstudio-community/Qwen3-Coder-30B-A3B-Instruct-MLX-6bit \
  --prompt "Write an HTML and JavaScript page implementing space invaders" \
  -m 8192 --top-k 20 --top-p 0.8 --temp 0.7

Esteja ciente de que isso carregará uma cópia duplicada do modelo na memória, para que você queira sair do LM Studio antes de executar este comando!

Acessando o modelo através da minha ferramenta LLM

Meu projeto LLM fornece uma ferramenta de linha de comando e biblioteca Python para acessar grandes modelos de idiomas.

Como o LM Studio oferece uma API compatível com o OpenAI, você pode configurar o LLM para acessar modelos por meio dessa API criando ou editando o ~/Library/Application\ Support/io.datasette.llm/extra-openai-models.yaml arquivo:

zed ~/Library/Application\ Support/io.datasette.llm/extra-openai-models.yaml

Eu adicionei a seguinte configuração YAML:

- model_id: qwen3-coder-30b
  model_name: qwen/qwen3-coder-30b
  api_base: http://localhost:1234/v1
  supports_tools: true

Desde que o LM Studio esteja em execução, posso executar instruções do meu terminal assim:

llm -m qwen3-coder-30b 'A joke about a pelican and a cheesecake'

Por que o pelicano se recusou a comer o cheesecake?

Porque tinha um bico para a sobremesa! 🥧🦜

(Ou se você preferir: porque tinha medo de conseguir bico-Sticre de toda aquela bondade cremosa!)

(25 GB claramente não é espaço suficiente para um senso de humor funcional.)

Mais interessante, porém, podemos começar a exercitar o suporte do modelo QWEN para chamadas de ferramentas:

llm -m qwen3-coder-30b \
  -T llm_version -T llm_time --td \
  'tell the time then show the version'

Aqui estamos permitindo que as duas ferramentas padrão da LLM – uma por contar o tempo e outra para ver a versão do LLM que está atualmente instalada. O --td bandeira significa --tools-debug.

A saída se parece com esta, a saída de depuração incluiu:

Tool call: llm_time({})
  {
    "utc_time": "2025-07-31 19:20:29 UTC",
    "utc_time_iso": "2025-07-31T19:20:29.498635+00:00",
    "local_timezone": "PDT",
    "local_time": "2025-07-31 12:20:29",
    "timezone_offset": "UTC-7:00",
    "is_dst": true
  }

Tool call: llm_version({})
  0.26

The current time is:
- Local Time (PDT): 2025-07-31 12:20:29
- UTC Time: 2025-07-31 19:20:29

The installed version of the LLM is 0.26.

Muito bom! Ele conseguiu duas chamadas de ferramentas de um único prompt.

Infelizmente, eu não conseguia fazer isso funcionar com alguns dos meus plugins mais complexos, como o LLM-Tools-Sqlite. Estou tentando descobrir se esse é um bug no modelo, a camada de estúdio LM ou meu próprio código para executar prompts de ferramentas contra pontos de extremidade compatíveis com o OpenAI.

O mês de Qwen

Julho foi absolutamente o mês de Qwen. Os modelos que eles lançaram este mês são excelentes, empacotando alguns recursos extremamente úteis, mesmo em modelos que posso executar em 25 GB de RAM ou menos no meu próprio laptop.

Se você está procurando um modelo de codificação competente, pode executar localmente QWEN3-CODER-30B-A3B é uma escolha muito sólida.



Source link

Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *