在 gptel 中使用 Novita AI:完整指南

在 gptel 中使用 Novita AI:完整指南

在 AI 開發快速演進的時代,將強大的語言模型整合進熟悉的開發環境已變得至關重要。本文將探討開發者如何透過 gptel(一款基於 Emacs 的 LLM 用戶端)來運用 Novita AI API。結合 Novita AI 的先進模型與 gptel 無縫的 Emacs 整合,開發者無需離開偏好的文字編輯器,就能大幅提升 AI 驅動的工作流程。

什麼是 gptel

gptel 是專為 Emacs 使用者設計的多功能 LLM 聊天用戶端。它支援多種模型與後端,可在任何 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。
  • 可自訂的工作流程:透過簡單的 API 修改 gptel 的操作。
  • 情境感知互動:可動態將區域、緩衝區或檔案加入查詢。
  • Markdown/Org 標記支援:有效格式化 LLM 回應。
  • 多模態支援:可處理文字、影像與文件。
  • 對話管理:可依需求儲存、恢復與分支對話。
  • 互動式查詢調整:在發送前預覽並修改提示。
  • 內省能力:在發送前檢查與修改查詢,確保準確性與相關性。
  • 可編輯對話:可在對話中回退編輯先前的提示或 LLM 回應。這些編輯會回饋給模型,允許動態調整。

如何下載 gptel

安裝 gptel 非常簡單:

  1. 使用 Emacs 套件管理器
    • 執行 M-x package-install RET gptel RET
    • 若需穩定版本,請將 MELPA-stable 加入套件來源。
  2. Straight
    • 在設定中加入 (straight-use-package 'gptel)
  3. (選用)安裝 markdown-mode 以獲得更好的格式與增強的聊天互動。
  4. 手動安裝
    • GitHub 複製儲存庫。
    • 在儲存庫目錄上執行 M-x package-install-file RET
  5. 使用 Doom Emacs
    • packages.el 中加入
      (package! gptel)

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

      「your key」可以是 API 金鑰本身,或(更安全)一個回傳金鑰的函式。設定 gptel-api-key 為選擇性,若未找到金鑰將會提示您輸入。

  6. 使用 Spacemacs
    • 在您的 .spacemacs 檔案中,將 llm-client 加入 dotspacemacs-configuration-layers
      (llm-client :variables llm-client-enable-gptel t)

在 gptel 中存取 Novita AI API

將 Novita AI API 與 gptel 整合,可解鎖先進的 LLM 功能:

  1. 在 Novita AI 的 LLM Playground 免費測試各種 LLM。
  2. 前往 Novita AI 的金鑰管理 頁面,取得用於 gptel 的 LLM API 金鑰。
  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" 替換為您的 Novita AI API 金鑰。
  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 模式功能
    • 使用 Org 標題分支對話,實現結構化互動。
    • 使用 gptel-org-set-properties 在特定標題下宣告聊天設定,建立可重現的 LLM 筆記本。
  • 多模態支援
    • 使用 gptel-add-file 或透過瞬態選單將文字、影像或文件檔案加入對話情境。這能實現更豐富、具情境感知的查詢。
    • 根據需要動態管理情境,包含或移除區域、緩衝區或檔案。

結論

透過將 gptel 與 Novita AI API 結合,開發者可以存取功能強大且靈活的 AI 開發工具。無論是要優化工作流程,還是探索新的模型能力,gptel 與 Novita AI 的 API 都能讓過程順暢高效。準備好開始了嗎?立即探索 LLM Playground

常見問題

我可以將 gptel 用於非標準的工作流程嗎?

可以,gptel 提供了 gptel-request 函式,允許超越 gptel-send 的自訂工作流程。

如何啟用自動捲動?

在您的設定中加入以下內容:
(add-hook 'gptel-post-stream-hook 'gptel-auto-scroll)

如何更改提示/回應格式?

針對特定模式自訂 gptel-prompt-prefix-alistgptel-response-prefix-alist

gptel 支援多媒體嗎?

是的,gptel 支援多模態模型,可處理文字、影像與文件。

如何設定聊天緩衝區專屬選項?

您可以透過瞬態選單以每個緩衝區為基礎設定模型、後端與指示等聊天參數。呼叫 C-u M-x gptel-send 以互動方式存取這些設定。

什麼是瞬態選單,如何有效使用它?

瞬態選單允許您動態調整 gptel 的行為,包括情境、輸入/輸出重新導向及查詢偏好。可透過呼叫 C-u gptel-sendgptel-menu 存取。進階用法請參閱 GitHub 儲存庫 中的範例與文件。

我可以將 gptel 用於非標準的工作流程嗎?可以,gptel 提供了 gptel-request 函式,允許超越 gptel-send 的自訂工作流程。

如何啟用自動捲動?

在您的設定中加入以下內容:
(add-hook 'gptel-post-stream-hook 'gptel-auto-scroll)

如何更改提示/回應格式?

針對特定模式自訂 gptel-prompt-prefix-alistgptel-response-prefix-alist

gptel 支援多媒體嗎?

是的,gptel 支援多模態模型,可處理文字、影像與文件。

Novita AI 是一個 AI 雲端平台,為開發者提供透過簡單 API 部署 AI 模型的簡易途徑,同時也提供經濟且可靠的 GPU 雲端來建置與擴展應用。