複数のAIプロバイダーでチャット、ストリーミング、ツール呼び出し、構造化出力を共通のインターフェースで扱えるPythonライブラリ。
tidyverse/ellmer
Rから大規模言語モデルのAPIを呼び出すためのRパッケージ。チャット、ストリーミング、ツール呼び出し、構造化データ抽出に対応。
- スター
- 622
- フォーク
- 145
- 未解決の Issue
- 69
- 最終コミット
- 昨日
これは何?
ellmerを使うと、RユーザーはRのコードやコンソールから大規模言語モデルを呼び出せます。Anthropic、OpenAI、Google Gemini、AWS Bedrock、Azure OpenAI、Ollamaや、コミュニティがメンテナンスする複数のサービスに対応しており、ホスト型モデルでもローカルで実行するモデルでも、同じワークフローを利用できます。
チャットオブジェクトは、会話のコンテキストを保持するステートフルなR6オブジェクトです。そのため、各クエリはそれまでの会話を踏まえて実行されます。応答はコンソールにストリーミング表示することも、文字列として返すことも、チャットコンソールやブラウザで対話的に利用することもできます。画像はファイルまたはURLで渡せます。
通常のチャットに加えて、ellmerはツール呼び出しや関数呼び出し、構造化データの抽出、ストリーミングAPIと非同期APIに対応しています。認証には環境変数に保存したAPIキーを使用でき、主要なクラウドプラットフォームのOAuth認証情報やIAM認証情報の多くも自動検出できます。
主な機能
- 01複数のLLMプロバイダーと、共通のchat_*()関数を通じてチャットできます。
- 02ステートフルなチャットオブジェクトが、呼び出しをまたいで会話のコンテキストを保持します。
- 03応答をコンソールにストリーミング表示したり、文字列として取得したりできます。
- 04Rの関数からツールや関数を呼び出せます。
- 05モデルの応答から構造化データを抽出できます。
- 06Rコンソールやブラウザで対話的にチャットでき、ファイルやURLから画像を入力できます。
ユースケース
- Rの分析スクリプトに、LLMを活用した要約や分類を追加する。
- テキストから構造化された項目を抽出し、データフレームにまとめる。
- データを自分のマシン内に保ったまま、Ollamaを通じてローカルモデルを実行する。
- モデルから独自のR関数を呼び出すRツールを構築する。
クイックスタート
- 1
ellmerをCRANからインストールする
install.packages("ellmer") - 2
パッケージを読み込み、チャットオブジェクトを作成する(プロバイダーのAPIキーを環境変数に保存しておく必要があります)
library(ellmer) chat <- chat_openai("Be terse", model = "gpt-5.4-mini")
使う前に知っておきたいこと
- 多くのホスト型プロバイダーではAPIキーが必要で、利用料金が発生する場合があります。
- ライフサイクルは実験的とされているため、APIが変更される可能性があります。
- メタデータでライセンスが明確に特定されていません。
収録されている特集
トピック
よくある質問
- ellmer とは?
- Rから大規模言語モデルのAPIを呼び出すためのRパッケージ。チャット、ストリーミング、ツール呼び出し、構造化データ抽出に対応。 ellmerを使うと、RユーザーはRのコードやコンソールから大規模言語モデルを呼び出せます。Anthropic、OpenAI、Google Gemini、AWS Bedrock、Azure OpenAI、Ollamaや、コミュニティがメンテナンスする複数のサービスに対応しており、ホスト型モデルでもローカルで実行するモデルでも、同じワークフローを利用できます。
- ellmer は無料で使えますか?ライセンスは?
- ellmer は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ellmer は今もメンテナンスされていますか?
- 活発にメンテナンス中。ellmer の最終コミットは 2026年11月6日 です。
- ellmer は何に使えますか?
- Rの分析スクリプトに、LLMを活用した要約や分類を追加する。 テキストから構造化された項目を抽出し、データフレームにまとめる。 データを自分のマシン内に保ったまま、Ollamaを通じてローカルモデルを実行する。 モデルから独自のR関数を呼び出すRツールを構築する。
- ellmer のインストール方法は?
- ellmerをCRANからインストールする: install.packages("ellmer") パッケージを読み込み、チャットオブジェクトを作成する(プロバイダーのAPIキーを環境変数に保存しておく必要があります): library(ellmer) chat <- chat_openai("Be terse", model = "gpt-5.4-mini")
- ellmer はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/tidyverse/ellmer
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
チャット、ツール、エージェント、埋め込み、Rails連携を単一のAPIで実現する、LLM機能開発向けRubyフレームワーク。
Responses、Chat Completions、Realtimeなどに対応した、OpenAI REST API公式Goクライアントライブラリ。
主要なLLMプロバイダーやUIフレームワークに対応した、ストリーミングチャット、ツール呼び出し、エージェント、マルチモーダルアプリ向けの型安全でプロバイダー非依存なTypeScript SDK。
OpenAI Responses APIに着想を得た、LLM API向けのプロバイダー非依存な共通リクエスト・レスポンス・ストリーミングモデルを定義するオープン仕様。