tidyverse/ellmer

Call LLM APIs from R

解決的問題

ellmer 為將大型語言模型(LLMs)整合至 R 程式語言中,提供一個統一且易於使用的介面。它消除了管理多個不同 API 提供者與驗證方式的複雜性,讓 R 使用者無需重寫程式碼,即可在不同雲端提供者模型或本地 LLM 之間自由切換。

工作原理

該套件使用具狀態的 R6 物件來管理對話。使用者透過特定於提供者的函數(例如 chat_openai()chat_ollama())建立聊天物件,該物件可在多次查詢之間維持對話歷史(上下文)。支援多種互動模式:用於直接通訊的互動式聊天控制台、用於腳本互動的程式化方法呼叫,以及透過 content_image_file()content_image_url() 支援影像等多模態輸入。

適用對象

適用於希望在 R 環境中利用 LLM 進行資料分析、程式碼產生或應用開發的 R 使用者、資料科學家與研究人員。

主要特色

  • 廣泛的提供者支援:支援眾多官方提供者(Anthropic、OpenAI、Google、AWS Bedrock、Azure OpenAI、Databricks、Snowflake)以及社群支援的提供者(Groq、Mistral、Hugging Face 等)。
  • 彈性的互動方式:提供即時互動式控制台與程式化存取兩種方式。
  • 進階 LLM 功能:實作串流輸出、工具/函數呼叫與結構化資料萃取。
  • 無縫驗證:自動偵測主要雲端提供者的 OAuth 或 IAM 基礎憑證。
  • 本地 LLM 整合:與 Ollama 整合,可在本地執行模型,確保資料隱私且零成本。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案