Usando gptel com Novita AI: Um Guia Abrangente

Usando gptel com Novita AI: Um Guia Abrangente

No cenário em rápida evolução do desenvolvimento de IA, a integração de modelos de linguagem poderosos em ambientes de desenvolvimento familiares tornou-se crucial. Este artigo explora como os desenvolvedores podem aproveitar a API da Novita AI dentro do gptel, um cliente LLM baseado em Emacs. Ao combinar os modelos avançados da Novita AI com a integração perfeita do gptel no Emacs, os desenvolvedores podem aprimorar significativamente seus fluxos de trabalho baseados em IA sem sair do seu editor de texto preferido.

O que é gptel

gptel é um cliente de chat LLM versátil, adaptado para usuários de Emacs. Ele suporta vários modelos e backends, funcionando perfeitamente em qualquer buffer do Emacs. Com sua interface uniforme e uso no local, o gptel incorpora a filosofia do Emacs de extensibilidade e acessibilidade. Internamente, o gptel depende do Curl se disponível, fornecendo capacidades HTTP robustas, mas também suporta url-retrieve para ambientes sem dependências externas. Essa dupla compatibilidade garante que o gptel possa ser configurado em uma ampla variedade de configurações do Emacs.

Recursos do gptel

https://www.youtube.com/watch?v=bsRnh\_brggM

O gptel vem repleto de recursos projetados para maximizar a produtividade:

  • Operações assíncronas e rápidas: Transmite respostas diretamente para o Emacs.
  • Suporte a múltiplos LLMs: Escolha entre vários modelos, como Mythomax, Llama e Qwen.
  • Fluxos de trabalho personalizáveis: Modifique as operações do gptel usando uma API simples.
  • Interações sensíveis ao contexto: Adicione regiões, buffers ou arquivos dinamicamente às consultas.
  • Suporte a formatação Markdown/Org: Formate as respostas dos LLMs de forma eficaz.
  • Suporte multimodal: Trabalhe com texto, imagens e documentos.
  • Gerenciamento de conversas: Salve, retome e ramifique conversas conforme necessário.
  • Ajustes interativos nas consultas: Visualize e modifique os prompts antes de enviá-los.
  • Capacidades de introspecção: Inspecione e modifique consultas antes de enviá-las para garantir precisão e relevância.
  • Conversas editáveis: Volte e edite prompts anteriores ou respostas dos LLMs durante uma conversa. Essas edições são realimentadas ao modelo, permitindo ajustes dinâmicos.

Como Baixar o gptel

Instalar o gptel é simples:

  1. Usando o gerenciador de pacotes do Emacs:
    • Execute M-x package-install RET gptel RET.
    • Para uma versão estável, adicione MELPA-stable às suas fontes de pacotes.
  2. Straight:
    • Adicione (straight-use-package 'gptel) à sua configuração.

(Opcional) Instale markdown-mode para melhor formatação e interações de chat aprimoradas.

  1. Instalação Manual:
    • Clone o repositório do GitHub.
    • Execute M-x package-install-file RET no diretório do repositório.
  2. Usando Doom Emacs:
    • Em packages.el
      (package! gptel)

    • Em config.el
      (use-package! gptel :config (setq! gptel-api-key “sua chave”))

      “sua chave” pode ser a chave da API em si, ou (mais seguro) uma função que retorna a chave. Definir gptel-api-key é opcional; se não for encontrada, será solicitada uma chave.

  3. Usando Spacemacs:
    • No seu arquivo .spacemacs, adicione llm-client a dotspacemacs-configuration-layers.
      (llm-client :variables llm-client-enable-gptel t)

Acessar a API da Novita AI no gptel

Integrar a API da Novita AI com o gptel desbloqueia capacidades avançadas de LLM:

  1. Teste vários LLMs no LLM Playground da Novita AI sem custo.
  2. Navegue até a página de gerenciamento de chaves da Novita AI para obter a chave da API LLM para usar com o gptel.
  3. Registre a Novita AI como um backend:
(gptel-make-openai "NovitaAI"
  :host "api.novita.ai"
  :endpoint "/v3/openai"
  :key "sua-chave-api"
  :stream t
  :models '(
    gryphe/mythomax-l2-13b
    meta-llama/llama-3-70b-instruct
    meta-llama/llama-3.1-70b-instruct))
  1. Substitua "sua-chave-api" pela sua chave de API da Novita AI.
  2. Defina a Novita AI como backend padrão:
