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 集成,可在本地运行模型,确保数据隐私且零成本。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目