ellmer_readme

https://github.com/tidyverse/ellmer

https://ellmer.tidyverse.org

A hacker’s guide to open source LLMs

Learning more

ellmer comes with a bunch of vignettes to help you learn more:

  • Learn key vocabulary and see example use cases in vignette("ellmer").

  • Learn how to design your prompt in vignette("prompt-design").

  • Learn about tool/function calling in vignette("tool-calling").

  • Learn how to extract structured data in vignette("structured-data").

  • Learn about streaming and async APIs in vignette("streaming-async").

ellmer: 使用 R 语言调用大型语言模型

Call LLM APIs from R

项目概览 / Overview

属性
仓库地址 tidyverse/ellmer
版本 0.1.1 (Latest)
许可证 MIT
语言 R 100%

Code
#------------------------------------------------------------r20250226110634
install.packages("ellmer")  # 从CRAN安装 / Install from CRAN

核心功能 / Key Features

支持的模型提供商 / Supported Providers

  • Anthropic’s Claude: chat_claude().
  • AWS Bedrock: chat_bedrock().
  • Azure OpenAI: chat_azure().
  • Databricks: chat_databricks().
  • DeepSeek: chat_deepseek().
  • GitHub model marketplace: chat_github().
  • Google Gemini: chat_gemini().
  • Groq: chat_groq().
  • Ollama: chat_ollama().
  • OpenAI: chat_openai().
  • OpenRouter: chat_openrouter().
  • perplexity.ai: chat_perplexity().
  • Snowflake Cortex: chat_snowflake() and chat_cortex_analyst().
  • VLLM: chat_vllm().

模型选择的现在

对于组织,有很多的限制到云上的api

Code
#------------------------------------------------------------r20250226111421
library(ellmer)
Code
#------------------------------------------------------------r20250226122533

# 本地Ollama调用示例 / Local Ollama example
library(ellmer)
chat <- chat_ollama(model = "deepseek-r1:32b")

特色功能 / Features

  1. 流式输出响应 / Streaming outputs
  2. 工具函数调用 / Tool/function calling
  3. 结构化数据提取 / Structured data extraction
  4. 多模态支持(图像分析) / Multimodal inputs

认证配置 / Authentication

API密钥管理 / API Keys

# 推荐使用环境变量存储密钥 / Store keys in environment variables
Sys.setenv(
  ANTHROPIC_API_KEY = "your_key",
  OPENAI_API_KEY = "your_key"
)

云服务认证 / Cloud Providers

  • Azure/Bedrock/Databricks 自动检测IAM凭证
  • Posit Workbench/Connect 集成支持

使用示例 / Usage Examples

交互式控制台 / Interactive Console

live_console(chat)  # 启动命令行交互 / Start CLI chat
#> Entering chat console. Use""" for multi-line input.
#> Press Ctrl+C to quit.

编程式调用 / Programmatic Usage

# 基础问答 / Basic QA
response <- chat$chat("R语言的主要创造者是谁?")
print(response)
#> Ross Ihaka和Robert Gentleman于1993年创建

# 图像分析 / Image Analysis
chat$chat(
  content_image_url("https://example.com/logo.png"),
  "请描述这个logo的设计特点"
)

多轮对话 / Multi-turn Chat

chat$chat("量子纠缠的基本原理是什么?")      # 第一轮提问 / First query
chat$chat("这对量子计算有什么影响?")        # 延续对话 / Follow-up

部署建议 / Deployment

本地模型优化 / Local Models

# 启动Ollama服务器 / Start Ollama server
OLLAMA_MODEL=deepseek-r1:32b ollama serve

性能参数 / Performance Tuning

chat_ollama(
  model = "deepseek-r1:32b",
  temperature = 0.7,        # 控制创造性 / Creativity control
  max_tokens = 1000,        # 最大输出长度 / Max output length
  top_p = 0.9               # 核心采样率 / Nucleus sampling
)

资源链接 / Resources