(setq
  gptel-model   'gryphe/mythomax-l2-13b
  gptel-backend
  (gptel-make-openai "NovitaAI"
    :host "api.novita.ai"
    :endpoint "/v3/openai"
    :key "sua-chave-api"
    :stream t
    :models '(
      mistralai/Mixtral-8x7B-Instruct-v0.1
      meta-llama/llama-3-70b-instruct
      meta-llama/llama-3.1-70b-instruct)))

Como Usar o gptel

Os comandos do gptel são flexíveis e intuitivos:

  • Consultas gerais: Use M-x gptel-send para enviar texto até o cursor. A resposta será inserida abaixo, e você pode continuar a conversa perfeitamente.
  • Buffers de chat dedicados:
    • Inicie uma nova sessão ou mude para uma existente usando M-x gptel.
    • Use C-c RET para enviar prompts interativamente.
    • Salve e restaure suas sessões de chat sem esforço, garantindo fluxos de trabalho consistentes.
  • Modifique o comportamento dinamicamente: Execute C-u M-x gptel-send para ajustar parâmetros do chat, como o provedor de LLM, backend ou mensagem do sistema para tarefas específicas.
  • Recursos aprimorados do Org mode:
    • Ramifique conversas usando cabeçalhos Org para interações estruturadas.
    • Use gptel-org-set-properties para declarar configurações de chat sob cabeçalhos específicos, criando cadernos LLM reproduzíveis.
  • Suporte multimodal:
    • Adicione arquivos de texto, imagem ou documento ao contexto da conversa com gptel-add-file ou através do menu transitório. Isso permite consultas mais ricas e conscientes do contexto.
    • Gerencie o contexto dinamicamente, incluindo ou removendo regiões, buffers ou arquivos conforme necessário.

Conclusão

Ao combinar o gptel com a API da Novita AI, os desenvolvedores podem acessar ferramentas poderosas e flexíveis para desenvolvimento com IA. Seja refinando fluxos de trabalho ou explorando novas capacidades de modelos, o gptel e a API da Novita AI tornam o processo contínuo e eficiente. Pronto para começar? Explore o LLM Playground hoje!

Perguntas Frequentes

Posso usar o gptel para fluxos de trabalho não padrão?

Sim, o gptel fornece a função gptel-request, permitindo fluxos de trabalho personalizados além do gptel-send.

Como ativar a rolagem automática?

Adicione isto à sua configuração:
(add-hook 'gptel-post-stream-hook 'gptel-auto-scroll)

Como alterar a formatação de prompt/resposta?

Personalize gptel-prompt-prefix-alist e gptel-response-prefix-alist para modos específicos.

O gptel suporta mídia?

Sim, o gptel suporta modelos multimodais para lidar com texto, imagens e documentos.

Como configurar opções específicas do buffer de chat?

Você pode definir parâmetros de chat como modelo, backend e diretivas por buffer usando o menu transitório. Chame C-u M-x gptel-send para acessar essas configurações interativamente.

O que é o menu transitório e como usá-lo efetivamente?

O menu transitório permite ajustar dinamicamente o comportamento do gptel, incluindo contexto, redirecionamento de entrada/saída e preferências de consulta. Acesse-o chamando C-u gptel-send ou gptel-menu. Para uso avançado, consulte o repositório GitHub para exemplos e documentação. Posso usar o gptel para fluxos de trabalho não padrão? Sim, o gptel fornece a função gptel-request, permitindo fluxos de trabalho personalizados além do gptel-send.

Como ativar a rolagem automática?

Adicione isto à sua configuração:
(add-hook 'gptel-post-stream-hook 'gptel-auto-scroll)

Como alterar a formatação de prompt/resposta?

Personalize gptel-prompt-prefix-alist e gptel-response-prefix-alist para modos específicos.

O gptel suporta mídia?

Sim, o gptel suporta modelos multimodais para lidar com texto, imagens e documentos.

Novita AI é uma plataforma de nuvem de IA que oferece aos desenvolvedores uma maneira fácil de implantar modelos de IA usando nossa API simples, além de fornecer GPU em nuvem acessível e confiável para construir e escalar.