tidyverse/ellmer

Call LLM APIs from R

何を解決するか

ellmer は、R プログラミング言語に大規模言語モデル(LLM)を統合するための統一的で使いやすいインターフェースを提供します。複数の異なる API プロバイダーと認証方法を管理する複雑さを排除し、R ユーザーがクラウドプロバイダーのモデルやローカル LLM の間をコードを再書き込みせずに切り替えることができます。

仕組み

このパッケージは、状態を保持する R6 オブジェクトを使用して会話の管理を行います。ユーザーは chat_openai()chat_ollama() などのプロバイダー固有の関数を使ってチャットオブジェクトを作成し、複数のクエリにわたって会話履歴(コンテキスト)を維持します。複数の操作モードをサポート:直接通信用のインタラクティブなチャットコンソール、スクリプトベースのインタラクション用のプログラム的メソッド呼び出し、content_image_file() および content_image_url() を通じた画像などのマルチモーダル入力のサポート。

対象ユーザー

R ユーザー、データサイエンティスト、研究者で、R 環境内で LLM をデータ分析、コード生成、アプリケーション開発に活用したい方。

特徴

  • 広範なプロバイダー対応:公式プロバイダー(Anthropic、OpenAI、Google、AWS Bedrock、Azure OpenAI、Databricks、Snowflake)およびコミュニティ支援プロバイダー(Groq、Mistral、Hugging Face など)をサポート。
  • 柔軟な操作方法:ライブインタラクティブコンソールとプログラム的アクセスの両方を提供。
  • 高度な LLM 機能:ストリーミング出力、ツール/関数呼び出し、構造化データ抽出を実装。
  • シームレスな認証:主要クラウドプロバイダーの OAuth や IAM ベースの資格情報を自動検出。
  • ローカル LLM 統合:Ollama と統合し、データプライバシーを確保し、コストゼロでローカルでモデルを実行可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト