Использование gptel с Novita AI: подробное руководство

Использование gptel с Novita AI: подробное руководство

В быстро меняющемся ландшафте разработки AI интеграция мощных языковых моделей в привычные среды разработки становится всё более важной. В этой статье рассматривается, как разработчики могут использовать API Novita AI внутри gptel — Emacs-клиента для LLM. Объединяя передовые модели Novita AI с бесшовной интеграцией gptel в Emacs, разработчики могут значительно улучшить свои AI-ориентированные рабочие процессы, не покидая любимого текстового редактора.

Что такое gptel

gptel — это универсальный LLM-клиент для чата, созданный специально для пользователей Emacs. Он поддерживает множество моделей и бэкендов, работая бесшовно в любом буфере Emacs. Благодаря единообразному интерфейсу и использованию «на месте» gptel воплощает философию Emacs: расширяемость и доступность. Внутри gptel использует Curl, если он доступен, что обеспечивает надежную работу с HTTP, но также поддерживает url-retrieve для окружений без внешних зависимостей. Такая двойная совместимость позволяет настроить gptel в самых разных конфигурациях Emacs.

Возможности gptel

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

gptel обладает множеством функций, направленных на повышение продуктивности:

  • Асинхронная и быстрая работа: потоковая передача ответов прямо в Emacs.
  • Поддержка нескольких LLM: выбирайте из различных моделей, таких как Mythomax, Llama и Qwen.
  • Настраиваемые рабочие процессы: изменяйте работу gptel с помощью простого API.
  • Контекстно-зависимые взаимодействия: динамически добавляйте в запросы регионы, буферы или файлы.
  • Поддержка разметки Markdown/Org: эффективное форматирование ответов LLM.
  • Мультимодальная поддержка: работайте с текстом, изображениями и документами.
  • Управление беседами: сохраняйте, возобновляйте и разветвляйте беседы по мере необходимости.
  • Интерактивные настройки запросов: просматривайте и изменяйте подсказки перед отправкой.
  • Возможность интроспекции: проверяйте и изменяйте запросы перед отправкой для обеспечения точности и релевантности.
  • Редактируемые беседы: возвращайтесь назад и редактируйте предыдущие подсказки или ответы LLM во время беседы. Эти изменения передаются обратно модели, что позволяет динамически корректировать ход диалога.

Как загрузить gptel

Установка gptel проста:

  1. С помощью менеджера пакетов Emacs:
    • Выполните M-x package-install RET gptel RET.
    • Для стабильной версии добавьте MELPA-stable в ваши источники пакетов.
  2. Через Straight:
    • Добавьте (straight-use-package 'gptel) в вашу конфигурацию.

(Опционально) Установите markdown-mode для лучшего форматирования и улучшенного взаимодействия в чате.

  1. Установка вручную:
    • Склонируйте репозиторий с GitHub.
    • Выполните M-x package-install-file RET на директории репозитория.
  2. С использованием Doom Emacs:
    • В packages.el
      (package! gptel)

    • В config.el
      (use-package! gptel :config (setq! gptel-api-key “your key”))

      «your key» может быть самим API-ключом или (безопаснее) функцией, возвращающей ключ. Установка gptel-api-key необязательна; если ключ не найден, будет выдан запрос.

  3. С использованием Spacemacs:
    • В файле .spacemacs добавьте llm-client в dotspacemacs-configuration-layers.
      (llm-client :variables llm-client-enable-gptel t)

Доступ к API Novita AI в gptel

Интеграция API Novita AI с gptel открывает расширенные возможности LLM:

  1. Протестируйте различные LLM в LLM Playground от Novita AI бесплатно.
  2. Перейдите на страницу управления ключами Novita AI, чтобы получить API-ключ LLM для использования с gptel.
  3. Зарегистрируйте Novita AI как бэкенд:
(gptel-make-openai "NovitaAI"
  :host "api.novita.ai"
  :endpoint "/v3/openai"
  :key "your-api-key"
  :stream t
  :models '(
    gryphe/mythomax-l2-13b
    meta-llama/llama-3-70b-instruct
    meta-llama/llama-3.1-70b-instruct))
  1. Замените "your-api-key" на ваш API-ключ Novita AI.
  2. Установите Novita AI как бэкенд по умолчанию:
(setq
  gptel-model   'gryphe/mythomax-l2-13b
  gptel-backend
  (gptel-make-openai "NovitaAI"
    :host "api.novita.ai"
    :endpoint "/v3/openai"
    :key "your-api-key"
    :stream t
    :models '(
      mistralai/Mixtral-8x7B-Instruct-v0.1
      meta-llama/llama-3-70b-instruct
      meta-llama/llama-3.1-70b-instruct)))

Как использовать gptel

Команды gptel гибки и интуитивно понятны:

  • Общие запросы: Используйте M-x gptel-send, чтобы отправить текст до курсора. Ответ будет вставлен ниже, и вы сможете легко продолжить беседу.
  • Выделенные буферы чата:
    • Начните новую сессию или переключитесь на существующую с помощью M-x gptel.
    • Используйте C-c RET для интерактивной отправки подсказок.
    • Сохраняйте и восстанавливайте сессии чата без усилий, обеспечивая согласованность рабочего процесса.
  • Динамическое изменение поведения: Выполните C-u M-x gptel-send, чтобы настроить параметры чата, такие как провайдер LLM, бэкенд или системное сообщение для конкретной задачи.
  • Расширенные возможности Org mode:
    • Разветвляйте беседы с помощью заголовков Org для структурированного взаимодействия.
    • Используйте gptel-org-set-properties, чтобы объявить настройки чата под определенными заголовками — создавайте воспроизводимые LLM-блокноты.
  • Мультимодальная поддержка:
    • Добавляйте текстовые, графические или документные файлы в контекст беседы с помощью gptel-add-file или через транзиентное меню. Это позволяет выполнять более насыщенные и контекстно-зависимые запросы.
    • Управляйте контекстом динамически: включайте или исключайте регионы, буферы или файлы по мере необходимости.

Заключение

Объединяя gptel с API Novita AI, разработчики получают доступ к мощным и гибким инструментам для разработки AI. Будь то оттачивание рабочих процессов или изучение возможностей новых моделей — gptel и API Novita AI делают этот процесс простым и эффективным. Готовы начать? Изучите LLM Playground уже сегодня!

Часто задаваемые вопросы

Могу ли я использовать gptel для нестандартных рабочих процессов?

Да, gptel предоставляет функцию gptel-request, которая позволяет создавать собственные рабочие процессы за пределами gptel-send.

Как включить автоматическую прокрутку?

Добавьте в свою конфигурацию:
(add-hook 'gptel-post-stream-hook 'gptel-auto-scroll)

Как изменить форматирование подсказок/ответов?

Настройте gptel-prompt-prefix-alist и gptel-response-prefix-alist для конкретных режимов.

Поддерживает ли gptel медиа?

Да, gptel поддерживает мультимодальные модели для работы с текстом, изображениями и документами.

Как настроить параметры, специфичные для буфера чата?

Вы можете задать параметры чата, такие как модель, бэкенд и директивы, отдельно для каждого буфера с помощью транзиентного меню. Вызовите C-u M-x gptel-send, чтобы интерактивно получить доступ к этим настройкам.

Что такое транзиентное меню и как его эффективно использовать?

Транзиентное меню позволяет динамически изменять поведение gptel, включая контекст, перенаправление ввода/вывода и настройки запросов. Доступ к нему осуществляется вызовом C-u M-x gptel-send или gptel-menu. Для продвинутого использования обратитесь к репозиторию GitHub за примерами и документацией. Могу ли я использовать gptel для нестандартных рабочих процессов? Да, gptel предоставляет функцию gptel-request, которая позволяет создавать собственные рабочие процессы за пределами gptel-send.

Как включить автоматическую прокрутку?

Добавьте в свою конфигурацию:
(add-hook 'gptel-post-stream-hook 'gptel-auto-scroll)

Как изменить форматирование подсказок/ответов?

Настройте gptel-prompt-prefix-alist и gptel-response-prefix-alist для конкретных режимов.

Поддерживает ли gptel медиа?

Да, gptel поддерживает мультимодальные модели для работы с текстом, изображениями и документами.

Novita AI — это облачная AI-платформа, которая предоставляет разработчикам простой способ развертывания AI-моделей с помощью нашего простого API, а также предлагает доступные и надежные GPU-облака для построения и масштабирования.